diff options
Diffstat (limited to 'src/pipe/SkPipeCanvas.cpp')
-rw-r--r-- | src/pipe/SkPipeCanvas.cpp | 13 |
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; } |