diff options
author | Cary Clark <caryclark@skia.org> | 2018-03-13 14:41:10 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-03-13 19:36:12 +0000 |
commit | 7eddfb8656f8b4bb1d8011f93124e2669a2c6912 (patch) | |
tree | 3d7e7a6b0337899b7713e92ca69c2d1ee8863b29 /src | |
parent | ce14cb6797cbfd8696873373fbf04da4227080fd (diff) |
consolidate SaveLayerFlag internal references
Add a third define in SkCanvasPriv to complement
SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag and
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag.
SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag exists only to define
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag and
SkCanvasPriv::kDontClipToLayer_SaveLayerFlag.
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag is used only by
Android framework.
SkCanvasPriv::kDontClipToLayer_SaveLayerFlag is used internally.
Note that changes to CanvasStateTest.cpp inside
SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG aren't testable by existing
skiabots; it requires building an Android framework aware version
of dm. CanvasStateTest.cpp may have bit-rotted.
R=reed@google.com,scroggo@google.com
Bug: skia:6454,skia:7690
Change-Id: I74f2a54636fae89a5a88a7e13f1baba49d3e2115
Reviewed-on: https://skia-review.googlesource.com/112401
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkCanvas.cpp | 2 | ||||
-rw-r--r-- | src/core/SkCanvasPriv.h | 7 | ||||
-rw-r--r-- | src/core/SkPicturePlayback.cpp | 6 | ||||
-rw-r--r-- | src/core/SkRecordOpts.cpp | 6 | ||||
-rw-r--r-- | src/pipe/SkPipeCanvas.cpp | 4 | ||||
-rw-r--r-- | src/pipe/SkPipeReader.cpp | 2 |
6 files changed, 18 insertions, 9 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 94bc2a711c..2f31335286 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -924,7 +924,7 @@ void SkCanvas::internalSave() { } bool SkCanvas::BoundsAffectsClip(SaveLayerFlags saveLayerFlags) { - return !(saveLayerFlags & SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag); + return !(saveLayerFlags & SkCanvasPriv::kDontClipToLayer_SaveLayerFlag); } bool SkCanvas::clipRectBounds(const SkRect* bounds, SaveLayerFlags saveLayerFlags, diff --git a/src/core/SkCanvasPriv.h b/src/core/SkCanvasPriv.h index 12d9fce027..3e1ca16413 100644 --- a/src/core/SkCanvasPriv.h +++ b/src/core/SkCanvasPriv.h @@ -25,6 +25,10 @@ private: class SkCanvasPriv { public: + enum { + kDontClipToLayer_SaveLayerFlag = SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag, + }; + // The lattice has pointers directly into the readbuffer static bool ReadLattice(SkReadBuffer&, SkCanvas::Lattice*); @@ -33,6 +37,9 @@ public: // return the byte-size of the lattice, even if the buffer is null // storage must be 4-byte aligned static size_t WriteLattice(void* storage, const SkCanvas::Lattice&); + + static SkCanvas::SaveLayerFlags LegacySaveFlagsToSaveLayerFlags(uint32_t legacySaveFlags); + }; #endif diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index 7b9e411764..9964c748fa 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -25,11 +25,11 @@ enum LegacySaveFlags { kClipToLayer_LegacySaveFlags = 0x10, }; -SkCanvas::SaveLayerFlags SkCanvas::LegacySaveFlagsToSaveLayerFlags(uint32_t flags) { +SkCanvas::SaveLayerFlags SkCanvasPriv::LegacySaveFlagsToSaveLayerFlags(uint32_t flags) { uint32_t layerFlags = 0; if (0 == (flags & kClipToLayer_LegacySaveFlags)) { - layerFlags |= SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag; + layerFlags |= kDontClipToLayer_SaveLayerFlag; } return layerFlags; } @@ -689,7 +689,7 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, SkRect storage; const SkRect* boundsPtr = get_rect_ptr(reader, &storage); const SkPaint* paint = fPictureData->getPaint(reader); - auto flags = SkCanvas::LegacySaveFlagsToSaveLayerFlags(reader->readInt()); + auto flags = SkCanvasPriv::LegacySaveFlagsToSaveLayerFlags(reader->readInt()); BREAK_ON_READ_ERROR(reader); canvas->saveLayer(SkCanvas::SaveLayerRec(boundsPtr, paint, flags)); diff --git a/src/core/SkRecordOpts.cpp b/src/core/SkRecordOpts.cpp index 8607471636..efd3d4e5bd 100644 --- a/src/core/SkRecordOpts.cpp +++ b/src/core/SkRecordOpts.cpp @@ -7,6 +7,7 @@ #include "SkRecordOpts.h" +#include "SkCanvasPriv.h" #include "SkRecordPattern.h" #include "SkRecords.h" #include "SkTDArray.h" @@ -192,8 +193,9 @@ struct SaveLayerDrawRestoreNooper { return false; } - if (match->first<SaveLayer>()->saveLayerFlags & (1U << 31)) { - // can't throw away the layer if the kDontClipToLayer_PrivateSaveLayerFlag is set + if (match->first<SaveLayer>()->saveLayerFlags & + SkCanvasPriv::kDontClipToLayer_SaveLayerFlag) { + // can't throw away the layer if set return false; } diff --git a/src/pipe/SkPipeCanvas.cpp b/src/pipe/SkPipeCanvas.cpp index 7315f88dd4..911595c47c 100644 --- a/src/pipe/SkPipeCanvas.cpp +++ b/src/pipe/SkPipeCanvas.cpp @@ -226,8 +226,8 @@ SkCanvas::SaveLayerStrategy SkPipeCanvas::getSaveLayerStrategy(const SaveLayerRe uint32_t extra = rec.fSaveLayerFlags; // remap this wacky flag - if (extra & (1 << 31)/*SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag*/) { - extra &= ~(1 << 31); + if (extra & SkCanvasPriv::kDontClipToLayer_SaveLayerFlag) { + extra &= ~SkCanvasPriv::kDontClipToLayer_SaveLayerFlag; extra |= kDontClipToLayer_SaveLayerMask; } diff --git a/src/pipe/SkPipeReader.cpp b/src/pipe/SkPipeReader.cpp index 2c41453868..2614c4ecd5 100644 --- a/src/pipe/SkPipeReader.cpp +++ b/src/pipe/SkPipeReader.cpp @@ -246,7 +246,7 @@ static void saveLayer_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanva // unremap this wacky flag if (extra & kDontClipToLayer_SaveLayerMask) { - flags |= (1 << 31);//SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag; + flags |= SkCanvasPriv::kDontClipToLayer_SaveLayerFlag; } canvas->saveLayer(SkCanvas::SaveLayerRec(bounds, paint, backdrop.get(), clipMask.get(), |