Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Unified Diff: src/core/SkRecorder.cpp

Issue 1228083004: add src-rect-constraint to drawImageRect (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/core/SkRecorder.h ('k') | src/core/SkRecords.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « src/core/SkRecorder.h ('k') | src/core/SkRecords.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698