/*
|
* 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
|