diff options
Diffstat (limited to 'src/core/SkSpecialImage.h')
-rw-r--r-- | src/core/SkSpecialImage.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/SkSpecialImage.h b/src/core/SkSpecialImage.h index 1a01a5abc7..47ad6ccab7 100644 --- a/src/core/SkSpecialImage.h +++ b/src/core/SkSpecialImage.h @@ -14,12 +14,16 @@ // remove this when internal_getProxy goes away (see skbug.com/4965) #include "SkImageFilter.h" +#include "SkImageInfo.h" // for SkAlphaType + +class GrContext; class GrTexture; class SkBitmap; class SkCanvas; class SkImage; struct SkImageInfo; class SkPaint; +class SkPixmap; class SkSpecialSurface; enum { @@ -51,6 +55,13 @@ public: virtual size_t getSize() const = 0; /** + * Ensures that a special image is backed by a texture (when GrContext is non-null). If no + * transformation is required, the returned image may be the same as this special image. + * If this special image is from a different GrContext, this will fail. + */ + sk_sp<SkSpecialImage> makeTextureImage(SkImageFilter::Proxy*, GrContext*); + + /** * Draw this SpecialImage into the canvas. */ void draw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) const; |