diff options
author | scroggo <scroggo@google.com> | 2016-02-10 11:15:21 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-10 11:15:21 -0800 |
commit | 026388a01864c74208ad57d1ba4f711602d101c6 (patch) | |
tree | 52c2bc5b1e93002f6011feb56c35996c5f0b7d61 /src/core/SkPicture.cpp | |
parent | b5b497423c581cda24f65dcc7b274fe79ef79588 (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.
BUG=skia:4691
BUG=skia:4290
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1671193002
Review URL: https://codereview.chromium.org/1671193002
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); } |