diff options
author | 2016-02-10 11:25:07 -0800 | |
---|---|---|
committer | 2016-02-10 11:25:07 -0800 | |
commit | 1de415f2c33febbac668500afbbb0c9b120c125f (patch) | |
tree | 6fea38167e591a5908c024866851a294dbd8e4c5 /dm | |
parent | 026388a01864c74208ad57d1ba4f711602d101c6 (diff) |
Revert of Make SkPicture/SkImageGenerator default to SkCodec (patchset #7 id:120001 of https://codereview.chromium.org/1671193002/ )
Reason for revert:
Breaks Ubuntu and Mac CMAKE
Original issue's description:
> 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
>
> Committed: https://skia.googlesource.com/skia/+/026388a01864c74208ad57d1ba4f711602d101c6
TBR=msarett@google.com,reed@google.com,scroggo@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4691
Review URL: https://codereview.chromium.org/1685963004
Diffstat (limited to 'dm')
-rw-r--r-- | dm/DMSrcSink.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp index 971e47fef1..9a62362010 100644 --- a/dm/DMSrcSink.cpp +++ b/dm/DMSrcSink.cpp @@ -40,6 +40,11 @@ DEFINE_bool(multiPage, false, "For document-type backends, render the source" " into multiple pages"); DEFINE_bool(RAW_threading, true, "Allow RAW decodes to run on multiple threads?"); +static bool lazy_decode_bitmap(const void* src, size_t size, SkBitmap* dst) { + SkAutoTUnref<SkData> encoded(SkData::NewWithCopy(src, size)); + return encoded && SkDEPRECATED_InstallDiscardablePixelRef(encoded, dst); +} + namespace DM { GMSrc::GMSrc(skiagm::GMRegistry::Factory factory) : fFactory(factory) {} @@ -799,7 +804,7 @@ Error SKPSrc::draw(SkCanvas* canvas) const { if (!stream) { return SkStringPrintf("Couldn't read %s.", fPath.c_str()); } - SkAutoTUnref<SkPicture> pic(SkPicture::CreateFromStream(stream)); + SkAutoTUnref<SkPicture> pic(SkPicture::CreateFromStream(stream, &lazy_decode_bitmap)); if (!pic) { return SkStringPrintf("Couldn't decode %s as a picture.", fPath.c_str()); } @@ -1172,7 +1177,7 @@ Error ViaSerialization::draw( SkDynamicMemoryWStream wStream; pic->serialize(&wStream); SkAutoTDelete<SkStream> rStream(wStream.detachAsStream()); - SkAutoTUnref<SkPicture> deserialized(SkPicture::CreateFromStream(rStream)); + SkAutoTUnref<SkPicture> deserialized(SkPicture::CreateFromStream(rStream, &lazy_decode_bitmap)); return draw_to_canvas(fSink, bitmap, stream, log, size, [&](SkCanvas* canvas) { canvas->drawPicture(deserialized); |