summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/rendering/Tile.cpp
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2012-04-25 15:30:11 -0700
committerTeng-Hui Zhu <ztenghui@google.com>2012-04-26 09:47:40 -0700
commit485445e9a624fe92ca04a1d0e92c1f71aaf8cd8f (patch)
tree7181253b2cef71b38e00bbd0fbc38459c7870d45 /Source/WebCore/platform/graphics/android/rendering/Tile.cpp
parent2ad54828a335c8e7337ab1f1077253689630a6d2 (diff)
downloadexternal_webkit-485445e9a624fe92ca04a1d0e92c1f71aaf8cd8f.zip
external_webkit-485445e9a624fe92ca04a1d0e92c1f71aaf8cd8f.tar.gz
external_webkit-485445e9a624fe92ca04a1d0e92c1f71aaf8cd8f.tar.bz2
Support partial draw in terms of a rect.
In this way, we can cover any internal rect area of the tiles. bug:6338952 Change-Id: If236a7f6ad82a3f9126a692ca5b08240a3631f88
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering/Tile.cpp')
-rw-r--r--Source/WebCore/platform/graphics/android/rendering/Tile.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/Tile.cpp b/Source/WebCore/platform/graphics/android/rendering/Tile.cpp
index 0501777..2ee45b0 100644
--- a/Source/WebCore/platform/graphics/android/rendering/Tile.cpp
+++ b/Source/WebCore/platform/graphics/android/rendering/Tile.cpp
@@ -210,7 +210,7 @@ void Tile::setRepaintPending(bool pending)
bool Tile::drawGL(float opacity, const SkRect& rect, float scale,
const TransformationMatrix* transform,
bool forceBlending, bool usePointSampling,
- const FloatPoint& fillPortion)
+ const FloatRect& fillPortion)
{
if (m_x < 0 || m_y < 0 || m_scale != scale)
return false;
@@ -220,9 +220,11 @@ bool Tile::drawGL(float opacity, const SkRect& rect, float scale,
if (!m_frontTexture)
return false;
- if (fillPortion.x() < 1.0f || fillPortion.y() < 1.0f)
- ALOGV("drawing tile %p (%d, %d with fill portions %f %f",
- this, m_x, m_y, fillPortion.x(), fillPortion.y());
+ if (fillPortion.maxX() < 1.0f || fillPortion.maxY() < 1.0f
+ || fillPortion.x() > 0.0f || fillPortion.y() > 0.0f)
+ ALOGV("drawing tile %p (%d, %d with fill portions %f %f->%f, %f",
+ this, m_x, m_y, fillPortion.x(), fillPortion.y(),
+ fillPortion.maxX(), fillPortion.maxY());
m_frontTexture->drawGL(isLayerTile(), rect, opacity, transform,
forceBlending, usePointSampling, fillPortion);