From 808ce2886d732b1055f89c8fb0f1b11b47fcb0ce Mon Sep 17 00:00:00 2001 From: halcanary Date: Tue, 8 Dec 2015 19:02:36 -0800 Subject: 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 Review URL: https://codereview.chromium.org/1507123002 --- src/ports/SkImageDecoder_empty.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/ports') diff --git a/src/ports/SkImageDecoder_empty.cpp b/src/ports/SkImageDecoder_empty.cpp index 11c3db1afc..94d4eb51de 100644 --- a/src/ports/SkImageDecoder_empty.cpp +++ b/src/ports/SkImageDecoder_empty.cpp @@ -108,6 +108,10 @@ SkData* SkImageEncoder::EncodeData(const SkImageInfo&, const void* pixels, size_ return nullptr; } +static SkData* SkImageEncoder::EncodeData(const SkPixmap&, Type, int) { + return nullptr; +} + bool SkImageEncoder::encodeStream(SkWStream*, const SkBitmap&, int) { return false; } @@ -119,4 +123,17 @@ SkData* SkImageEncoder::encodeData(const SkBitmap&, int) { bool SkImageEncoder::encodeFile(const char file[], const SkBitmap& bm, int quality) { return false; } + +namespace { +class ImageEncoderPixelSerializer final : public SkPixelSerializer { +protected: + bool onUseEncodedData(const void*, size_t) override { return true; } + SkData* onEncode(const SkPixmap& pmap) override { return nullptr; } +}; +} // namespace + +SkPixelSerializer* SkImageEncoder::CreatePixelSerializer() { + return new ImageEncoderPixelSerializer; +} + ///////////////////////////////////////////////////////////////////////// -- cgit v1.2.3