Index: src/effects/SkPictureImageFilter.cpp |
diff --git a/src/effects/SkPictureImageFilter.cpp b/src/effects/SkPictureImageFilter.cpp |
index d0f4d54308cc514228ee1b108e13eca8d039afe6..95e672008dfbaf1ce523873360b3a717705c8b53 100644 |
--- a/src/effects/SkPictureImageFilter.cpp |
+++ b/src/effects/SkPictureImageFilter.cpp |
@@ -31,6 +31,7 @@ SkPictureImageFilter::~SkPictureImageFilter() { |
SkSafeUnref(fPicture); |
} |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
SkPictureImageFilter::SkPictureImageFilter(SkReadBuffer& buffer) |
: INHERITED(0, buffer), |
fPicture(NULL) { |
@@ -43,9 +44,25 @@ SkPictureImageFilter::SkPictureImageFilter(SkReadBuffer& buffer) |
} |
buffer.readRect(&fCropRect); |
} |
+#endif |
+ |
+SkFlattenable* SkPictureImageFilter::CreateProc(SkReadBuffer& buffer) { |
+ SkAutoTUnref<SkPicture> picture; |
+ SkRect cropRect; |
+ |
+ if (!buffer.isCrossProcess()) { |
+ if (buffer.readBool()) { |
+ picture.reset(SkPicture::CreateFromBuffer(buffer)); |
+ } |
+ } else { |
+ buffer.validate(!buffer.readBool()); |
+ } |
+ buffer.readRect(&cropRect); |
+ |
+ return Create(picture, cropRect); |
+} |
void SkPictureImageFilter::flatten(SkWriteBuffer& buffer) const { |
- this->INHERITED::flatten(buffer); |
if (!buffer.isCrossProcess()) { |
bool hasPicture = (fPicture != NULL); |
buffer.writeBool(hasPicture); |