diff options
author | 2011-11-11 21:34:54 +0000 | |
---|---|---|
committer | 2011-11-11 21:34:54 +0000 | |
commit | 83ab49556ffc83fd3b2c1142db264362d21e6b19 (patch) | |
tree | 984c4c0070c32201dee468f2fa7a34ce29c49fff /src/core/SkPicturePlayback.cpp | |
parent | 74b98715a375e5e4863115d681386c9f5ec194f5 (diff) |
record doAA param for clipRect and clipPath in pictures
git-svn-id: http://skia.googlecode.com/svn/trunk@2669 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkPicturePlayback.cpp')
-rw-r--r-- | src/core/SkPicturePlayback.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index b75ae40215..d922051e3f 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -509,9 +509,11 @@ void SkPicturePlayback::draw(SkCanvas& canvas) { switch (fReader.readInt()) { case CLIP_PATH: { const SkPath& path = getPath(); - SkRegion::Op op = (SkRegion::Op) getInt(); + uint32_t packed = getInt(); + SkRegion::Op op = ClipParams_unpackRegionOp(packed); + bool doAA = ClipParams_unpackDoAA(packed); size_t offsetToRestore = getInt(); - if (!canvas.clipPath(path, op) && offsetToRestore) { + if (!canvas.clipPath(path, op, doAA) && offsetToRestore) { #ifdef SPEW_CLIP_SKIPPING skipPath.recordSkip(offsetToRestore - fReader.offset()); #endif @@ -520,7 +522,8 @@ void SkPicturePlayback::draw(SkCanvas& canvas) { } break; case CLIP_REGION: { const SkRegion& region = getRegion(); - SkRegion::Op op = (SkRegion::Op) getInt(); + uint32_t packed = getInt(); + SkRegion::Op op = ClipParams_unpackRegionOp(packed); size_t offsetToRestore = getInt(); if (!canvas.clipRegion(region, op) && offsetToRestore) { #ifdef SPEW_CLIP_SKIPPING @@ -531,9 +534,11 @@ void SkPicturePlayback::draw(SkCanvas& canvas) { } break; case CLIP_RECT: { const SkRect& rect = fReader.skipT<SkRect>(); - SkRegion::Op op = (SkRegion::Op) getInt(); + uint32_t packed = getInt(); + SkRegion::Op op = ClipParams_unpackRegionOp(packed); + bool doAA = ClipParams_unpackDoAA(packed); size_t offsetToRestore = getInt(); - if (!canvas.clipRect(rect, op) && offsetToRestore) { + if (!canvas.clipRect(rect, op, doAA) && offsetToRestore) { #ifdef SPEW_CLIP_SKIPPING skipRect.recordSkip(offsetToRestore - fReader.offset()); #endif |