diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-02-10 15:44:00 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-02-10 15:44:00 -0800 |
commit | 498e5e4ad10920a9cfae6fdb7ffb19a6ed936ba7 (patch) | |
tree | 13d9b7c37da5daa52b9a744a11e4660c7f6aa917 /WebKit/android/plugins/ANPCanvasInterface.cpp | |
parent | f7e76168422a049a356179665d34ddfb74184920 (diff) | |
download | external_webkit-498e5e4ad10920a9cfae6fdb7ffb19a6ed936ba7.zip external_webkit-498e5e4ad10920a9cfae6fdb7ffb19a6ed936ba7.tar.gz external_webkit-498e5e4ad10920a9cfae6fdb7ffb19a6ed936ba7.tar.bz2 |
auto import from //branches/cupcake/...@130745
Diffstat (limited to 'WebKit/android/plugins/ANPCanvasInterface.cpp')
-rw-r--r-- | WebKit/android/plugins/ANPCanvasInterface.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/WebKit/android/plugins/ANPCanvasInterface.cpp b/WebKit/android/plugins/ANPCanvasInterface.cpp index 96498ef..ba79691 100644 --- a/WebKit/android/plugins/ANPCanvasInterface.cpp +++ b/WebKit/android/plugins/ANPCanvasInterface.cpp @@ -69,6 +69,31 @@ static void anp_clipPath(ANPCanvas* canvas, const ANPPath* path) { canvas->skcanvas->clipPath(*path); } +static void anp_getTotalMatrix(ANPCanvas* canvas, ANPMatrix* matrix) { + const SkMatrix& src = canvas->skcanvas->getTotalMatrix(); + *matrix = *reinterpret_cast<const ANPMatrix*>(&src); +} + +static bool anp_getLocalClipBounds(ANPCanvas* canvas, ANPRectF* r, + bool antialias) { + SkRect bounds; + if (canvas->skcanvas->getClipBounds(&bounds, + antialias ? SkCanvas::kAA_EdgeType : SkCanvas::kBW_EdgeType)) { + SkANP::SetRect(r, bounds); + return true; + } + return false; +} + +static bool anp_getDeviceClipBounds(ANPCanvas* canvas, ANPRectI* r) { + const SkRegion& clip = canvas->skcanvas->getTotalClip(); + if (!clip.isEmpty()) { + SkANP::SetRect(r, clip.getBounds()); + return true; + } + return false; +} + static void anp_drawColor(ANPCanvas* canvas, ANPColor color) { canvas->skcanvas->drawColor(color); } @@ -146,6 +171,9 @@ void ANPCanvasInterfaceV0_Init(ANPInterface* value) { ASSIGN(i, skew); ASSIGN(i, clipRect); ASSIGN(i, clipPath); + ASSIGN(i, getTotalMatrix); + ASSIGN(i, getLocalClipBounds); + ASSIGN(i, getDeviceClipBounds); ASSIGN(i, drawColor); ASSIGN(i, drawPaint); ASSIGN(i, drawRect); |