Index: src/pipe/SkGPipeWrite.cpp |
diff --git a/src/pipe/SkGPipeWrite.cpp b/src/pipe/SkGPipeWrite.cpp |
index 17305bf24be76b4204dc5042af6a38f7d243363c..879ce8288b4ed8ce028572663bf4b3db3ab3ca1e 100644 |
--- a/src/pipe/SkGPipeWrite.cpp |
+++ b/src/pipe/SkGPipeWrite.cpp |
@@ -290,6 +290,10 @@ public: |
* according to slot. |
*/ |
bool shuttleBitmap(const SkBitmap&, int32_t slot); |
+ |
+protected: |
+ virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) SK_OVERRIDE; |
+ |
private: |
enum { |
kNoSaveLayer = -1, |
@@ -738,6 +742,17 @@ void SkGPipeCanvas::drawRRect(const SkRRect& rrect, const SkPaint& paint) { |
} |
} |
+void SkGPipeCanvas::onDrawDRRect(const SkRRect& outer, const SkRRect& inner, |
+ const SkPaint& paint) { |
+ NOTIFY_SETUP(this); |
+ this->writePaint(paint); |
+ if (this->needOpBytes(kSizeOfFlatRRect * 2)) { |
+ this->writeOp(kDrawDRRect_DrawOp); |
+ fWriter.writeRRect(outer); |
+ fWriter.writeRRect(inner); |
+ } |
+} |
+ |
void SkGPipeCanvas::drawPath(const SkPath& path, const SkPaint& paint) { |
NOTIFY_SETUP(this); |
this->writePaint(paint); |