Index: src/pipe/SkGPipeWrite.cpp |
diff --git a/src/pipe/SkGPipeWrite.cpp b/src/pipe/SkGPipeWrite.cpp |
index f2aaaae216a738695185798029b4ceb5255a20b2..4dbb5b536c8f852a7116a5604ba40c1876b2579f 100644 |
--- a/src/pipe/SkGPipeWrite.cpp |
+++ b/src/pipe/SkGPipeWrite.cpp |
@@ -280,6 +280,8 @@ protected: |
void onDrawImage(const SkImage*, SkScalar left, SkScalar top, const SkPaint*) override; |
void onDrawImageRect(const SkImage*, const SkRect* src, const SkRect& dst, |
const SkPaint*) override; |
+ void onDrawImageNine(const SkImage*, const SkIRect& center, const SkRect& dst, |
+ const SkPaint*) override; |
void onDrawBitmapNine(const SkBitmap&, const SkIRect& center, const SkRect& dst, |
const SkPaint*) override; |
void onDrawSprite(const SkBitmap&, int left, int top, const SkPaint*) override; |
@@ -883,6 +885,16 @@ void SkGPipeCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, con |
} |
} |
+void SkGPipeCanvas::onDrawImageNine(const SkImage* image, const SkIRect& center, const SkRect& dst, |
+ const SkPaint* paint) { |
+ NOTIFY_SETUP(this); |
+ size_t opBytesNeeded = sizeof(SkIRect) + sizeof(SkRect); // center + dst |
+ if (this->commonDrawImage(image, kDrawImageNine_DrawOp, 0, opBytesNeeded, paint)) { |
+ fWriter.writeIRect(center); |
+ fWriter.writeRect(dst); |
+ } |
+} |
+ |
void SkGPipeCanvas::onDrawText(const void* text, size_t byteLength, SkScalar x, SkScalar y, |
const SkPaint& paint) { |
if (byteLength) { |