| Index: include/core/SkPicture.h
|
| diff --git a/include/core/SkPicture.h b/include/core/SkPicture.h
|
| index 82d6835dbd9e15906f53d3e550439d9b20d95263..a717153dbed9aef0c090e49610a73184d92a6c9f 100644
|
| --- a/include/core/SkPicture.h
|
| +++ b/include/core/SkPicture.h
|
| @@ -68,6 +68,16 @@ public:
|
| static SkPicture* CreateFromStream(SkStream*,
|
| InstallPixelRefProc proc = &SkImageDecoder::DecodeMemory);
|
|
|
| + /**
|
| + * Recreate a picture that was serialized into a buffer. If the creation requires bitmap
|
| + * decoding, the decoder must be set on the SkReadBuffer parameter by calling
|
| + * SkReadBuffer::setBitmapDecoder() before calling SkPicture::CreateFromBuffer().
|
| + * @param SkReadBuffer Serialized picture data.
|
| + * @return A new SkPicture representing the serialized data, or NULL if the buffer is
|
| + * invalid.
|
| + */
|
| + static SkPicture* CreateFromBuffer(SkReadBuffer&);
|
| +
|
| virtual ~SkPicture();
|
|
|
| /**
|
| @@ -187,6 +197,11 @@ public:
|
| void serialize(SkWStream*, EncodeBitmap encoder = NULL) const;
|
|
|
| /**
|
| + * Serialize to a buffer.
|
| + */
|
| + void flatten(SkWriteBuffer&) const;
|
| +
|
| + /**
|
| * Returns true if any bitmaps may be produced when this SkPicture
|
| * is replayed.
|
| * Returns false if called while still recording.
|
| @@ -223,7 +238,8 @@ protected:
|
| // V17: SkPixelRef now writes SkImageInfo
|
| // V18: SkBitmap now records x,y for its pixelref origin, instead of offset.
|
| // V19: encode matrices and regions into the ops stream
|
| - static const uint32_t PICTURE_VERSION = 19;
|
| + // V20: added bool to SkPictureImageFilter's serialization (to allow SkPicture serialization)
|
| + static const uint32_t PICTURE_VERSION = 20;
|
|
|
| // fPlayback, fRecord, fWidth & fHeight are protected to allow derived classes to
|
| // install their own SkPicturePlayback-derived players,SkPictureRecord-derived
|
| @@ -245,7 +261,10 @@ protected:
|
| // will be ready to be parsed to create an SkPicturePlayback.
|
| // If false is returned, SkPictInfo is unmodified.
|
| static bool StreamIsSKP(SkStream*, SkPictInfo*);
|
| + static bool BufferIsSKP(SkReadBuffer&, SkPictInfo*);
|
| private:
|
| + void createHeader(void* header) const;
|
| +
|
| friend class SkFlatPicture;
|
| friend class SkPicturePlayback;
|
|
|
|
|