| Index: include/core/SkCanvas.h
|
| ===================================================================
|
| --- include/core/SkCanvas.h (revision 10408)
|
| +++ include/core/SkCanvas.h (working copy)
|
| @@ -667,6 +667,16 @@
|
| virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top,
|
| const SkPaint* paint = NULL);
|
|
|
| + enum DrawBitmapRectFlags {
|
| + kNone_DrawBitmapRectflag = 0x0,
|
| + /**
|
| + * When filtering is enabled, allow the color samples outside of
|
| + * the src rect (but still in the src bitmap) to bleed into the
|
| + * drawn portion
|
| + */
|
| + kBleed_DrawBitmapRectFlag = 0x1,
|
| + };
|
| +
|
| /** Draw the specified bitmap, with the specified matrix applied (before the
|
| canvas' matrix is applied).
|
| @param bitmap The bitmap to be drawn
|
| @@ -677,22 +687,24 @@
|
| */
|
| virtual void drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src,
|
| const SkRect& dst,
|
| - const SkPaint* paint);
|
| + const SkPaint* paint = NULL,
|
| + DrawBitmapRectFlags flags = kNone_DrawBitmapRectflag);
|
|
|
| void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst,
|
| - const SkPaint* paint) {
|
| - this->drawBitmapRectToRect(bitmap, NULL, dst, paint);
|
| + const SkPaint* paint = NULL) {
|
| + this->drawBitmapRectToRect(bitmap, NULL, dst, paint, kNone_DrawBitmapRectflag);
|
| }
|
|
|
| void drawBitmapRect(const SkBitmap& bitmap, const SkIRect* isrc,
|
| - const SkRect& dst, const SkPaint* paint = NULL) {
|
| + const SkRect& dst, const SkPaint* paint = NULL,
|
| + DrawBitmapRectFlags flags = kNone_DrawBitmapRectflag) {
|
| SkRect realSrcStorage;
|
| SkRect* realSrcPtr = NULL;
|
| if (isrc) {
|
| realSrcStorage.set(*isrc);
|
| realSrcPtr = &realSrcStorage;
|
| }
|
| - this->drawBitmapRectToRect(bitmap, realSrcPtr, dst, paint);
|
| + this->drawBitmapRectToRect(bitmap, realSrcPtr, dst, paint, flags);
|
| }
|
|
|
| virtual void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m,
|
| @@ -1065,7 +1077,8 @@
|
| // canvas apis, without confusing subclasses (like SkPictureRecording)
|
| void internalDrawBitmap(const SkBitmap&, const SkMatrix& m, const SkPaint* paint);
|
| void internalDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src,
|
| - const SkRect& dst, const SkPaint* paint);
|
| + const SkRect& dst, const SkPaint* paint,
|
| + DrawBitmapRectFlags flags);
|
| void internalDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center,
|
| const SkRect& dst, const SkPaint* paint);
|
| void internalDrawPaint(const SkPaint& paint);
|
|
|