diff options
author | 2012-09-18 12:59:44 +0000 | |
---|---|---|
committer | 2012-09-18 12:59:44 +0000 | |
commit | f1ab723033a186dc53434104a636c2dfac5fc863 (patch) | |
tree | b3e9f1224fdaa890072b22a953df589fdb80fd58 /include/utils/SkProxyCanvas.h | |
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 'include/utils/SkProxyCanvas.h')
-rw-r--r-- | include/utils/SkProxyCanvas.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/utils/SkProxyCanvas.h b/include/utils/SkProxyCanvas.h index 720436bc42..aa4708544f 100644 --- a/include/utils/SkProxyCanvas.h +++ b/include/utils/SkProxyCanvas.h @@ -50,7 +50,7 @@ public: virtual void drawPath(const SkPath& path, const SkPaint& paint) SK_OVERRIDE; virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top, const SkPaint* paint = NULL) SK_OVERRIDE; - virtual void drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src, + virtual void drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst, const SkPaint* paint = NULL) SK_OVERRIDE; virtual void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, const SkPaint* paint = NULL) SK_OVERRIDE; |