Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: src/core/SkCanvas.cpp

Issue 249253003: Hide SaveFlags from the public SkCanvas API. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Suppress the canvas-state GM. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/core/SkCanvas.h ('k') | src/core/SkPicturePlayback.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkCanvas.cpp
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index e3451cde77fc12a3ce5700a755a841af5a88db29..066b9a941f46f3dedc7145e7bfc69eca3edb5249 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -834,13 +834,19 @@ void SkCanvas::willSave(SaveFlags) {
// Do nothing. Subclasses may do something.
}
+#ifdef SK_SUPPORT_LEGACY_SAVEFLAGS
int SkCanvas::save(SaveFlags flags) {
+#else
+int SkCanvas::save() {
+ SaveFlags flags = kMatrixClip_SaveFlag;
+#endif
+
this->willSave(flags);
// call shared impl
return this->internalSave(flags);
}
-static bool bounds_affects_clip(SkCanvas::SaveFlags flags) {
+bool SkCanvas::bounds_affects_clip(SkCanvas::SaveFlags flags) {
#ifdef SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG
return (flags & SkCanvas::kClipToLayer_SaveFlag) != 0;
#else
@@ -898,8 +904,14 @@ SkCanvas::SaveLayerStrategy SkCanvas::willSaveLayer(const SkRect*, const SkPaint
return kFullLayer_SaveLayerStrategy;
}
+#ifdef SK_SUPPORT_LEGACY_SAVEFLAGS
int SkCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint,
SaveFlags flags) {
+#else
+int SkCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint) {
+ SaveFlags flags = kARGB_ClipLayer_SaveFlag;
+#endif
+
// Overriding classes may return false to signal that we don't need to create a layer.
SaveLayerStrategy strategy = this->willSaveLayer(bounds, paint, flags);
return this->internalSaveLayer(bounds, paint, flags, false, strategy);
@@ -975,14 +987,28 @@ int SkCanvas::internalSaveLayer(const SkRect* bounds, const SkPaint* paint, Save
return count;
}
+
+#ifdef SK_SUPPORT_LEGACY_SAVEFLAGS
int SkCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha,
SaveFlags flags) {
+#else
+int SkCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha) {
+#endif
+
if (0xFF == alpha) {
- return this->saveLayer(bounds, NULL, flags);
+ return this->saveLayer(bounds, NULL
+#ifdef SK_SUPPORT_LEGACY_SAVEFLAGS
+ , flags
+#endif
+ );
} else {
SkPaint tmpPaint;
tmpPaint.setAlpha(alpha);
- return this->saveLayer(bounds, &tmpPaint, flags);
+ return this->saveLayer(bounds, &tmpPaint
+#ifdef SK_SUPPORT_LEGACY_SAVEFLAGS
+ , flags
+#endif
+ );
}
}
« no previous file with comments | « include/core/SkCanvas.h ('k') | src/core/SkPicturePlayback.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698