aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pipe/SkPipeCanvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pipe/SkPipeCanvas.cpp')
-rw-r--r--src/pipe/SkPipeCanvas.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/pipe/SkPipeCanvas.cpp b/src/pipe/SkPipeCanvas.cpp
index 1473b843f6..91e74eeca5 100644
--- a/src/pipe/SkPipeCanvas.cpp
+++ b/src/pipe/SkPipeCanvas.cpp
@@ -240,6 +240,12 @@ SkCanvas::SaveLayerStrategy SkPipeCanvas::getSaveLayerStrategy(const SaveLayerRe
if (rec.fBackdrop) {
extra |= kHasBackdrop_SaveLayerMask;
}
+ if (rec.fClipMask) {
+ extra |= kHasClipMask_SaveLayerMask;
+ }
+ if (rec.fClipMatrix) {
+ extra |= kHasClipMatrix_SaveLayerMask;
+ }
writer.write32(pack_verb(SkPipeVerb::kSaveLayer, extra));
if (rec.fBounds) {
@@ -251,6 +257,13 @@ SkCanvas::SaveLayerStrategy SkPipeCanvas::getSaveLayerStrategy(const SaveLayerRe
if (rec.fBackdrop) {
writer.writeFlattenable(rec.fBackdrop);
}
+ if (rec.fClipMask) {
+ writer.writeImage(rec.fClipMask.get());
+ }
+ if (rec.fClipMatrix) {
+ writer.writeMatrix(*rec.fClipMatrix);
+ }
+
return kNoLayer_SaveLayerStrategy;
}