| 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
|
| + );
|
| }
|
| }
|
|
|
|
|