From bcfc73321db47bde7638a1077992301ee56117b1 Mon Sep 17 00:00:00 2001 From: "reed@android.com" Date: Tue, 10 Nov 2009 16:19:39 +0000 Subject: flatten/unflatten custom fields for 2-point gradient git-svn-id: http://skia.googlecode.com/svn/trunk@423 2bbb7eff-a529-9590-31e7-b0007b416f81 --- src/effects/SkGradientShader.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/effects/SkGradientShader.cpp') 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() {} -- cgit v1.2.3