Index: src/core/SkRecorder.cpp |
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp |
index 0413860e9dc1ff26f9ca8b424bec1fb22625fa7b..41164bd8a26d30982e21f449efc6bbf7c492f883 100644 |
--- a/src/core/SkRecorder.cpp |
+++ b/src/core/SkRecorder.cpp |
@@ -186,7 +186,9 @@ void SkRecorder::onDrawBitmapRect(const SkBitmap& bitmap, |
const SkRect* src, |
const SkRect& dst, |
const SkPaint* paint, |
- DrawBitmapRectFlags flags) { |
+ SK_VIRTUAL_CONSTRAINT_TYPE legacyConstraint) { |
+ SrcRectConstraint constraint = (SrcRectConstraint)legacyConstraint; |
+ |
#ifdef WRAP_BITMAP_AS_IMAGE |
// TODO: need a way to support the flags for images... |
SkAutoTUnref<SkImage> image(SkImage::NewFromBitmap(bitmap)); |
@@ -194,15 +196,13 @@ void SkRecorder::onDrawBitmapRect(const SkBitmap& bitmap, |
this->onDrawImageRect(image, src, dst, paint); |
} |
#else |
- TRY_MINIRECORDER(drawBitmapRectToRect, bitmap, src, dst, paint, flags); |
- if (kBleed_DrawBitmapRectFlag == flags) { |
- APPEND(DrawBitmapRectToRectBleed, |
- this->copy(paint), bitmap, this->copy(src), dst); |
+ TRY_MINIRECORDER(drawBitmapRect, bitmap, src, dst, paint, constraint); |
+ if (kFast_SrcRectConstraint == constraint) { |
+ APPEND(DrawBitmapRectFast, this->copy(paint), bitmap, this->copy(src), dst); |
return; |
} |
- SkASSERT(kNone_DrawBitmapRectFlag == flags); |
- APPEND(DrawBitmapRectToRect, |
- this->copy(paint), bitmap, this->copy(src), dst); |
+ SkASSERT(kStrict_SrcRectConstraint == constraint); |
+ APPEND(DrawBitmapRect, this->copy(paint), bitmap, this->copy(src), dst); |
#endif |
} |
@@ -227,8 +227,11 @@ void SkRecorder::onDrawImage(const SkImage* image, SkScalar left, SkScalar top, |
void SkRecorder::onDrawImageRect(const SkImage* image, const SkRect* src, |
const SkRect& dst, |
- const SkPaint* paint) { |
- APPEND(DrawImageRect, this->copy(paint), image, this->copy(src), dst); |
+ const SkPaint* paint SRC_RECT_CONSTRAINT_PARAM(constraint)) { |
+#ifdef SK_SUPPORT_LEGACY_ONDRAWIMAGERECT |
+ SrcRectConstraint constraint = kStrict_SrcRectConstraint; |
+#endif |
+ APPEND(DrawImageRect, this->copy(paint), image, this->copy(src), dst, constraint); |
} |
void SkRecorder::onDrawImageNine(const SkImage* image, const SkIRect& center, |