Index: src/core/SkPathEffect.cpp |
diff --git a/src/core/SkPathEffect.cpp b/src/core/SkPathEffect.cpp |
index 01d5d6f9619a98ab5dfa012b05293da205dfe896..d0748670e36b3727d1d4d56ceb3e8b8369909687 100644 |
--- a/src/core/SkPathEffect.cpp |
+++ b/src/core/SkPathEffect.cpp |
@@ -45,19 +45,26 @@ SkPairPathEffect::~SkPairPathEffect() { |
Format: [oe0-factory][pe1-factory][pe0-size][pe0-data][pe1-data] |
*/ |
void SkPairPathEffect::flatten(SkWriteBuffer& buffer) const { |
- this->INHERITED::flatten(buffer); |
buffer.writeFlattenable(fPE0); |
buffer.writeFlattenable(fPE1); |
} |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
SkPairPathEffect::SkPairPathEffect(SkReadBuffer& buffer) { |
fPE0 = buffer.readPathEffect(); |
fPE1 = buffer.readPathEffect(); |
// either of these may fail, so we have to check for nulls later on |
} |
+#endif |
/////////////////////////////////////////////////////////////////////////////// |
+SkFlattenable* SkComposePathEffect::CreateProc(SkReadBuffer& buffer) { |
+ SkAutoTUnref<SkPathEffect> pe0(buffer.readPathEffect()); |
+ SkAutoTUnref<SkPathEffect> pe1(buffer.readPathEffect()); |
+ return SkComposePathEffect::Create(pe0, pe1); |
+} |
+ |
bool SkComposePathEffect::filterPath(SkPath* dst, const SkPath& src, |
SkStrokeRec* rec, const SkRect* cullRect) const { |
// we may have failed to unflatten these, so we have to check |
@@ -76,6 +83,12 @@ bool SkComposePathEffect::filterPath(SkPath* dst, const SkPath& src, |
/////////////////////////////////////////////////////////////////////////////// |
+SkFlattenable* SkSumPathEffect::CreateProc(SkReadBuffer& buffer) { |
+ SkAutoTUnref<SkPathEffect> pe0(buffer.readPathEffect()); |
+ SkAutoTUnref<SkPathEffect> pe1(buffer.readPathEffect()); |
+ return SkSumPathEffect::Create(pe0, pe1); |
+} |
+ |
bool SkSumPathEffect::filterPath(SkPath* dst, const SkPath& src, |
SkStrokeRec* rec, const SkRect* cullRect) const { |
// use bit-or so that we always call both, even if the first one succeeds |