Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / include / effects / SkTransparentShader.h
index 7428d44..d9a3e5d 100644 (file)
@@ -14,21 +14,30 @@ class SK_API SkTransparentShader : public SkShader {
 public:
     SkTransparentShader() {}
 
-    virtual uint32_t getFlags() SK_OVERRIDE;
-    virtual bool    setContext(const SkBitmap& device,
-                               const SkPaint& paint,
-                               const SkMatrix& matrix) SK_OVERRIDE;
-    virtual void    shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE;
-    virtual void    shadeSpan16(int x, int y, uint16_t span[], int count) SK_OVERRIDE;
+    virtual size_t contextSize() const SK_OVERRIDE;
+
+    class TransparentShaderContext : public SkShader::Context {
+    public:
+        TransparentShaderContext(const SkTransparentShader& shader, const ContextRec&);
+        virtual ~TransparentShaderContext();
+
+        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 span[], int count) SK_OVERRIDE;
+
+    private:
+        const SkBitmap* fDevice;
+
+        typedef SkShader::Context INHERITED;
+    };
 
     SK_TO_STRING_OVERRIDE()
     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTransparentShader)
 
-private:
-    // these are a cache from the call to setContext()
-    const SkBitmap* fDevice;
-    uint8_t         fAlpha;
+protected:
+    virtual Context* onCreateContext(const ContextRec&, void* storage) const SK_OVERRIDE;
 
+private:
     SkTransparentShader(SkReadBuffer& buffer) : INHERITED(buffer) {}
 
     typedef SkShader INHERITED;