Chromium Code Reviews| Index: include/core/SkCanvas.h |
| diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h |
| index bc39ec2850bf345e06f8626954bc075b0c1cdf95..ed52ee85d340df41252e7c9055b1450e39703395 100644 |
| --- a/include/core/SkCanvas.h |
| +++ b/include/core/SkCanvas.h |
| @@ -37,6 +37,9 @@ class SkSurface; |
| class SkSurface_Base; |
| class SkTextBlob; |
| +//#define SK_SUPPORT_LEGACY_SIMPLE_DRAWIMAGERECT |
| +//#define SK_SUPPORT_LEGACY_SRCPTR_DRAWIMAGERECT |
|
f(malita)
2015/08/06 16:57:31
Nit: forgot to delete these?
|
| + |
| /** \class SkCanvas |
| A Canvas encapsulates all of the state about drawing into a device (bitmap). |
| @@ -819,20 +822,28 @@ public: |
| * @param paint The paint used to draw the image, or NULL |
| * @param constraint Control the tradeoff between speed and exactness w.r.t. the src-rect. |
| */ |
| + void drawImageRect(const SkImage* image, const SkRect& src, const SkRect& dst, |
| + const SkPaint* paint, |
| + SrcRectConstraint constraint = kStrict_SrcRectConstraint); |
| + // variant that takes src SkIRect |
| + void drawImageRect(const SkImage* image, const SkIRect& isrc, const SkRect& dst, |
| + const SkPaint* paint, SrcRectConstraint = kStrict_SrcRectConstraint); |
| + // variant that assumes src == image-bounds |
| +#ifdef SK_SUPPORT_LEGACY_SIMPLE_DRAWIMAGERECT |
| + void drawImageRect(const SkImage* image, const SkRect& dst, const SkPaint* paint = NULL); |
| +#else |
| + void drawImageRect(const SkImage* image, const SkRect& dst, const SkPaint* paint, |
| + SrcRectConstraint = kStrict_SrcRectConstraint); |
| +#endif |
| + |
| +#ifdef SK_SUPPORT_LEGACY_SRCPTR_DRAWIMAGERECT |
| void drawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst, |
| const SkPaint* paint, SrcRectConstraint = kStrict_SrcRectConstraint); |
| void drawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst) { |
| this->drawImageRect(image, src, dst, NULL, kStrict_SrcRectConstraint); |
| } |
| - |
| - void drawImageRect(const SkImage* image, const SkRect& dst, const SkPaint* paint = NULL) { |
| - // With no src-rect, the constraint value is ignored, so we just use the default. |
| - this->drawImageRect(image, NULL, dst, paint, kStrict_SrcRectConstraint); |
| - } |
| - |
| - void drawImageRect(const SkImage* image, const SkIRect& isrc, const SkRect& dst, |
| - const SkPaint* paint, SrcRectConstraint = kStrict_SrcRectConstraint); |
| +#endif |
| /** |
| * Draw the image stretched differentially to fit into dst. |
| @@ -881,15 +892,22 @@ public: |
| * @param paint The paint used to draw the bitmap, or NULL |
| * @param constraint Control the tradeoff between speed and exactness w.r.t. the src-rect. |
| */ |
| - void drawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst, |
| + void drawBitmapRect(const SkBitmap& bitmap, const SkRect& src, const SkRect& dst, |
| const SkPaint* paint, SrcRectConstraint = kStrict_SrcRectConstraint); |
| - |
| - void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst, const SkPaint* paint = NULL) { |
| - this->drawBitmapRect(bitmap, NULL, dst, paint, kStrict_SrcRectConstraint); |
| - } |
| - |
| + // variant where src is SkIRect |
| void drawBitmapRect(const SkBitmap& bitmap, const SkIRect& isrc, const SkRect& dst, |
| const SkPaint* paint, SrcRectConstraint = kStrict_SrcRectConstraint); |
| +#ifdef SK_SUPPORT_LEGACY_SIMPLE_DRAWIMAGERECT |
| + void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst, const SkPaint* paint = NULL); |
| +#else |
| + void drawBitmapRect(const SkBitmap& bitmap, const SkRect& dst, const SkPaint* paint, |
| + SrcRectConstraint = kStrict_SrcRectConstraint); |
| +#endif |
| + |
| +#ifdef SK_SUPPORT_LEGACY_SRCPTR_DRAWIMAGERECT |
| + void drawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst, |
| + const SkPaint* paint, SrcRectConstraint = kStrict_SrcRectConstraint); |
| +#endif |
| /** |
| * Draw the bitmap stretched differentially to fit into dst. |
| @@ -1209,6 +1227,14 @@ public: |
| static void Internal_Private_SetTreatSpriteAsBitmap(bool); |
| static bool Internal_Private_GetTreatSpriteAsBitmap(); |
| + // TEMP helpers until we switch virtual over to const& for src-rect |
| + void legacy_drawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst, |
| + const SkPaint* paint, |
| + SrcRectConstraint constraint = kStrict_SrcRectConstraint); |
| + void legacy_drawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst, |
| + const SkPaint* paint, |
| + SrcRectConstraint constraint = kStrict_SrcRectConstraint); |
| + |
| protected: |
| // default impl defers to getDevice()->newSurface(info) |
| virtual SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&); |