diff options
author | 2015-07-14 10:54:12 -0700 | |
---|---|---|
committer | 2015-07-14 10:54:12 -0700 | |
commit | a5517e2b190a8083b38964972b031c13e99f1012 (patch) | |
tree | 16fc3439de41b3af1e85c360904e96c44a2b8078 /src/pipe/SkGPipeRead.cpp | |
parent | 4abc186d029c3c57a53cec3f483de2fff6d4a954 (diff) |
add src-rect-constraint to drawImageRect
Follow-on work
- unify around SrcRectConstraint (i.e. drawBitmapRect)
- remove silly drawBitmapRectToRect alias
- clean-up (possibly remove) alias problems around drawBitmapRect + IRect parameter
BUG=skia:
Review URL: https://codereview.chromium.org/1228083004
Diffstat (limited to 'src/pipe/SkGPipeRead.cpp')
-rw-r--r-- | src/pipe/SkGPipeRead.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/pipe/SkGPipeRead.cpp b/src/pipe/SkGPipeRead.cpp index 48e0c0641b..ef1eeb303b 100644 --- a/src/pipe/SkGPipeRead.cpp +++ b/src/pipe/SkGPipeRead.cpp @@ -643,15 +643,14 @@ static void drawBitmapRect_rp(SkCanvas* canvas, SkReader32* reader, } else { src = NULL; } - SkCanvas::DrawBitmapRectFlags dbmrFlags = SkCanvas::kNone_DrawBitmapRectFlag; + SkCanvas::SrcRectConstraint constraint = SkCanvas::kStrict_SrcRectConstraint; if (flags & kDrawBitmap_Bleed_DrawOpFlag) { - dbmrFlags = (SkCanvas::DrawBitmapRectFlags)(dbmrFlags|SkCanvas::kBleed_DrawBitmapRectFlag); + constraint = SkCanvas::kFast_SrcRectConstraint; } const SkRect* dst = skip<SkRect>(reader); const SkBitmap* bitmap = holder.getBitmap(); if (state->shouldDraw()) { - canvas->drawBitmapRectToRect(*bitmap, src, *dst, - hasPaint ? &state->paint() : NULL, dbmrFlags); + canvas->drawBitmapRect(*bitmap, src, *dst, hasPaint ? &state->paint() : NULL, constraint); } } @@ -689,9 +688,11 @@ static void drawImageRect_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32 src = skip<SkRect>(reader); } const SkRect* dst = skip<SkRect>(reader); + SkCanvas::SrcRectConstraint constraint = (SkCanvas::SrcRectConstraint)reader->readInt(); + const SkImage* image = state->getImage(slot); if (state->shouldDraw()) { - canvas->drawImageRect(image, src, *dst, hasPaint ? &state->paint() : NULL); + canvas->drawImageRect(image, src, *dst, hasPaint ? &state->paint() : NULL, constraint); } } |