Index: src/core/SkSpecialImage.h |
diff --git a/src/core/SkSpecialImage.h b/src/core/SkSpecialImage.h |
index b1b6a28d6a846ee046092b376ab6b24fd08a5cc8..8091d108717478c2378d67c9881f0ac06886ebb7 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" |
+ |
+class GrContext; |
class GrTexture; |
class SkBitmap; |
class SkCanvas; |
class SkImage; |
struct SkImageInfo; |
class SkPaint; |
+class SkPixmap; |
class SkSpecialSurface; |
enum { |
@@ -48,6 +52,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 the this special image is from a different GrContext, this will fail. |
+ */ |
+ SkSpecialImage* makeTextureImage(SkImageFilter::Proxy*, GrContext*); |
+ |
+ /** |
* Draw this SpecialImage into the canvas. |
*/ |
void draw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) const; |