aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkGradientShader.cpp
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-11-10 16:19:39 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-11-10 16:19:39 +0000
commitbcfc73321db47bde7638a1077992301ee56117b1 (patch)
tree859b2a1dfaefc43b32fcaa5311c38f2ea3674e53 /src/effects/SkGradientShader.cpp
parentc6ddc110c0f4bd16b5ce61cad6c6ac4213c026a0 (diff)
flatten/unflatten custom fields for 2-point gradient
git-svn-id: http://skia.googlecode.com/svn/trunk@423 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/effects/SkGradientShader.cpp')
-rw-r--r--src/effects/SkGradientShader.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/effects/SkGradientShader.cpp b/src/effects/SkGradientShader.cpp
index a30de6a937..780ad18977 100644
--- a/src/effects/SkGradientShader.cpp
+++ b/src/effects/SkGradientShader.cpp
@@ -1330,8 +1330,28 @@ public:
return SkNEW_ARGS(Two_Point_Radial_Gradient, (buffer));
}
+ virtual void flatten(SkFlattenableWriteBuffer& buffer) {
+ this->INHERITED::flatten(buffer);
+ buffer.writeScalar(fDiff.fX);
+ buffer.writeScalar(fDiff.fY);
+ buffer.writeScalar(fStartRadius);
+ buffer.writeScalar(fDiffRadius);
+ buffer.writeScalar(fSr2D2);
+ buffer.writeScalar(fA);
+ buffer.writeScalar(fOneOverTwoA);
+ }
+
protected:
- Two_Point_Radial_Gradient(SkFlattenableReadBuffer& buffer) : Gradient_Shader(buffer) {};
+ Two_Point_Radial_Gradient(SkFlattenableReadBuffer& buffer)
+ : Gradient_Shader(buffer) {
+ fDiff.fX = buffer.readScalar();
+ fDiff.fY = buffer.readScalar();
+ fStartRadius = buffer.readScalar();
+ fDiffRadius = buffer.readScalar();
+ fSr2D2 = buffer.readScalar();
+ fA = buffer.readScalar();
+ fOneOverTwoA = buffer.readScalar();
+ };
virtual Factory getFactory() { return CreateProc; }
virtual void onCacheReset() {}