Index: src/effects/SkLayerRasterizer.cpp |
diff --git a/src/effects/SkLayerRasterizer.cpp b/src/effects/SkLayerRasterizer.cpp |
index 90fd59b585b6d9acde121aa18c714f313d795a2c..d4ac221a344a1f0a06066f5fc3350c4160ad8727 100644 |
--- a/src/effects/SkLayerRasterizer.cpp |
+++ b/src/effects/SkLayerRasterizer.cpp |
@@ -159,16 +159,22 @@ bool SkLayerRasterizer::onRasterize(const SkPath& path, const SkMatrix& matrix, |
return true; |
} |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
SkLayerRasterizer::SkLayerRasterizer(SkReadBuffer& buffer) |
: SkRasterizer(buffer), fLayers(ReadLayers(buffer)) {} |
+#endif |
+ |
+SkFlattenable* SkLayerRasterizer::CreateProc(SkReadBuffer& buffer) { |
+ return SkNEW_ARGS(SkLayerRasterizer, (ReadLayers(buffer))); |
+} |
SkDeque* SkLayerRasterizer::ReadLayers(SkReadBuffer& buffer) { |
int count = buffer.readInt(); |
- |
+ |
SkDeque* layers = SkNEW_ARGS(SkDeque, (sizeof(SkLayerRasterizer_Rec))); |
for (int i = 0; i < count; i++) { |
SkLayerRasterizer_Rec* rec = (SkLayerRasterizer_Rec*)layers->push_back(); |
- |
+ |
SkNEW_PLACEMENT(&rec->fPaint, SkPaint); |
buffer.readPaint(&rec->fPaint); |
buffer.readPoint(&rec->fOffset); |