diff options
author | msarett <msarett@google.com> | 2016-02-17 10:02:29 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-17 10:02:29 -0800 |
commit | 8715d47e247bf890ee78af0774ae7e8698146b67 (patch) | |
tree | aa8b25a8353ccd96e6eccb08f22457a1d89846e0 /src/core/SkPicture.cpp | |
parent | feec878e850850cb0a092a765e3af0f5a3fa2a42 (diff) |
Make SkPicture/SkImageGenerator default to SkCodec
Remove reference to SkImageDecoder from SkPicture. Make the default
InstallPixelRefProc passed to CreateFromStream use
SkImageGenerator::NewFromEncoded instead.
Make SkImageGenerator::NewFromEncoded create an SkCodecImageGenerator.
Remove the old version that used SkImageDecoder.
Remove all versions of lazy_decode_bitmap/LazyDecodeBitmap. The default
now behaves lazily.
Update all clients to use the default.
Move SkImageDecoderGenerator into KtxTest.cpp, and use it directly.
This is a rebased version of:
https://codereview.chromium.org/1671193002/
TBR=reed@google.com
BUG=skia:4691
BUG=skia:4290
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1699183004
Review URL: https://codereview.chromium.org/1699183004
Diffstat (limited to 'src/core/SkPicture.cpp')
-rw-r--r-- | src/core/SkPicture.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/SkPicture.cpp b/src/core/SkPicture.cpp index 8247336d49..04f2f93ba7 100644 --- a/src/core/SkPicture.cpp +++ b/src/core/SkPicture.cpp @@ -6,6 +6,7 @@ */ #include "SkAtomics.h" +#include "SkImageGenerator.h" #include "SkMessageBus.h" #include "SkPicture.h" #include "SkPictureData.h" @@ -138,6 +139,16 @@ SkPicture* SkPicture::Forwardport(const SkPictInfo& info, const SkPictureData* d return r.endRecording(); } +static bool default_install(const void* src, size_t length, SkBitmap* dst) { + SkAutoTUnref<SkData> encoded(SkData::NewWithCopy(src, length)); + return encoded && SkDEPRECATED_InstallDiscardablePixelRef( + SkImageGenerator::NewFromEncoded(encoded), dst); +} + +SkPicture* SkPicture::CreateFromStream(SkStream* stream) { + return CreateFromStream(stream, &default_install, nullptr); +} + SkPicture* SkPicture::CreateFromStream(SkStream* stream, InstallPixelRefProc proc) { return CreateFromStream(stream, proc, nullptr); } |