From db6830162eca5b94e61d9825ec93306fc615d204 Mon Sep 17 00:00:00 2001 From: Hal Canary Date: Wed, 23 Nov 2016 08:55:18 -0700 Subject: SkImageEncoder: simplify API (re-land 248ff02 & 2cb6cb7, with changes) - Hide SkImageEncoder class in private header. - SkImageEncoder::Type becomes SkEncodedImageFormat - SkEncodedFormat becomes SkEncodedImageFormat - SkImageEncoder static functions replaced with single function EncodeImage() - utility wrappers for EncodeImage() are in sk_tool_utils.h TODO: remove link-time registration mechanism. TODO: clean up clients use of API and flip the flag. TODO: implement EncodeImage() in chromeium/skia/ext Change-Id: I47d451e50be4d5c6c130869c7fa7c2857243d9f0 Reviewed-on: https://skia-review.googlesource.com/4909 Reviewed-by: Mike Reed Reviewed-by: Leon Scroggins Reviewed-on: https://skia-review.googlesource.com/5186 Commit-Queue: Hal Canary Reviewed-by: Hal Canary --- src/codec/SkAndroidCodec.cpp | 22 +++++++++++----------- src/codec/SkBmpCodec.h | 2 +- src/codec/SkGifCodec.h | 4 ++-- src/codec/SkIcoCodec.h | 4 ++-- src/codec/SkJpegCodec.h | 4 ++-- src/codec/SkPngCodec.h | 4 ++-- src/codec/SkRawAdapterCodec.h | 2 +- src/codec/SkRawCodec.h | 4 ++-- src/codec/SkSampledCodec.cpp | 2 +- src/codec/SkWbmpCodec.cpp | 4 ++-- src/codec/SkWbmpCodec.h | 2 +- src/codec/SkWebpCodec.h | 4 ++-- 12 files changed, 29 insertions(+), 29 deletions(-) (limited to 'src/codec') diff --git a/src/codec/SkAndroidCodec.cpp b/src/codec/SkAndroidCodec.cpp index 01605b2669..c315b032fb 100644 --- a/src/codec/SkAndroidCodec.cpp +++ b/src/codec/SkAndroidCodec.cpp @@ -28,24 +28,24 @@ SkAndroidCodec* SkAndroidCodec::NewFromStream(SkStream* stream, SkPngChunkReader return nullptr; } - switch (codec->getEncodedFormat()) { + switch ((SkEncodedImageFormat)codec->getEncodedFormat()) { #ifdef SK_HAS_PNG_LIBRARY - case kPNG_SkEncodedFormat: - case kICO_SkEncodedFormat: + case SkEncodedImageFormat::kPNG: + case SkEncodedImageFormat::kICO: #endif #ifdef SK_HAS_JPEG_LIBRARY - case kJPEG_SkEncodedFormat: + case SkEncodedImageFormat::kJPEG: #endif - case kGIF_SkEncodedFormat: - case kBMP_SkEncodedFormat: - case kWBMP_SkEncodedFormat: + case SkEncodedImageFormat::kGIF: + case SkEncodedImageFormat::kBMP: + case SkEncodedImageFormat::kWBMP: return new SkSampledCodec(codec.release()); #ifdef SK_HAS_WEBP_LIBRARY - case kWEBP_SkEncodedFormat: + case SkEncodedImageFormat::kWEBP: return new SkWebpAdapterCodec((SkWebpCodec*) codec.release()); #endif #ifdef SK_CODEC_DECODES_RAW - case kDNG_SkEncodedFormat: + case SkEncodedImageFormat::kDNG: return new SkRawAdapterCodec((SkRawCodec*)codec.release()); #endif default: @@ -64,8 +64,8 @@ SkAndroidCodec* SkAndroidCodec::NewFromData(sk_sp data, SkPngChunkReader SkColorType SkAndroidCodec::computeOutputColorType(SkColorType requestedColorType) { // The legacy GIF and WBMP decoders always decode to kIndex_8_SkColorType. // We will maintain this behavior. - SkEncodedFormat format = this->getEncodedFormat(); - if (kGIF_SkEncodedFormat == format || kWBMP_SkEncodedFormat == format) { + SkEncodedImageFormat format = (SkEncodedImageFormat)this->getEncodedFormat(); + if (SkEncodedImageFormat::kGIF == format || SkEncodedImageFormat::kWBMP == format) { return kIndex_8_SkColorType; } diff --git a/src/codec/SkBmpCodec.h b/src/codec/SkBmpCodec.h index 0e38c84059..75740f76ff 100644 --- a/src/codec/SkBmpCodec.h +++ b/src/codec/SkBmpCodec.h @@ -41,7 +41,7 @@ protected: SkBmpCodec(int width, int height, const SkEncodedInfo& info, SkStream* stream, uint16_t bitsPerPixel, SkCodec::SkScanlineOrder rowOrder); - SkEncodedFormat onGetEncodedFormat() const override { return kBMP_SkEncodedFormat; } + SkEncodedImageFormat onGetEncodedFormat() const override { return SkEncodedImageFormat::kBMP; } /* * Read enough of the stream to initialize the SkBmpCodec. Returns a bool diff --git a/src/codec/SkGifCodec.h b/src/codec/SkGifCodec.h index 8e93730bcd..9e980abafa 100644 --- a/src/codec/SkGifCodec.h +++ b/src/codec/SkGifCodec.h @@ -40,8 +40,8 @@ protected: Result onGetPixels(const SkImageInfo&, void*, size_t, const Options&, SkPMColor*, int*, int*) override; - SkEncodedFormat onGetEncodedFormat() const override { - return kGIF_SkEncodedFormat; + SkEncodedImageFormat onGetEncodedFormat() const override { + return SkEncodedImageFormat::kGIF; } bool onRewind() override; diff --git a/src/codec/SkIcoCodec.h b/src/codec/SkIcoCodec.h index 0c4e504a19..e8dcc83f59 100644 --- a/src/codec/SkIcoCodec.h +++ b/src/codec/SkIcoCodec.h @@ -39,8 +39,8 @@ protected: Result onGetPixels(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes, const Options&, SkPMColor*, int*, int*) override; - SkEncodedFormat onGetEncodedFormat() const override { - return kICO_SkEncodedFormat; + SkEncodedImageFormat onGetEncodedFormat() const override { + return SkEncodedImageFormat::kICO; } SkScanlineOrder onGetScanlineOrder() const override; diff --git a/src/codec/SkJpegCodec.h b/src/codec/SkJpegCodec.h index 9e08c869cf..9a34aa6a26 100644 --- a/src/codec/SkJpegCodec.h +++ b/src/codec/SkJpegCodec.h @@ -51,8 +51,8 @@ protected: Result onGetYUV8Planes(const SkYUVSizeInfo& sizeInfo, void* planes[3]) override; - SkEncodedFormat onGetEncodedFormat() const override { - return kJPEG_SkEncodedFormat; + SkEncodedImageFormat onGetEncodedFormat() const override { + return SkEncodedImageFormat::kJPEG; } bool onRewind() override; diff --git a/src/codec/SkPngCodec.h b/src/codec/SkPngCodec.h index 590a631a20..c246887cfc 100644 --- a/src/codec/SkPngCodec.h +++ b/src/codec/SkPngCodec.h @@ -9,7 +9,7 @@ #include "SkColorSpaceXform.h" #include "SkColorTable.h" #include "SkPngChunkReader.h" -#include "SkEncodedFormat.h" +#include "SkEncodedImageFormat.h" #include "SkImageInfo.h" #include "SkRefCnt.h" #include "SkSwizzler.h" @@ -51,7 +51,7 @@ protected: Result onGetPixels(const SkImageInfo&, void*, size_t, const Options&, SkPMColor*, int*, int*) override; - SkEncodedFormat onGetEncodedFormat() const override { return kPNG_SkEncodedFormat; } + SkEncodedImageFormat onGetEncodedFormat() const override { return SkEncodedImageFormat::kPNG; } bool onRewind() override; uint64_t onGetFillValue(const SkImageInfo&) const override; diff --git a/src/codec/SkRawAdapterCodec.h b/src/codec/SkRawAdapterCodec.h index b552f2aaea..8777180ec2 100644 --- a/src/codec/SkRawAdapterCodec.h +++ b/src/codec/SkRawAdapterCodec.h @@ -10,7 +10,7 @@ #include "SkAndroidCodec.h" #include "SkCodec.h" -#include "SkEncodedFormat.h" +#include "SkEncodedImageFormat.h" #include "SkRawCodec.h" #include "SkStream.h" #include "SkTypes.h" diff --git a/src/codec/SkRawCodec.h b/src/codec/SkRawCodec.h index 75654c7e10..51bb234b73 100644 --- a/src/codec/SkRawCodec.h +++ b/src/codec/SkRawCodec.h @@ -37,8 +37,8 @@ protected: Result onGetPixels(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes, const Options&, SkPMColor*, int*, int*) override; - SkEncodedFormat onGetEncodedFormat() const override { - return kDNG_SkEncodedFormat; + SkEncodedImageFormat onGetEncodedFormat() const override { + return SkEncodedImageFormat::kDNG; } SkISize onGetScaledDimensions(float desiredScale) const override; diff --git a/src/codec/SkSampledCodec.cpp b/src/codec/SkSampledCodec.cpp index e70aadeabf..1d9953bb79 100644 --- a/src/codec/SkSampledCodec.cpp +++ b/src/codec/SkSampledCodec.cpp @@ -26,7 +26,7 @@ SkISize SkSampledCodec::accountForNativeScaling(int* sampleSizePtr, int* nativeS } // Only JPEG supports native downsampling. - if (this->codec()->getEncodedFormat() == kJPEG_SkEncodedFormat) { + if (this->codec()->getEncodedFormat() == SkEncodedImageFormat::kJPEG) { // See if libjpeg supports this scale directly switch (sampleSize) { case 2: diff --git a/src/codec/SkWbmpCodec.cpp b/src/codec/SkWbmpCodec.cpp index 19c8c7db37..6356e30536 100644 --- a/src/codec/SkWbmpCodec.cpp +++ b/src/codec/SkWbmpCodec.cpp @@ -113,8 +113,8 @@ SkWbmpCodec::SkWbmpCodec(int width, int height, const SkEncodedInfo& info, SkStr , fColorTable(nullptr) {} -SkEncodedFormat SkWbmpCodec::onGetEncodedFormat() const { - return kWBMP_SkEncodedFormat; +SkEncodedImageFormat SkWbmpCodec::onGetEncodedFormat() const { + return SkEncodedImageFormat::kWBMP; } SkCodec::Result SkWbmpCodec::onGetPixels(const SkImageInfo& info, diff --git a/src/codec/SkWbmpCodec.h b/src/codec/SkWbmpCodec.h index 6946ea0a66..40f507e9f3 100644 --- a/src/codec/SkWbmpCodec.h +++ b/src/codec/SkWbmpCodec.h @@ -24,7 +24,7 @@ public: static SkCodec* NewFromStream(SkStream*); protected: - SkEncodedFormat onGetEncodedFormat() const override; + SkEncodedImageFormat onGetEncodedFormat() const override; Result onGetPixels(const SkImageInfo&, void*, size_t, const Options&, SkPMColor[], int*, int*) override; bool onRewind() override; diff --git a/src/codec/SkWebpCodec.h b/src/codec/SkWebpCodec.h index b9c493f204..93b60f646e 100644 --- a/src/codec/SkWebpCodec.h +++ b/src/codec/SkWebpCodec.h @@ -10,7 +10,7 @@ #include "SkCodec.h" #include "SkColorSpace.h" -#include "SkEncodedFormat.h" +#include "SkEncodedImageFormat.h" #include "SkImageInfo.h" #include "SkTypes.h" @@ -30,7 +30,7 @@ public: protected: Result onGetPixels(const SkImageInfo&, void*, size_t, const Options&, SkPMColor*, int*, int*) override; - SkEncodedFormat onGetEncodedFormat() const override { return kWEBP_SkEncodedFormat; } + SkEncodedImageFormat onGetEncodedFormat() const override { return SkEncodedImageFormat::kWEBP; } SkISize onGetScaledDimensions(float desiredScale) const override; -- cgit v1.2.3