| Index: src/pipe/SkGPipeWrite.cpp
|
| diff --git a/src/pipe/SkGPipeWrite.cpp b/src/pipe/SkGPipeWrite.cpp
|
| index 146f49cf9cf75311e42b516db3683a6bb0efc147..43209f644b9e64743d02f02e1e24800fe3959e55 100644
|
| --- a/src/pipe/SkGPipeWrite.cpp
|
| +++ b/src/pipe/SkGPipeWrite.cpp
|
| @@ -229,6 +229,10 @@
|
| }
|
|
|
| // overrides from SkCanvas
|
| + virtual int save(SaveFlags) SK_OVERRIDE;
|
| + virtual int saveLayer(const SkRect* bounds, const SkPaint*,
|
| + SaveFlags) SK_OVERRIDE;
|
| + virtual void restore() SK_OVERRIDE;
|
| virtual bool isDrawingToLayer() const SK_OVERRIDE;
|
| virtual bool translate(SkScalar dx, SkScalar dy) SK_OVERRIDE;
|
| virtual bool scale(SkScalar sx, SkScalar sy) SK_OVERRIDE;
|
| @@ -283,10 +287,6 @@
|
| bool shuttleBitmap(const SkBitmap&, int32_t slot);
|
|
|
| protected:
|
| - virtual void onSave(SaveFlags) SK_OVERRIDE;
|
| - virtual bool onSaveLayer(const SkRect*, const SkPaint*, SaveFlags) SK_OVERRIDE;
|
| - virtual void onRestore() SK_OVERRIDE;
|
| -
|
| virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) SK_OVERRIDE;
|
|
|
| virtual void onClipRect(const SkRect&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE;
|
| @@ -514,17 +514,16 @@
|
| #define NOTIFY_SETUP(canvas) \
|
| AutoPipeNotify apn(canvas)
|
|
|
| -void SkGPipeCanvas::onSave(SaveFlags flags) {
|
| +int SkGPipeCanvas::save(SaveFlags flags) {
|
| NOTIFY_SETUP(this);
|
| if (this->needOpBytes()) {
|
| this->writeOp(kSave_DrawOp, 0, flags);
|
| }
|
| -
|
| - this->INHERITED::onSave(flags);
|
| -}
|
| -
|
| -bool SkGPipeCanvas::onSaveLayer(const SkRect* bounds, const SkPaint* paint,
|
| - SaveFlags saveFlags) {
|
| + return this->INHERITED::save(flags);
|
| +}
|
| +
|
| +int SkGPipeCanvas::saveLayer(const SkRect* bounds, const SkPaint* paint,
|
| + SaveFlags saveFlags) {
|
| NOTIFY_SETUP(this);
|
| size_t size = 0;
|
| unsigned opFlags = 0;
|
| @@ -548,23 +547,21 @@
|
| if (kNoSaveLayer == fFirstSaveLayerStackLevel){
|
| fFirstSaveLayerStackLevel = this->getSaveCount();
|
| }
|
| -
|
| - this->INHERITED::onSaveLayer(bounds, paint, saveFlags);
|
| - // we don't create a layer
|
| - return false;
|
| -}
|
| -
|
| -void SkGPipeCanvas::onRestore() {
|
| + // we just pass on the save, so we don't create a layer
|
| + return this->INHERITED::save(saveFlags);
|
| +}
|
| +
|
| +void SkGPipeCanvas::restore() {
|
| NOTIFY_SETUP(this);
|
| if (this->needOpBytes()) {
|
| this->writeOp(kRestore_DrawOp);
|
| }
|
|
|
| - if (this->getSaveCount() - 1 == fFirstSaveLayerStackLevel){
|
| + this->INHERITED::restore();
|
| +
|
| + if (this->getSaveCount() == fFirstSaveLayerStackLevel){
|
| fFirstSaveLayerStackLevel = kNoSaveLayer;
|
| }
|
| -
|
| - this->INHERITED::onRestore();
|
| }
|
|
|
| bool SkGPipeCanvas::isDrawingToLayer() const {
|
|
|