diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkPicture.h | 26 | ||||
-rw-r--r-- | include/core/SkSerialProcs.h | 4 |
2 files changed, 17 insertions, 13 deletions
diff --git a/include/core/SkPicture.h b/include/core/SkPicture.h index ba01a929f6..85b2368814 100644 --- a/include/core/SkPicture.h +++ b/include/core/SkPicture.h @@ -38,13 +38,10 @@ public: * Recreate a picture that was serialized into a stream or data. */ - static sk_sp<SkPicture> MakeFromStream(SkStream*); - static sk_sp<SkPicture> MakeFromData(const SkData* data); - static sk_sp<SkPicture> MakeFromData(const void* data, size_t size); - - static sk_sp<SkPicture> MakeFromStream(SkStream*, const SkDeserialProcs& procs); - static sk_sp<SkPicture> MakeFromData(const SkData* data, const SkDeserialProcs& procs); - static sk_sp<SkPicture> MakeFromData(sk_sp<SkData> data, const SkDeserialProcs& procs); + static sk_sp<SkPicture> MakeFromStream(SkStream*, const SkDeserialProcs* = nullptr); + static sk_sp<SkPicture> MakeFromData(const SkData* data, const SkDeserialProcs* = nullptr); + static sk_sp<SkPicture> MakeFromData(const void* data, size_t size, + const SkDeserialProcs* = nullptr); /** * Recreate a picture that was serialized into a buffer. If the creation requires bitmap @@ -90,9 +87,16 @@ public: /** Returns a non-zero value unique among all pictures. */ uint32_t uniqueID() const; - sk_sp<SkData> serialize() const; - void serialize(SkWStream*) const; + sk_sp<SkData> serialize(const SkSerialProcs* = nullptr) const; + void serialize(SkWStream*, const SkSerialProcs* = nullptr) const; + +#ifdef SK_SUPPORT_LEGACY_SERIALPROCS_REF sk_sp<SkData> serialize(const SkSerialProcs&) const; + static sk_sp<SkPicture> MakeFromStream(SkStream*, const SkDeserialProcs& procs); + static sk_sp<SkPicture> MakeFromData(const SkData* data, const SkDeserialProcs& procs); + static sk_sp<SkPicture> MakeFromData(sk_sp<SkData> data, const SkDeserialProcs& procs); + static sk_sp<SkPicture> MakeFromData(sk_sp<SkData>, const SkDeserialProcs* = nullptr); +#endif /** * Serialize to a buffer. @@ -121,8 +125,8 @@ private: friend class SkEmptyPicture; template <typename> friend class SkMiniPicture; - void serialize(SkWStream*, const SkSerialProcs&, SkRefCntSet* typefaces) const; - static sk_sp<SkPicture> MakeFromStream(SkStream*, const SkDeserialProcs&, SkTypefacePlayback*); + void serialize(SkWStream*, const SkSerialProcs*, SkRefCntSet* typefaces) const; + static sk_sp<SkPicture> MakeFromStream(SkStream*, const SkDeserialProcs*, SkTypefacePlayback*); friend class SkPictureData; /** Return true if the SkStream/Buffer represents a serialized picture, and diff --git a/include/core/SkSerialProcs.h b/include/core/SkSerialProcs.h index cd8773255c..0c20f08b5c 100644 --- a/include/core/SkSerialProcs.h +++ b/include/core/SkSerialProcs.h @@ -36,7 +36,7 @@ typedef sk_sp<SkPicture> (*SkDeserialPictureProc)(const void* data, size_t lengt typedef sk_sp<SkImage> (*SkDeserialImageProc)(const void* data, size_t length, void* ctx); typedef sk_sp<SkTypeface> (*SkDeserialTypefaceProc)(const void* data, size_t length, void* ctx); -struct SkSerialProcs { +struct SK_API SkSerialProcs { SkSerialPictureProc fPictureProc = nullptr; void* fPictureCtx = nullptr; @@ -47,7 +47,7 @@ struct SkSerialProcs { void* fTypefaceCtx = nullptr; }; -struct SkDeserialProcs { +struct SK_API SkDeserialProcs { SkDeserialPictureProc fPictureProc = nullptr; void* fPictureCtx = nullptr; |