Chromium Code Reviews| Index: src/effects/SkPictureImageFilter.cpp |
| diff --git a/src/effects/SkPictureImageFilter.cpp b/src/effects/SkPictureImageFilter.cpp |
| index ae9576043f994c3142294fde0dbcb30acf750a3a..40c3659c7f6c994eefc87296ad7e5c3ff06bf8a0 100644 |
| --- a/src/effects/SkPictureImageFilter.cpp |
| +++ b/src/effects/SkPictureImageFilter.cpp |
| @@ -34,13 +34,27 @@ SkPictureImageFilter::~SkPictureImageFilter() { |
| SkPictureImageFilter::SkPictureImageFilter(SkReadBuffer& buffer) |
| : INHERITED(0, buffer), |
| fPicture(NULL) { |
| - // FIXME: unflatten picture here. |
| +#ifdef SK_ALLOW_PICTUREIMAGEFILTER_SERIALIZATION |
| + if (buffer.readBool()) { |
| + fPicture = SkPicture::CreateFromBuffer(buffer); |
| + } |
| +#else |
| + buffer.readBool(); |
| +#endif |
| buffer.readRect(&fRect); |
| } |
| void SkPictureImageFilter::flatten(SkWriteBuffer& buffer) const { |
| this->INHERITED::flatten(buffer); |
| - // FIXME: flatten picture here. |
| +#ifdef SK_ALLOW_PICTUREIMAGEFILTER_SERIALIZATION |
| + bool hasPicture = (fPicture != NULL); |
| + buffer.writeBool(hasPicture); |
| + if (hasPicture) { |
| + fPicture->flatten(buffer); |
| + } |
| +#else |
| + buffer.writeBool(false); |
|
scroggo
2014/02/06 15:52:47
This will require a change to the PICTURE_VERSION.
sugoi1
2014/02/06 16:37:40
Done.
|
| +#endif |
| buffer.writeRect(fRect); |
| } |