aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-05-30 20:41:20 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-05-30 20:41:20 +0000
commit2a5cd60bfff32c92cf44a8cfc3e8c017b9aee456 (patch)
tree6b86b5c1762e590de1b20b06c1e36f853078f601
parent999cfd1076e23e7348623f7a59cf2905bdc6099d (diff)
Add an OR operator overload for SaveFlags to avoid extra static casts.
R=reed@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/303373003 git-svn-id: http://skia.googlecode.com/svn/trunk@15005 2bbb7eff-a529-9590-31e7-b0007b416f81
-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