summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android
diff options
context:
space:
mode:
authorNicolas Roard <nicolasroard@google.com>2011-08-10 16:06:52 -0700
committerNicolas Roard <nicolasroard@google.com>2011-08-10 16:13:27 -0700
commit29c97ede6da941582b98f709215c48f88b5850a6 (patch)
tree11708d805f498429731f15c07d0b931b158f2c78 /Source/WebCore/platform/graphics/android
parent78fdfbadbd9b4ba76a2a021f85b98bc2b098b8ea (diff)
downloadexternal_webkit-29c97ede6da941582b98f709215c48f88b5850a6.zip
external_webkit-29c97ede6da941582b98f709215c48f88b5850a6.tar.gz
external_webkit-29c97ede6da941582b98f709215c48f88b5850a6.tar.bz2
Fix missing tiles
bug:5123881 Change-Id: Ia3f5e76bc38f32c756cb4e108fe153dd8e103bf3
Diffstat (limited to 'Source/WebCore/platform/graphics/android')
-rw-r--r--Source/WebCore/platform/graphics/android/TiledTexture.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/Source/WebCore/platform/graphics/android/TiledTexture.cpp b/Source/WebCore/platform/graphics/android/TiledTexture.cpp
index d975825..0efcfc3 100644
--- a/Source/WebCore/platform/graphics/android/TiledTexture.cpp
+++ b/Source/WebCore/platform/graphics/android/TiledTexture.cpp
@@ -63,8 +63,8 @@ void TiledTexture::prepare(GLWebViewState* state, bool repaint)
IntRect visibleArea = m_surface->visibleArea();
IntRect area(visibleArea.x() * m_surface->scale(),
visibleArea.y() * m_surface->scale(),
- visibleArea.width() * m_surface->scale(),
- visibleArea.height() * m_surface->scale());
+ ceilf(visibleArea.width() * m_surface->scale()),
+ ceilf(visibleArea.height() * m_surface->scale()));
for (unsigned int i = 0; i < m_tiles.size(); i++) {
BaseTile* tile = m_tiles[i];
@@ -82,16 +82,16 @@ void TiledTexture::prepare(GLWebViewState* state, bool repaint)
m_area.setX(area.x() / tileWidth);
m_area.setY(area.y() / tileHeight);
- m_area.setWidth(area.width() / tileWidth);
- m_area.setHeight(area.height() / tileHeight);
-
- if (m_area.width() * tileWidth < area.width())
- m_area.setWidth(m_area.width() + 1);
- if (m_area.height() * tileHeight < area.height())
- m_area.setHeight(m_area.height() + 1);
-
- XLOG("for TiledTexture %x, we have a visible area of %d x %d, corresponding to %d x %d tiles",
- this, visibleArea.width(), visibleArea.height(),
+ float right = (area.x() + area.width()) / (float) tileWidth;
+ float bottom = (area.y() + area.height()) / (float) tileHeight;
+ m_area.setWidth(ceilf(right) - m_area.x());
+ m_area.setHeight(ceilf(bottom) - m_area.y());
+
+ XLOG("for TiledTexture %x, we have a visible area of %d, %d - %d x %d, corresponding to %d, %d x - %d x %d tiles",
+ this,
+ visibleArea.x(), visibleArea.y(),
+ visibleArea.width(), visibleArea.height(),
+ m_area.x(), m_area.y(),
m_area.width(), m_area.height());
bool goingDown = m_prevTileY < m_area.y();