diff options
author | 2012-09-18 12:59:44 +0000 | |
---|---|---|
committer | 2012-09-18 12:59:44 +0000 | |
commit | f1ab723033a186dc53434104a636c2dfac5fc863 (patch) | |
tree | b3e9f1224fdaa890072b22a953df589fdb80fd58 /src/utils/SkProxyCanvas.cpp | |
parent | 54339a826e460c2371f946224cca4db8482d8f5b (diff) |
Change drawBitmapRect to take a float-src-rect instead of integer-src-rect. This
allows the client more control over the scaling. Because of virtual overrides
and wanting to keep the old call-sites up and running, this CL renames the
virtual entry-point to drawBitmapRectToRect, and downgrades drawBitmapRect to
a non-virtual helper function.
The implementation is to use the float-rect for computing the matrix, but still
cons-up an integer rect for the purposes of subsetting the original bitmap. We
do this by calling float_src->roundOut(&int_src) so that we include all
(partially) covered src pixels.
No change needed on SkDevice, since that signature is explicitly passed the
computed matrix.
Review URL: https://codereview.appspot.com/6501140
git-svn-id: http://skia.googlecode.com/svn/trunk@5578 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/utils/SkProxyCanvas.cpp')
-rw-r--r-- | src/utils/SkProxyCanvas.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/utils/SkProxyCanvas.cpp b/src/utils/SkProxyCanvas.cpp index bc21d52649..e245c73272 100644 --- a/src/utils/SkProxyCanvas.cpp +++ b/src/utils/SkProxyCanvas.cpp @@ -92,9 +92,9 @@ void SkProxyCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y, fProxy->drawBitmap(bitmap, x, y, paint); } -void SkProxyCanvas::drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src, +void SkProxyCanvas::drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst, const SkPaint* paint) { - fProxy->drawBitmapRect(bitmap, src, dst, paint); + fProxy->drawBitmapRectToRect(bitmap, src, dst, paint); } void SkProxyCanvas::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, |