Index: src/effects/gradients/SkTwoPointConicalGradient.h |
diff --git a/src/effects/gradients/SkTwoPointConicalGradient.h b/src/effects/gradients/SkTwoPointConicalGradient.h |
index dd77299c7ddfb3d0ffb1a9ad80d46e22f061655e..7b0d54338324943626e515df6174dc5ba3e873b5 100644 |
--- a/src/effects/gradients/SkTwoPointConicalGradient.h |
+++ b/src/effects/gradients/SkTwoPointConicalGradient.h |
@@ -11,6 +11,8 @@ |
#include "SkGradientShaderPriv.h" |
+// TODO(dominikg): Worth making it truly immutable (i.e. set values in constructor)? |
+// Should only be initialized once via init(). Immutable afterwards. |
struct TwoPtRadial { |
enum { |
kDontDrawT = 0x80000000 |
@@ -27,13 +29,6 @@ struct TwoPtRadial { |
void init(const SkPoint& center0, SkScalar rad0, |
const SkPoint& center1, SkScalar rad1); |
- // used by setup and nextT |
- float fRelX, fRelY, fIncX, fIncY; |
- float fB, fDB; |
- |
- void setup(SkScalar fx, SkScalar fy, SkScalar dfx, SkScalar dfy); |
- SkFixed nextT(); |
- |
static bool DontDrawT(SkFixed t) { |
return kDontDrawT == (uint32_t)t; |
} |
@@ -49,11 +44,23 @@ public: |
const SkPoint& end, SkScalar endRadius, |
const Descriptor&); |
- 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 SkShader::Context* createContext(const SkBitmap&, const SkPaint&, const SkMatrix&, |
+ void* storage) const SK_OVERRIDE; |
+ virtual size_t contextSize() const SK_OVERRIDE; |
+ |
+ class TwoPointConicalGradientContext : public SkGradientShaderBase::GradientShaderBaseContext { |
+ public: |
+ TwoPointConicalGradientContext(const SkTwoPointConicalGradient& shader, |
+ const SkBitmap& device, |
+ const SkPaint& paint, |
+ const SkMatrix& matrix); |
+ ~TwoPointConicalGradientContext() {} |
+ |
+ virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count) SK_OVERRIDE; |
+ |
+ typedef SkGradientShaderBase::GradientShaderBaseContext INHERITED; |
+ }; |
virtual BitmapType asABitmap(SkBitmap* bitmap, |
SkMatrix* matrix, |