Index: src/core/SkSpecialImage.h |
diff --git a/src/core/SkSpecialImage.h b/src/core/SkSpecialImage.h |
index 1a01a5abc7a8a285955df101aa67ac759ab73775..47ad6ccab7972f7de6e2d698fc5f978d910963bc 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; |