From 32adb31007abb325eb77e393358d128db57c1bec Mon Sep 17 00:00:00 2001 From: John Reck Date: Thu, 3 May 2012 18:05:18 -0700 Subject: Fix the matrix Bug: 6442353 SkNWayCanvas needs to be translated as well or it screws up our clipping Change-Id: Ic8bb64aaa796f5cff58b0fab15062e6c8f5f0d23 --- Source/WebKit/android/jni/PicturePile.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'Source/WebKit') diff --git a/Source/WebKit/android/jni/PicturePile.cpp b/Source/WebKit/android/jni/PicturePile.cpp index 9ca3588..f3e46ac 100644 --- a/Source/WebKit/android/jni/PicturePile.cpp +++ b/Source/WebKit/android/jni/PicturePile.cpp @@ -183,6 +183,7 @@ void PicturePile::updatePicture(PicturePainter* painter, PictureContainer& pc) } else { drawArea.unite(pc.prerendered->area); SkNWayCanvas* nwayCanvas = new SkNWayCanvas(drawArea.width(), drawArea.height()); + nwayCanvas->translate(-drawArea.x(), -drawArea.y()); nwayCanvas->addCanvas(canvas); nwayCanvas->addCanvas(prerender); SkSafeUnref(canvas); @@ -284,25 +285,14 @@ void PicturePile::appendToPile(const IntRect& inval, const IntRect& originalInva PrerenderedInval* PicturePile::prerenderedInvalForArea(const IntRect& area) { - ALOGV("Checking for prerendered inval for area " INT_RECT_FORMAT, - INT_RECT_ARGS(area)); for (int i = (int) m_pile.size() - 1; i >= 0; i--) { if (m_pile[i].area.intersects(area)) { RefPtr inval = m_pile[i].prerendered; - if (inval.get() && inval->area.contains(area)) { - ALOGV("Returning prerendered %p for area " INT_RECT_FORMAT, - m_pile[i].prerendered.get(), INT_RECT_ARGS(area)); + if (inval.get() && inval->area.contains(area)) return inval.get(); - } - if (inval.get()) { - ALOGV("Prerendered area doesn't contain requested area; prerendered=" - INT_RECT_FORMAT, INT_RECT_ARGS(inval->area)); - } else - ALOGV("No prerendered in intersection"); return 0; } } - ALOGV("No containers found"); return 0; } -- cgit v1.1