aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/codec
diff options
context:
space:
mode:
authorGravatar Hal Canary <halcanary@google.com>2016-11-22 09:03:03 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-11-22 18:25:55 +0000
commit248ff02331d7f73ee4b6c5a7eabeae1080c16cd4 (patch)
treea55e2402ef1494e2fb719bc046f1f97c8e75da53 /include/codec
parent46e66a2bf51546a7c3b08625769899b9ead56ec6 (diff)
SkImageEncoder: simplify API
- 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 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4909 Change-Id: Ib48b31fdc05cf23cda7f56ebfd67c841c149ce70 Reviewed-on: https://skia-review.googlesource.com/4909 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'include/codec')
-rw-r--r--include/codec/SkAndroidCodec.h4
-rw-r--r--include/codec/SkCodec.h8
-rw-r--r--include/codec/SkEncodedFormat.h38
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..114e976554 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 = (uint8_t)SkEncodedImageFormat::kBMP,
+ kGIF_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kGIF,
+ kICO_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kICO,
+ kJPEG_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kJPEG,
+ kPNG_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kPNG,
+ kWBMP_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kWBMP,
+ kWEBP_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kWEBP,
+ kPKM_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kPKM,
+ kKTX_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kKTX,
+ kASTC_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kASTC,
+ kDNG_SkEncodedFormat = (uint8_t)SkEncodedImageFormat::kDNG,
};
+
+#else
+
+typedef SkEncodedImageFormat SkEncodedFormat;
+
+#endif // SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS
+
#endif // SkEncodedFormat_DEFINED