diff options
author | reed <reed@google.com> | 2016-09-15 14:24:53 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-09-15 14:24:53 -0700 |
commit | 262052c9261a567f937ae05ade11ea7a3d280f4c (patch) | |
tree | c15137376759bec2e064d9ce1146a96c5e69a3eb /src/core/SkPipe.h | |
parent | 7bffcd2673015f04fd3e20785746be38dd81b566 (diff) |
test/fix/tweak writePicture/readPicture
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2347593004
Review-Url: https://codereview.chromium.org/2347593004
Diffstat (limited to 'src/core/SkPipe.h')
-rw-r--r-- | src/core/SkPipe.h | 26 |
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: |