Index: src/effects/gradients/SkTwoPointRadialGradient.h |
diff --git a/src/effects/gradients/SkTwoPointRadialGradient.h b/src/effects/gradients/SkTwoPointRadialGradient.h |
index ee1b49ee952ce52a79c36245c05a3aef69c0837c..84bc3f3ae52311bf8fb7bab27d174acf45b8c85f 100644 |
--- a/src/effects/gradients/SkTwoPointRadialGradient.h |
+++ b/src/effects/gradients/SkTwoPointRadialGradient.h |
@@ -23,11 +23,25 @@ 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; |
+ |
+ private: |
+ typedef SkGradientShaderBase::GradientShaderBaseContext INHERITED; |
+ }; |
SkScalar getCenterX1() const { return fDiff.length(); } |
SkScalar getStartRadius() const { return fStartRadius; } |
@@ -41,7 +55,6 @@ protected: |
virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE; |
private: |
- typedef SkGradientShaderBase INHERITED; |
const SkPoint fCenter1; |
const SkPoint fCenter2; |
const SkScalar fRadius1; |
@@ -50,6 +63,8 @@ private: |
SkScalar fStartRadius, fDiffRadius, fSr2D2, fA, fOneOverTwoA; |
void init(); |
+ |
+ typedef SkGradientShaderBase INHERITED; |
}; |
#endif |