summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorNicolas Roard <nicolasroard@google.com>2011-08-10 16:18:29 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-08-10 16:18:29 -0700
commit4930744a9233f8d2518ca0ed96956a5b603c7b15 (patch)
tree6f4406ff993b7edbf9c9b6c84917535838018a21 /Source
parent9213a929b6c1bbea6d5342de2bd3115877e7e1aa (diff)
parent29c97ede6da941582b98f709215c48f88b5850a6 (diff)
downloadexternal_webkit-4930744a9233f8d2518ca0ed96956a5b603c7b15.zip
external_webkit-4930744a9233f8d2518ca0ed96956a5b603c7b15.tar.gz
external_webkit-4930744a9233f8d2518ca0ed96956a5b603c7b15.tar.bz2
Merge "Fix missing tiles"
Diffstat (limited to 'Source')
-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();