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 { |