aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPipe.h
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-09-15 14:24:53 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-15 14:24:53 -0700
commit262052c9261a567f937ae05ade11ea7a3d280f4c (patch)
treec15137376759bec2e064d9ce1146a96c5e69a3eb /src/core/SkPipe.h
parent7bffcd2673015f04fd3e20785746be38dd81b566 (diff)
test/fix/tweak writePicture/readPicture
Diffstat (limited to 'src/core/SkPipe.h')
-rw-r--r--src/core/SkPipe.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/core/SkPipe.h b/src/core/SkPipe.h
index d3d5a362e7..04c3ae2dca 100644
--- a/src/core/SkPipe.h
+++ b/src/core/SkPipe.h
@@ -8,7 +8,7 @@
#ifndef SkPipe_DEFINED
#define SkPipe_DEFINED
-#include "SkTypes.h"
+#include "SkData.h"
class SkCanvas;
class SkImage;
@@ -27,8 +27,11 @@ public:
void resetCache();
- void write(SkPicture*, SkWStream*);
- void write(SkImage*, SkWStream*);
+ sk_sp<SkData> writeImage(SkImage*);
+ sk_sp<SkData> writePicture(SkPicture*);
+
+ void writeImage(SkImage*, SkWStream*);
+ void writePicture(SkPicture*, SkWStream*);
SkCanvas* beginWrite(const SkRect& cullBounds, SkWStream*);
void endWrite();
@@ -46,8 +49,23 @@ public:
// Ownership is not transferred, so caller must ceep the deserializer alive
void setTypefaceDeserializer(SkTypefaceDeserializer*);
- sk_sp<SkPicture> readPicture(const void*, size_t);
+ sk_sp<SkImage> readImage(const SkData* data) {
+ if (!data) {
+ return nullptr;
+ }
+ return this->readImage(data->data(), data->size());
+ }
+
+ sk_sp<SkPicture> readPicture(const SkData* data) {
+ if (!data) {
+ return nullptr;
+ }
+ return this->readPicture(data->data(), data->size());
+ }
+
sk_sp<SkImage> readImage(const void*, size_t);
+ sk_sp<SkPicture> readPicture(const void*, size_t);
+
bool playback(const void*, size_t, SkCanvas*);
private: