aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPicturePlayback.cpp
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-11-11 21:34:54 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-11-11 21:34:54 +0000
commit83ab49556ffc83fd3b2c1142db264362d21e6b19 (patch)
tree984c4c0070c32201dee468f2fa7a34ce29c49fff /src/core/SkPicturePlayback.cpp
parent74b98715a375e5e4863115d681386c9f5ec194f5 (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.cpp15
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