aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2015-12-08 19:02:36 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-12-08 19:02:36 -0800
commit808ce2886d732b1055f89c8fb0f1b11b47fcb0ce (patch)
treefbb1a9fcb101de69988a9550583bfdf521116ca2 /src/ports
parente77f2daec9aefa1cb406e4572f435de68be7d43e (diff)
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
Diffstat (limited to 'src/ports')
-rw-r--r--src/ports/SkImageDecoder_empty.cpp17
1 files changed, 17 insertions, 0 deletions
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;
+}
+
/////////////////////////////////////////////////////////////////////////