Chromium Code Reviews| 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); |