| Index: include/core/SkPicture.h
|
| diff --git a/include/core/SkPicture.h b/include/core/SkPicture.h
|
| index 75fe66d2bf92fe562311dd6e16c89506b33cfeed..625204db76a1827e6be58f9a53aab7631591658e 100644
|
| --- a/include/core/SkPicture.h
|
| +++ b/include/core/SkPicture.h
|
| @@ -16,6 +16,8 @@ class GrContext;
|
| class SkBigPicture;
|
| class SkBitmap;
|
| class SkCanvas;
|
| +class SkData;
|
| +class SkImage;
|
| class SkPath;
|
| class SkPictureData;
|
| class SkPixelSerializer;
|
| @@ -27,6 +29,13 @@ class SkWStream;
|
| class SkWriteBuffer;
|
| struct SkPictInfo;
|
|
|
| +class SkImageDeserializer {
|
| +public:
|
| + virtual ~SkImageDeserializer() {}
|
| +
|
| + virtual sk_sp<SkImage> deserialize(sk_sp<SkData>, const SkIRect* subset) = 0;
|
| +};
|
| +
|
| /** \class SkPicture
|
|
|
| An SkPicture records drawing commands made to a canvas to be played back at a later time.
|
| @@ -49,6 +58,7 @@ public:
|
| */
|
| typedef bool (*InstallPixelRefProc)(const void* src, size_t length, SkBitmap* dst);
|
|
|
| +#ifdef SK_SUPPORT_LEGACY_PICTUREINSTALLPIXELREF
|
| /**
|
| * Recreate a picture that was serialized into a stream.
|
| * @param SkStream Serialized picture data. Ownership is unchanged by this call.
|
| @@ -58,6 +68,9 @@ public:
|
| * invalid.
|
| */
|
| static sk_sp<SkPicture> MakeFromStream(SkStream*, InstallPixelRefProc proc);
|
| +#endif
|
| +
|
| + static sk_sp<SkPicture> MakeFromStreamWithDeserializer(SkStream*, SkImageDeserializer*);
|
|
|
| /**
|
| * Recreate a picture that was serialized into a stream.
|
| @@ -188,7 +201,8 @@ private:
|
| template <typename> friend class SkMiniPicture;
|
|
|
| void serialize(SkWStream*, SkPixelSerializer*, SkRefCntSet* typefaces) const;
|
| - static sk_sp<SkPicture> MakeFromStream(SkStream*, InstallPixelRefProc, SkTypefacePlayback*);
|
| +// static sk_sp<SkPicture> MakeFromStream(SkStream*, InstallPixelRefProc, SkTypefacePlayback*);
|
| + static sk_sp<SkPicture> MakeFromStream(SkStream*, SkImageDeserializer*, SkTypefacePlayback*);
|
| friend class SkPictureData;
|
|
|
| virtual int numSlowPaths() const = 0;
|
|
|