aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/core/SkPicture.h26
-rw-r--r--include/core/SkSerialProcs.h4
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;