aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/drawbitmaprect.cpp
diff options
context:
space:
mode:
authorGravatar scroggo <scroggo@google.com>2015-07-17 05:57:34 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-07-17 05:57:34 -0700
commit91110195a2eee170c11885da9d16f94b00a39f87 (patch)
tree4dc22ce2b05e9cde0369d2f4d97bb18cd8d2f6aa /gm/drawbitmaprect.cpp
parentac66a8122b27c388cc74b3913d9a9be351a44e54 (diff)
Revert of guard to remove DrawBitmapRectFlags (patchset #1 id:1 of https://codereview.chromium.org/1235393003/)
Reason for revert: breaking android framework build Original issue's description: > guard to remove DrawBitmapRectFlags > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/6fb0b6779e40ce05c20cf279f0ecff31fa3cd60d TBR=fmalita@chromium.org,djsollen@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1230823007
Diffstat (limited to 'gm/drawbitmaprect.cpp')
-rw-r--r--gm/drawbitmaprect.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/gm/drawbitmaprect.cpp b/gm/drawbitmaprect.cpp
index 9db5ca71da..715f45b904 100644
--- a/gm/drawbitmaprect.cpp
+++ b/gm/drawbitmaprect.cpp
@@ -79,25 +79,30 @@ static SkImage* makebm(SkBitmap* bm, int w, int h) {
return image_from_bitmap(*bm);
}
-static void canvasproc(SkCanvas* canvas, SkImage*, const SkBitmap& bm, const SkIRect& srcR,
+static void canvasproc(SkCanvas* canvas, SkImage*, const SkBitmap& bm, const SkIRect* srcR,
const SkRect& dstR) {
- canvas->drawBitmapRect(bm, srcR, dstR, NULL);
+ canvas->drawBitmapRect(bm, srcR, dstR);
}
-static void imageproc(SkCanvas* canvas, SkImage* image, const SkBitmap&, const SkIRect& srcR,
+static void imageproc(SkCanvas* canvas, SkImage* image, const SkBitmap&, const SkIRect* srcIR,
const SkRect& dstR) {
- canvas->drawImageRect(image, srcR, dstR, NULL);
+ SkRect storage, *srcR = NULL;
+ if (srcIR) {
+ storage.set(*srcIR);
+ srcR = &storage;
+ }
+ canvas->drawImageRect(image, srcR, dstR);
}
-static void imagescaleproc(SkCanvas* canvas, SkImage* image, const SkBitmap&, const SkIRect& srcIR,
+static void imagescaleproc(SkCanvas* canvas, SkImage* image, const SkBitmap&, const SkIRect* srcIR,
const SkRect& dstR) {
const int newW = SkScalarRoundToInt(dstR.width());
const int newH = SkScalarRoundToInt(dstR.height());
- SkAutoTUnref<SkImage> newImage(image->newImage(newW, newH, &srcIR));
+ SkAutoTUnref<SkImage> newImage(image->newImage(newW, newH, srcIR));
#ifdef SK_DEBUG
const SkIRect baseR = SkIRect::MakeWH(image->width(), image->height());
- const bool containsSubset = baseR.contains(srcIR);
+ const bool containsSubset = !srcIR || baseR.contains(*srcIR);
#endif
if (newImage) {
@@ -116,7 +121,7 @@ static void imagescaleproc(SkCanvas* canvas, SkImage* image, const SkBitmap&, co
}
}
-typedef void DrawRectRectProc(SkCanvas*, SkImage*, const SkBitmap&, const SkIRect&, const SkRect&);
+typedef void DrawRectRectProc(SkCanvas*, SkImage*, const SkBitmap&, const SkIRect*, const SkRect&);
static const int gSize = 1024;
static const int gBmpSize = 2048;
@@ -176,7 +181,7 @@ protected:
for (int h = 1; h <= kMaxSrcRectSize; h *= 4) {
SkIRect srcRect = SkIRect::MakeXYWH((gBmpSize - w) / 2, (gBmpSize - h) / 2, w, h);
- fProc(canvas, fImage, fLargeBitmap, srcRect, dstRect);
+ fProc(canvas, fImage, fLargeBitmap, &srcRect, dstRect);
SkString label;
label.appendf("%d x %d", w, h);
@@ -221,7 +226,7 @@ protected:
SkBlurMaskFilter::kHighQuality_BlurFlag |
SkBlurMaskFilter::kIgnoreTransform_BlurFlag);
paint.setMaskFilter(mf)->unref();
- canvas->drawBitmapRect(bm, srcRect, dstRect, &paint);
+ canvas->drawBitmapRect(bm, &srcRect, dstRect, &paint);
}
}