Index: src/effects/gradients/SkRadialGradient.h |
diff --git a/src/effects/gradients/SkRadialGradient.h b/src/effects/gradients/SkRadialGradient.h |
index 4a725145b030515756ee0b06453e1f22f750c92a..a3d04b1aaf0c4f0deaad00d8ad1e88292c068889 100644 |
--- a/src/effects/gradients/SkRadialGradient.h |
+++ b/src/effects/gradients/SkRadialGradient.h |
@@ -14,10 +14,24 @@ |
class SkRadialGradient : public SkGradientShaderBase { |
public: |
SkRadialGradient(const SkPoint& center, SkScalar radius, const Descriptor&); |
- virtual void shadeSpan(int x, int y, SkPMColor* dstC, int count) |
- SK_OVERRIDE; |
- virtual void shadeSpan16(int x, int y, uint16_t* dstCParam, |
- int count) 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 RadialGradientContext : public SkGradientShaderBase::GradientShaderBaseContext { |
+ public: |
+ RadialGradientContext(const SkRadialGradient& shader, const SkBitmap& device, |
+ const SkPaint& paint, const SkMatrix& matrix); |
+ ~RadialGradientContext() {} |
+ |
+ virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count) SK_OVERRIDE; |
+ virtual void shadeSpan16(int x, int y, uint16_t dstC[], int count) SK_OVERRIDE; |
+ |
+ private: |
+ typedef SkGradientShaderBase::GradientShaderBaseContext INHERITED; |
+ }; |
+ |
virtual BitmapType asABitmap(SkBitmap* bitmap, |
SkMatrix* matrix, |
TileMode* xy) const SK_OVERRIDE; |