Make drawImage a virtual on SkDevice
This reverts commit 06dad4b92f1fcb593bc686f9537d3e0d866b2241.
BUG=485243
Review URL: https://codereview.chromium.org/1129843003
diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp
index 53ecdd0..07811fb 100644
--- a/src/core/SkPictureRecord.cpp
+++ b/src/core/SkPictureRecord.cpp
@@ -7,6 +7,7 @@
#include "SkPictureRecord.h"
#include "SkDevice.h"
+#include "SkImage_Base.h"
#include "SkPatchUtils.h"
#include "SkPixelRef.h"
#include "SkRRect.h"
@@ -563,6 +564,22 @@
this->validate(initialOffset, size);
}
+void SkPictureRecord::onDrawImage(const SkImage* image, SkScalar x, SkScalar y,
+ const SkPaint* paint) {
+ SkBitmap bm;
+ if (as_IB(image)->getROPixels(&bm)) {
+ this->SkPictureRecord::onDrawBitmap(bm, x, y, paint);
+ }
+}
+
+void SkPictureRecord::onDrawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst,
+ const SkPaint* paint) {
+ SkBitmap bm;
+ if (as_IB(image)->getROPixels(&bm)) {
+ this->SkPictureRecord::onDrawBitmapRect(bm, src, dst, paint, kNone_DrawBitmapRectFlag);
+ }
+}
+
void SkPictureRecord::onDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center,
const SkRect& dst, const SkPaint* paint) {
// op + paint index + bitmap id + center + dst rect