Index: src/effects/gradients/SkTwoPointConicalGradient.cpp |
diff --git a/src/effects/gradients/SkTwoPointConicalGradient.cpp b/src/effects/gradients/SkTwoPointConicalGradient.cpp |
index 91856c88a2eabdeb58f131e6e1d9eadf9dbed541..02375786d105cb96c7fc4821cd9a65a0eb4c6177 100644 |
--- a/src/effects/gradients/SkTwoPointConicalGradient.cpp |
+++ b/src/effects/gradients/SkTwoPointConicalGradient.cpp |
@@ -343,6 +343,7 @@ SkShader::GradientType SkTwoPointConicalGradient::asAGradient( |
return kConical_GradientType; |
} |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
SkTwoPointConicalGradient::SkTwoPointConicalGradient( |
SkReadBuffer& buffer) |
: INHERITED(buffer), |
@@ -366,9 +367,25 @@ SkTwoPointConicalGradient::SkTwoPointConicalGradient( |
} |
this->init(); |
}; |
+#endif |
+ |
+SkFlattenable* SkTwoPointConicalGradient::CreateProc(SkReadBuffer& buffer) { |
+ DescriptorScope desc; |
+ if (!desc.unflatten(buffer)) { |
+ return NULL; |
+ } |
+ const SkPoint c1 = buffer.readPoint(); |
+ const SkPoint c2 = buffer.readPoint(); |
+ const SkScalar r1 = buffer.readScalar(); |
+ const SkScalar r2 = buffer.readScalar(); |
+ /* flippedGrad = */ buffer.readBool(); |
+ |
+ return SkGradientShader::CreateTwoPointConical(c1, r1, c2, r2, desc.fColors, desc.fPos, |
+ desc.fCount, desc.fTileMode, desc.fGradFlags, |
+ desc.fLocalMatrix); |
+} |
-void SkTwoPointConicalGradient::flatten( |
- SkWriteBuffer& buffer) const { |
+void SkTwoPointConicalGradient::flatten(SkWriteBuffer& buffer) const { |
this->INHERITED::flatten(buffer); |
buffer.writePoint(fCenter1); |
buffer.writePoint(fCenter2); |