Index: src/effects/gradients/SkTwoPointRadialGradient.h |
diff --git a/src/effects/gradients/SkTwoPointRadialGradient.h b/src/effects/gradients/SkTwoPointRadialGradient.h |
index ee1b49ee952ce52a79c36245c05a3aef69c0837c..b6750a9c868a87df8b8d8eb60c5c341c375c474b 100644 |
--- a/src/effects/gradients/SkTwoPointRadialGradient.h |
+++ b/src/effects/gradients/SkTwoPointRadialGradient.h |
@@ -23,11 +23,24 @@ public: |
virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE; |
virtual GrEffectRef* asNewEffect(GrContext* context, const SkPaint&) const SK_OVERRIDE; |
- virtual void shadeSpan(int x, int y, SkPMColor* dstCParam, |
- int count) SK_OVERRIDE; |
- virtual bool setContext(const SkBitmap& device, |
- const SkPaint& paint, |
- const SkMatrix& matrix) SK_OVERRIDE; |
+ |
+ virtual size_t contextSize() const SK_OVERRIDE; |
+ bool validContext(const SkBitmap&, const SkPaint&, const SkMatrix&) const SK_OVERRIDE; |
+ virtual SkShader::Context* createContext(const SkBitmap&, const SkPaint&, const SkMatrix&, |
+ void* storage) const SK_OVERRIDE; |
+ |
+ class TwoPointRadialGradientContext : public SkGradientShaderBase::GradientShaderBaseContext { |
+ public: |
+ TwoPointRadialGradientContext(const SkTwoPointRadialGradient& shader, |
+ const SkBitmap& device, |
+ const SkPaint& paint, |
+ const SkMatrix& matrix); |
+ ~TwoPointRadialGradientContext() {} |
+ |
+ virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count) SK_OVERRIDE; |
+ |
+ typedef SkGradientShaderBase::GradientShaderBaseContext INHERITED; |
+ }; |
SkScalar getCenterX1() const { return fDiff.length(); } |
SkScalar getStartRadius() const { return fStartRadius; } |