Index: src/core/SkDevice.cpp |
diff --git a/src/core/SkDevice.cpp b/src/core/SkDevice.cpp |
index 8f7f50c86368ce0639501e0b902a3f33abd4068c..90161b4eb386d3db240b1cc67e19f7fc572ba5b8 100644 |
--- a/src/core/SkDevice.cpp |
+++ b/src/core/SkDevice.cpp |
@@ -11,6 +11,7 @@ |
#include "SkDrawFilter.h" |
#include "SkImage_Base.h" |
#include "SkMetaData.h" |
+#include "SkNinePatchIter.h" |
#include "SkPatchUtils.h" |
#include "SkPathMeasure.h" |
#include "SkRasterClip.h" |
@@ -161,6 +162,26 @@ void SkBaseDevice::drawImageRect(const SkDraw& draw, const SkImage* image, const |
} |
} |
+void SkBaseDevice::drawImageNine(const SkDraw& draw, const SkImage* image, const SkIRect& center, |
+ const SkRect& dst, const SkPaint& paint) { |
+ SkNinePatchIter iter(image->width(), image->height(), center, dst); |
+ |
+ SkRect srcR, dstR; |
+ while (iter.next(&srcR, &dstR)) { |
+ this->drawImageRect(draw, image, &srcR, dstR, paint); |
+ } |
+} |
+ |
+void SkBaseDevice::drawBitmapNine(const SkDraw& draw, const SkBitmap& bitmap, const SkIRect& center, |
+ const SkRect& dst, const SkPaint& paint) { |
+ SkNinePatchIter iter(bitmap.width(), bitmap.height(), center, dst); |
+ |
+ SkRect srcR, dstR; |
+ while (iter.next(&srcR, &dstR)) { |
+ this->drawBitmapRect(draw, bitmap, &srcR, dstR, paint, SkCanvas::kNone_DrawBitmapRectFlag); |
+ } |
+} |
+ |
void SkBaseDevice::drawAtlas(const SkDraw& draw, const SkImage* atlas, const SkRSXform xform[], |
const SkRect tex[], const SkColor colors[], int count, |
SkXfermode::Mode mode, const SkPaint& paint) { |