diff options
author | 2016-11-23 08:55:18 -0700 | |
---|---|---|
committer | 2016-11-23 16:40:32 +0000 | |
commit | db6830162eca5b94e61d9825ec93306fc615d204 (patch) | |
tree | 02be1aa930879c2b389e80beb4910c8d27027257 /include/codec | |
parent | 45580d3e3024c1536e8e1b2017b704805442b634 (diff) |
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 <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-on: https://skia-review.googlesource.com/5186
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Diffstat (limited to 'include/codec')
-rw-r--r-- | include/codec/SkAndroidCodec.h | 4 | ||||
-rw-r--r-- | include/codec/SkCodec.h | 8 | ||||
-rw-r--r-- | include/codec/SkEncodedFormat.h | 38 |
3 files changed, 29 insertions, 21 deletions
diff --git a/include/codec/SkAndroidCodec.h b/include/codec/SkAndroidCodec.h index 07d1b135aa..ee9d0f36d7 100644 --- a/include/codec/SkAndroidCodec.h +++ b/include/codec/SkAndroidCodec.h @@ -51,7 +51,7 @@ public: /** * Format of the encoded data. */ - SkEncodedFormat getEncodedFormat() const { return fCodec->getEncodedFormat(); } + SkEncodedFormat getEncodedFormat() const { return (SkEncodedFormat)fCodec->getEncodedFormat(); } /** * @param requestedColorType Color type requested by the client @@ -154,7 +154,7 @@ public: * * Must be within the bounds returned by getInfo(). * - * If the EncodedFormat is kWEBP_SkEncodedFormat, the top and left + * If the EncodedFormat is SkEncodedImageFormat::kWEBP, the top and left * values must be even. * * The default is NULL, meaning a decode of the entire image. diff --git a/include/codec/SkCodec.h b/include/codec/SkCodec.h index d5280b4833..ebc2b9ab1f 100644 --- a/include/codec/SkCodec.h +++ b/include/codec/SkCodec.h @@ -10,7 +10,7 @@ #include "../private/SkTemplates.h" #include "SkColor.h" -#include "SkEncodedFormat.h" +#include "SkEncodedImageFormat.h" #include "SkEncodedInfo.h" #include "SkImageInfo.h" #include "SkSize.h" @@ -176,7 +176,7 @@ public: /** * Format of the encoded data. */ - SkEncodedFormat getEncodedFormat() const { return this->onGetEncodedFormat(); } + SkEncodedImageFormat getEncodedFormat() const { return this->onGetEncodedFormat(); } /** * Used to describe the result of a call to getPixels(). @@ -255,7 +255,7 @@ public: /** * If not NULL, represents a subset of the original image to decode. * Must be within the bounds returned by getInfo(). - * If the EncodedFormat is kWEBP_SkEncodedFormat (the only one which + * If the EncodedFormat is SkEncodedImageFormat::kWEBP (the only one which * currently supports subsets), the top and left values must be even. * * In getPixels and incremental decode, we will attempt to decode the @@ -667,7 +667,7 @@ protected: return false; } - virtual SkEncodedFormat onGetEncodedFormat() const = 0; + virtual SkEncodedImageFormat onGetEncodedFormat() const = 0; /** * @param rowsDecoded When the encoded image stream is incomplete, this function diff --git a/include/codec/SkEncodedFormat.h b/include/codec/SkEncodedFormat.h index c097e088f2..485bff181a 100644 --- a/include/codec/SkEncodedFormat.h +++ b/include/codec/SkEncodedFormat.h @@ -8,21 +8,29 @@ #ifndef SkEncodedFormat_DEFINED #define SkEncodedFormat_DEFINED -/** - * Enum describing format of encoded data. - */ +#include "SkEncodedImageFormat.h" +#include "SkTypes.h" + +#ifdef SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS + enum SkEncodedFormat { - kUnknown_SkEncodedFormat, - kBMP_SkEncodedFormat, - kGIF_SkEncodedFormat, - kICO_SkEncodedFormat, - kJPEG_SkEncodedFormat, - kPNG_SkEncodedFormat, - kWBMP_SkEncodedFormat, - kWEBP_SkEncodedFormat, - kPKM_SkEncodedFormat, - kKTX_SkEncodedFormat, - kASTC_SkEncodedFormat, - kDNG_SkEncodedFormat, + kBMP_SkEncodedFormat = (int)SkEncodedImageFormat::kBMP, + kGIF_SkEncodedFormat = (int)SkEncodedImageFormat::kGIF, + kICO_SkEncodedFormat = (int)SkEncodedImageFormat::kICO, + kJPEG_SkEncodedFormat = (int)SkEncodedImageFormat::kJPEG, + kPNG_SkEncodedFormat = (int)SkEncodedImageFormat::kPNG, + kWBMP_SkEncodedFormat = (int)SkEncodedImageFormat::kWBMP, + kWEBP_SkEncodedFormat = (int)SkEncodedImageFormat::kWEBP, + kPKM_SkEncodedFormat = (int)SkEncodedImageFormat::kPKM, + kKTX_SkEncodedFormat = (int)SkEncodedImageFormat::kKTX, + kASTC_SkEncodedFormat = (int)SkEncodedImageFormat::kASTC, + kDNG_SkEncodedFormat = (int)SkEncodedImageFormat::kDNG, }; + +#else + +typedef SkEncodedImageFormat SkEncodedFormat; + +#endif // SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS + #endif // SkEncodedFormat_DEFINED |