diff options
author | reed <reed@google.com> | 2015-12-08 10:59:13 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-08 10:59:13 -0800 |
commit | 290f00cd752b51f517b88c40bc89016fcaf5e477 (patch) | |
tree | 38bc2a14fef381d315339bdf498eaada59b55162 /src/images/SkImageEncoder.cpp | |
parent | 1cf6f9b6b51bcf09d93142ba40d6c331c21f50a6 (diff) |
Revert of default SkPixelSerializer (patchset #1 id:1 of https://codereview.chromium.org/1507123002/ )
Reason for revert:
Breaking DEPS roll (linker error)
Original issue's description:
> default SkPixelSerializer
>
> Add SkImageEncoder::EncodeData(const SkPixmap&, ...) function.
>
> Add SkImageEncoder::CreatePixelSerializer() to return a
> PixelSerializer that calls into SkImageEncoder::EncodeData.
>
> SkImage::encode() make use of SkImageEncoder::CreatePixelSerializer.
>
> Committed: https://skia.googlesource.com/skia/+/b0bd1516bff3f5afcbfd615e805867531657811b
TBR=scroggo@google.com,halcanary@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1505203003
Diffstat (limited to 'src/images/SkImageEncoder.cpp')
-rw-r--r-- | src/images/SkImageEncoder.cpp | 33 |
1 files changed, 2 insertions, 31 deletions
diff --git a/src/images/SkImageEncoder.cpp b/src/images/SkImageEncoder.cpp index cea567816b..cc1b73baa5 100644 --- a/src/images/SkImageEncoder.cpp +++ b/src/images/SkImageEncoder.cpp @@ -7,8 +7,6 @@ #include "SkImageEncoder.h" #include "SkBitmap.h" -#include "SkPixelSerializer.h" -#include "SkPixmap.h" #include "SkStream.h" #include "SkTemplates.h" @@ -59,33 +57,6 @@ SkData* SkImageEncoder::EncodeData(const SkImageInfo& info, const void* pixels, if (!bm.installPixels(info, const_cast<void*>(pixels), rowBytes)) { return nullptr; } - bm.setImmutable(); - return SkImageEncoder::EncodeData(bm, t, quality); -} - -SkData* SkImageEncoder::EncodeData(const SkPixmap& pixmap, - Type t, int quality) { - SkBitmap bm; - if (!bm.installPixels(pixmap.info(), - const_cast<void*>(pixmap.addr()), - pixmap.rowBytes(), - pixmap.ctable(), nullptr, nullptr)) { - return nullptr; - } - bm.setImmutable(); - return SkImageEncoder::EncodeData(bm, t, quality); -} - -namespace { -class ImageEncoderPixelSerializer final : public SkPixelSerializer { -protected: - bool onUseEncodedData(const void*, size_t) override { return true; } - SkData* onEncode(const SkPixmap& pmap) override { - return SkImageEncoder::EncodeData(pmap, SkImageEncoder::kPNG_Type, 100); - } -}; -} // namespace - -SkPixelSerializer* SkImageEncoder::CreatePixelSerializer() { - return new ImageEncoderPixelSerializer; + SkAutoTDelete<SkImageEncoder> enc(SkImageEncoder::Create(t)); + return enc.get() ? enc.get()->encodeData(bm, quality) : nullptr; } |