diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2012-04-25 15:30:11 -0700 |
---|---|---|
committer | Teng-Hui Zhu <ztenghui@google.com> | 2012-04-26 09:47:40 -0700 |
commit | 485445e9a624fe92ca04a1d0e92c1f71aaf8cd8f (patch) | |
tree | 7181253b2cef71b38e00bbd0fbc38459c7870d45 /Source/WebCore/platform/graphics/android/rendering/Tile.cpp | |
parent | 2ad54828a335c8e7337ab1f1077253689630a6d2 (diff) | |
download | external_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.cpp | 10 |
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); |