aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPicture.cpp
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-02-17 10:02:29 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-02-17 10:02:29 -0800
commit8715d47e247bf890ee78af0774ae7e8698146b67 (patch)
treeaa8b25a8353ccd96e6eccb08f22457a1d89846e0 /src/core/SkPicture.cpp
parentfeec878e850850cb0a092a765e3af0f5a3fa2a42 (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.cpp11
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);
}