| /* |
| * Copyright 2018 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef SkPicturePriv_DEFINED |
| #define SkPicturePriv_DEFINED |
| |
| #include "SkPicture.h" |
| |
| class SkReadBuffer; |
| class SkWriteBuffer; |
| |
| class SkPicturePriv { |
| public: |
| /** |
| * 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::MakeFromBuffer(). |
| * @param buffer Serialized picture data. |
| * @return A new SkPicture representing the serialized data, or NULL if the buffer is |
| * invalid. |
| */ |
| static sk_sp<SkPicture> MakeFromBuffer(SkReadBuffer& buffer); |
| |
| /** |
| * Serialize to a buffer. |
| */ |
| static void Flatten(const sk_sp<const SkPicture> , SkWriteBuffer& buffer); |
| |
| // Returns NULL if this is not an SkBigPicture. |
| static const SkBigPicture* AsSkBigPicture(const sk_sp<const SkPicture> picture) { |
| return picture->asSkBigPicture(); |
| } |
| }; |
| |
| #endif |