Index: src/core/SkFilterShader.h |
diff --git a/src/core/SkFilterShader.h b/src/core/SkFilterShader.h |
index abb516557889bb8a713ae1990ecdf39ae976a545..1430002fe87136c711c6c80f42b1f2371d11bc16 100644 |
--- a/src/core/SkFilterShader.h |
+++ b/src/core/SkFilterShader.h |
@@ -17,12 +17,28 @@ public: |
SkFilterShader(SkShader* shader, SkColorFilter* filter); |
virtual ~SkFilterShader(); |
- virtual uint32_t getFlags() SK_OVERRIDE; |
- virtual bool setContext(const SkBitmap&, const SkPaint&, |
- const SkMatrix&) SK_OVERRIDE; |
- virtual void endContext() SK_OVERRIDE; |
- virtual void shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE; |
- virtual void shadeSpan16(int x, int y, uint16_t[], int count) SK_OVERRIDE; |
+ virtual bool validContext(const SkBitmap&, const SkPaint&, |
+ const SkMatrix&, SkMatrix* totalInverse) const SK_OVERRIDE; |
+ virtual SkShader::Context* createContext(const SkBitmap&, const SkPaint&, |
+ const SkMatrix&, void* storage) const SK_OVERRIDE; |
+ virtual size_t contextSize() const SK_OVERRIDE; |
+ |
+ class FilterShaderContext : public SkShader::Context { |
+ public: |
+ // Takes ownership of shaderContext and calls its destructor. |
+ FilterShaderContext(const SkFilterShader& filterShader, SkShader::Context* shaderContext, |
+ const SkBitmap& device, const SkPaint& paint, const SkMatrix& matrix); |
+ virtual ~FilterShaderContext(); |
+ |
+ virtual uint32_t getFlags() const SK_OVERRIDE; |
+ |
+ virtual void shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE; |
+ virtual void shadeSpan16(int x, int y, uint16_t[], int count) SK_OVERRIDE; |
+ private: |
+ SkShader::Context* fShaderContext; |
+ |
+ typedef SkShader::Context INHERITED; |
+ }; |
SK_DEVELOPER_TO_STRING() |
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkFilterShader) |