aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/core/SkCanvas.h12
-rw-r--r--src/core/SkCanvas.cpp2
-rw-r--r--src/core/SkMatrixClipStateMgr.cpp3
3 files changed, 14 insertions, 3 deletions
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index f8876e6eb1..3875c06207 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -1512,4 +1512,16 @@ private:
size_t fRowBytes;
};
+static inline SkCanvas::SaveFlags operator|(const SkCanvas::SaveFlags lhs,
+ const SkCanvas::SaveFlags rhs) {
+ return static_cast<SkCanvas::SaveFlags>(lhs | rhs);
+}
+
+static inline SkCanvas::SaveFlags& operator|=(SkCanvas::SaveFlags& lhs,
+ const SkCanvas::SaveFlags rhs) {
+ lhs = lhs | rhs;
+ return lhs;
+}
+
+
#endif
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 6ed6a85780..6d2b3b1f20 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -913,7 +913,7 @@ static SkBaseDevice* create_compatible_device(SkCanvas* canvas,
int SkCanvas::internalSaveLayer(const SkRect* bounds, const SkPaint* paint, SaveFlags flags,
bool justForImageFilter, SaveLayerStrategy strategy) {
#ifndef SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG
- flags = (SaveFlags)(flags | kClipToLayer_SaveFlag);
+ flags |= kClipToLayer_SaveFlag;
#endif
// do this before we create the layer. We don't call the public save() since
diff --git a/src/core/SkMatrixClipStateMgr.cpp b/src/core/SkMatrixClipStateMgr.cpp
index 492e0414d7..1fc7fe8321 100644
--- a/src/core/SkMatrixClipStateMgr.cpp
+++ b/src/core/SkMatrixClipStateMgr.cpp
@@ -172,8 +172,7 @@ int SkMatrixClipStateMgr::saveLayer(const SkRect* bounds, const SkPaint* paint,
// restore
fSkipOffsets = SkNEW(SkTDArray<int>);
- fPicRecord->recordSaveLayer(bounds, paint,
- (SkCanvas::SaveFlags)(flags| SkCanvas::kMatrixClip_SaveFlag));
+ fPicRecord->recordSaveLayer(bounds, paint, flags | SkCanvas::kMatrixClip_SaveFlag);
#ifdef SK_DEBUG
fActualDepth++;
#endif