aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Cary Clark <caryclark@skia.org>2018-03-13 14:41:10 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-13 19:36:12 +0000
commit7eddfb8656f8b4bb1d8011f93124e2669a2c6912 (patch)
tree3d7e7a6b0337899b7713e92ca69c2d1ee8863b29 /src
parentce14cb6797cbfd8696873373fbf04da4227080fd (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.cpp2
-rw-r--r--src/core/SkCanvasPriv.h7
-rw-r--r--src/core/SkPicturePlayback.cpp6
-rw-r--r--src/core/SkRecordOpts.cpp6
-rw-r--r--src/pipe/SkPipeCanvas.cpp4
-rw-r--r--src/pipe/SkPipeReader.cpp2
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(),