aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/core/SkImageDeserializer.h2
-rw-r--r--include/core/SkPicture.h12
-rw-r--r--include/core/SkWriteBuffer.h8
-rw-r--r--src/core/SkPicture.cpp53
-rw-r--r--src/core/SkReadBuffer.h2
-rw-r--r--src/image/SkImage.cpp2
6 files changed, 32 insertions, 47 deletions
diff --git a/include/core/SkImageDeserializer.h b/include/core/SkImageDeserializer.h
index a8e37b69f0..ba1422647b 100644
--- a/include/core/SkImageDeserializer.h
+++ b/include/core/SkImageDeserializer.h
@@ -14,7 +14,6 @@ struct SkIRect;
class SkData;
class SkImage;
-#ifdef SK_SUPPORT_LEGACY_IMAGEDESERIALIZER
class SK_API SkImageDeserializer {
public:
virtual ~SkImageDeserializer() {}
@@ -33,6 +32,5 @@ public:
virtual sk_sp<SkImage> makeFromData(SkData*, const SkIRect* subset);
virtual sk_sp<SkImage> makeFromMemory(const void* data, size_t length, const SkIRect* subset);
};
-#endif
#endif
diff --git a/include/core/SkPicture.h b/include/core/SkPicture.h
index cb8dcc2215..1e32636ca3 100644
--- a/include/core/SkPicture.h
+++ b/include/core/SkPicture.h
@@ -19,9 +19,7 @@ class SkCanvas;
class SkData;
struct SkDeserialProcs;
class SkImage;
-#ifdef SK_SUPPORT_LEGACY_IMAGEDESERIALIZER
class SkImageDeserializer;
-#endif
class SkPath;
class SkPictureData;
class SkPixelSerializer;
@@ -60,15 +58,11 @@ public:
* Any serialized images in the stream will be passed the image-deserializer, or if that is
* null, to the default deserializer that will call SkImage::MakeFromEncoded().
*/
-#ifdef SK_SUPPORT_LEGACY_IMAGEDESERIALIZER
static sk_sp<SkPicture> MakeFromStream(SkStream*, SkImageDeserializer*);
- static sk_sp<SkPicture> MakeFromData(const SkData* data, SkImageDeserializer*);
- static sk_sp<SkPicture> MakeFromData(const void* data, size_t size, SkImageDeserializer*);
-#endif
-
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> MakeFromData(const void* data, size_t size,
+ SkImageDeserializer* = nullptr);
+ static sk_sp<SkPicture> MakeFromData(const SkData* data, SkImageDeserializer* = nullptr);
static sk_sp<SkPicture> MakeFromStream(SkStream*, const SkDeserialProcs& procs);
static sk_sp<SkPicture> MakeFromData(const SkData* data, const SkDeserialProcs& procs);
diff --git a/include/core/SkWriteBuffer.h b/include/core/SkWriteBuffer.h
index 0b1ae0c1aa..b0b6fd993a 100644
--- a/include/core/SkWriteBuffer.h
+++ b/include/core/SkWriteBuffer.h
@@ -9,6 +9,8 @@
#ifndef SkWriteBuffer_DEFINED
#define SkWriteBuffer_DEFINED
+#define SK_SUPPORT_LEGACY_SERIAL_BUFFER_OBJECTS
+
#include "SkData.h"
#include "SkImage.h"
#include "SkPath.h"
@@ -18,7 +20,9 @@
#include "SkWriter32.h"
#include "../private/SkTHash.h"
+#ifdef SK_SUPPORT_LEGACY_SERIAL_BUFFER_OBJECTS
#include "SkPixelSerializer.h"
+#endif
class SkBitmap;
class SkDeduper;
@@ -153,7 +157,9 @@ public:
SkFactorySet* setFactoryRecorder(SkFactorySet*);
SkRefCntSet* setTypefaceRecorder(SkRefCntSet*);
+#ifdef SK_SUPPORT_LEGACY_SERIAL_BUFFER_OBJECTS
void setPixelSerializer(sk_sp<SkPixelSerializer>);
+#endif
private:
const uint32_t fFlags;
@@ -165,7 +171,9 @@ private:
// Only used if we do not have an fFactorySet
SkTHashMap<SkString, uint32_t> fFlattenableDict;
+#ifdef SK_SUPPORT_LEGACY_SERIAL_BUFFER_OBJECTS
sk_sp<SkPixelSerializer> fPS;
+#endif
};
#endif // SkWriteBuffer_DEFINED
diff --git a/src/core/SkPicture.cpp b/src/core/SkPicture.cpp
index f5085a63f6..2761c417a6 100644
--- a/src/core/SkPicture.cpp
+++ b/src/core/SkPicture.cpp
@@ -143,13 +143,18 @@ sk_sp<SkPicture> SkPicture::Forwardport(const SkPictInfo& info,
return r.finishRecordingAsPicture();
}
-#ifdef SK_SUPPORT_LEGACY_IMAGEDESERIALIZER
sk_sp<SkPicture> SkPicture::MakeFromStream(SkStream* stream, SkImageDeserializer* factory) {
SkDeserialProcs procs;
procs.fImageProc = ImageDeserializer_SkDeserialImageProc;
procs.fImageCtx = factory;
return MakeFromStream(stream, procs, nullptr);
}
+
+sk_sp<SkPicture> SkPicture::MakeFromStream(SkStream* stream) {
+ SkImageDeserializer factory;
+ return MakeFromStream(stream, &factory);
+}
+
sk_sp<SkPicture> SkPicture::MakeFromData(const void* data, size_t size,
SkImageDeserializer* factory) {
SkMemoryStream stream(data, size);
@@ -163,28 +168,6 @@ sk_sp<SkPicture> SkPicture::MakeFromData(const SkData* data, SkImageDeserializer
SkMemoryStream stream(data->data(), data->size());
return MakeFromStream(&stream, factory);
}
-#endif
-
-sk_sp<SkPicture> SkPicture::MakeFromStream(SkStream* stream) {
- return MakeFromStream(stream, SkDeserialProcs(), nullptr);
-}
-
-sk_sp<SkPicture> SkPicture::MakeFromData(const void* data, size_t size) {
- if (!data) {
- return nullptr;
- }
- SkMemoryStream stream(data, size);
- return MakeFromStream(&stream, SkDeserialProcs(), nullptr);
-}
-
-sk_sp<SkPicture> SkPicture::MakeFromData(const SkData* data) {
- if (!data) {
- return nullptr;
- }
- SkMemoryStream stream(data->data(), data->size());
- return MakeFromStream(&stream, SkDeserialProcs(), nullptr);
-}
-
sk_sp<SkPicture> SkPicture::MakeFromData(const SkData* data, const SkDeserialProcs& procs) {
if (!data) {
@@ -382,13 +365,24 @@ bool SkPicture::PictureIOSecurityPrecautionsEnabled() {
//////////////////////////////////////////////////////////////////////////////////////////////////
-#include "SkReadBuffer.h"
-#include "SkWriteBuffer.h"
-
sk_sp<SkData> PixelSerializer_SkSerialImageProc(SkImage* img, void* ctx) {
SkASSERT(ctx);
return img->encodeToData(static_cast<SkPixelSerializer*>(ctx));
}
+
+sk_sp<SkImage> ImageDeserializer_SkDeserialImageProc(const void* data, size_t length, void* ctx) {
+ SkASSERT(ctx);
+ SkImageDeserializer* imd = static_cast<SkImageDeserializer*>(ctx);
+ const SkIRect* subset = nullptr;
+ return imd->makeFromMemory(data, length, subset);
+}
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+#ifdef SK_SUPPORT_LEGACY_SERIAL_BUFFER_OBJECTS
+#include "SkReadBuffer.h"
+#include "SkWriteBuffer.h"
+
void SkBinaryWriteBuffer::setPixelSerializer(sk_sp<SkPixelSerializer> ps) {
fPS = ps;
if (ps) {
@@ -400,13 +394,6 @@ void SkBinaryWriteBuffer::setPixelSerializer(sk_sp<SkPixelSerializer> ps) {
}
}
-#ifdef SK_SUPPORT_LEGACY_IMAGEDESERIALIZER
-sk_sp<SkImage> ImageDeserializer_SkDeserialImageProc(const void* data, size_t length, void* ctx) {
- SkASSERT(ctx);
- SkImageDeserializer* imd = static_cast<SkImageDeserializer*>(ctx);
- const SkIRect* subset = nullptr;
- return imd->makeFromMemory(data, length, subset);
-}
void SkReadBuffer::setImageDeserializer(SkImageDeserializer* factory) {
if (factory) {
fProcs.fImageProc = ImageDeserializer_SkDeserialImageProc;
diff --git a/src/core/SkReadBuffer.h b/src/core/SkReadBuffer.h
index 28ea3d4d74..4c0ca9bec2 100644
--- a/src/core/SkReadBuffer.h
+++ b/src/core/SkReadBuffer.h
@@ -216,7 +216,7 @@ public:
void setDeserialProcs(const SkDeserialProcs& procs);
-#ifdef SK_SUPPORT_LEGACY_IMAGEDESERIALIZER
+#ifdef SK_SUPPORT_LEGACY_SERIAL_BUFFER_OBJECTS
void setImageDeserializer(SkImageDeserializer* factory);
#endif
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp
index 31104d2548..01aceab773 100644
--- a/src/image/SkImage.cpp
+++ b/src/image/SkImage.cpp
@@ -405,7 +405,6 @@ sk_sp<SkImage> MakeTextureFromMipMap(GrContext*, const SkImageInfo&, const GrMip
}
///////////////////////////////////////////////////////////////////////////////////////////////////
-#ifdef SK_SUPPORT_LEGACY_IMAGEDESERIALIZER
#include "SkImageDeserializer.h"
sk_sp<SkImage> SkImageDeserializer::makeFromData(SkData* data, const SkIRect* subset) {
@@ -415,7 +414,6 @@ sk_sp<SkImage> SkImageDeserializer::makeFromMemory(const void* data, size_t leng
const SkIRect* subset) {
return SkImage::MakeFromEncoded(SkData::MakeWithCopy(data, length), subset);
}
-#endif
///////////////////////////////////////////////////////////////////////////////////////////////////