From 9951c35e2c4732577794299a1a49eb8ff613e875 Mon Sep 17 00:00:00 2001 From: Mangesh Ghiware Date: Thu, 29 Mar 2012 14:14:34 -0700 Subject: Clip canvas to layer content on a draw. Bug: 6150903 Also, fix the visual indicator box coordinates to display right and bottom edges. Change-Id: I269f4dd3ae55eed77d9cbe67950c28ce1c789a51 --- Source/WebCore/platform/graphics/android/LayerAndroid.cpp | 8 ++++---- Source/WebCore/platform/graphics/android/PictureLayerContent.cpp | 2 ++ .../WebCore/platform/graphics/android/PictureSetLayerContent.cpp | 3 +++ 3 files changed, 9 insertions(+), 4 deletions(-) (limited to 'Source/WebCore/platform/graphics') diff --git a/Source/WebCore/platform/graphics/android/LayerAndroid.cpp b/Source/WebCore/platform/graphics/android/LayerAndroid.cpp index 167f7e7..b40e00a 100644 --- a/Source/WebCore/platform/graphics/android/LayerAndroid.cpp +++ b/Source/WebCore/platform/graphics/android/LayerAndroid.cpp @@ -909,10 +909,10 @@ void LayerAndroid::contentDraw(SkCanvas* canvas, PaintStyle style) canvas->drawLine(0, 0, w, h, paint); canvas->drawLine(0, h, w, 0, paint); - canvas->drawLine(0, 0, 0, h, paint); - canvas->drawLine(0, h, w, h, paint); - canvas->drawLine(w, h, w, 0, paint); - canvas->drawLine(w, 0, 0, 0, paint); + canvas->drawLine(0, 0, 0, h-1, paint); + canvas->drawLine(0, h-1, w-1, h-1, paint); + canvas->drawLine(w-1, h-1, w-1, 0, paint); + canvas->drawLine(w-1, 0, 0, 0, paint); } if (m_fixedPosition) diff --git a/Source/WebCore/platform/graphics/android/PictureLayerContent.cpp b/Source/WebCore/platform/graphics/android/PictureLayerContent.cpp index 6beed16..4398146 100644 --- a/Source/WebCore/platform/graphics/android/PictureLayerContent.cpp +++ b/Source/WebCore/platform/graphics/android/PictureLayerContent.cpp @@ -91,6 +91,8 @@ void PictureLayerContent::draw(SkCanvas* canvas) return; android::Mutex::Autolock lock(m_drawLock); + SkRect r = SkRect::MakeWH(width(), height()); + canvas->clipRect(r); canvas->drawPicture(*m_picture); } diff --git a/Source/WebCore/platform/graphics/android/PictureSetLayerContent.cpp b/Source/WebCore/platform/graphics/android/PictureSetLayerContent.cpp index c2c008b..8b72b0a 100644 --- a/Source/WebCore/platform/graphics/android/PictureSetLayerContent.cpp +++ b/Source/WebCore/platform/graphics/android/PictureSetLayerContent.cpp @@ -1,6 +1,7 @@ #include "config.h" #include "PictureSetLayerContent.h" +#include "SkCanvas.h" #include "SkPicture.h" namespace WebCore { @@ -21,6 +22,8 @@ void PictureSetLayerContent::draw(SkCanvas* canvas) return; android::Mutex::Autolock lock(m_drawLock); + SkRect r = SkRect::MakeWH(width(), height()); + canvas->clipRect(r); m_pictureSet.draw(canvas); } -- cgit v1.1