Index: src/core/SkCanvas.cpp |
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp |
index 7370117d9d5a622ec68da2a454ab0e09d9c5768e..39ba423c931288647d953568d7ed4ff51f327674 100644 |
--- a/src/core/SkCanvas.cpp |
+++ b/src/core/SkCanvas.cpp |
@@ -1122,6 +1122,7 @@ bool SkCanvas::clipRectBounds(const SkRect* bounds, SaveLayerFlags saveLayerFlag |
return true; |
} |
+#ifdef SK_SUPPORT_LEGACY_SAVEFLAGS |
uint32_t SkCanvas::SaveFlagsToSaveLayerFlags(SaveFlags flags) { |
uint32_t layerFlags = 0; |
@@ -1133,14 +1134,17 @@ uint32_t SkCanvas::SaveFlagsToSaveLayerFlags(SaveFlags flags) { |
} |
return layerFlags; |
} |
+#endif |
int SkCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint) { |
return this->saveLayer(SaveLayerRec(bounds, paint, 0)); |
} |
+#ifdef SK_SUPPORT_LEGACY_SAVEFLAGS |
int SkCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint, SaveFlags flags) { |
return this->saveLayer(SaveLayerRec(bounds, paint, SaveFlagsToSaveLayerFlags(flags))); |
} |
+#endif |
int SkCanvas::saveLayerPreserveLCDTextRequests(const SkRect* bounds, const SkPaint* paint) { |
return this->saveLayer(SaveLayerRec(bounds, paint, kPreserveLCDText_SaveLayerFlag)); |
@@ -1269,9 +1273,16 @@ void SkCanvas::internalSaveLayer(const SaveLayerRec& rec, SaveLayerStrategy stra |
} |
int SkCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha) { |
- return this->saveLayerAlpha(bounds, alpha, kARGB_ClipLayer_SaveFlag); |
+ SkPaint paint; |
+ SkPaint* paintPtr = nullptr; |
f(malita)
2015/12/19 18:20:21
SkLazyPaint?
reed1
2015/12/20 03:05:45
Restoring previous version of that idea.
|
+ if (0xFF != alpha) { |
+ paint.setAlpha(alpha); |
+ paintPtr = &paint; |
+ } |
+ return this->saveLayer(bounds, paintPtr); |
} |
+#ifdef SK_SUPPORT_LEGACY_SAVEFLAGS |
int SkCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha, |
SaveFlags flags) { |
if (0xFF == alpha) { |
@@ -1282,6 +1293,7 @@ int SkCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha, |
return this->saveLayer(bounds, &tmpPaint, flags); |
} |
} |
+#endif |
void SkCanvas::internalRestore() { |
SkASSERT(fMCStack.count() != 0); |