Give enums in SkImageInfo an underlying type
According to goto.google.com/chrome-includes, SkImageInfo.h is a
somewhat expensive header to include. This makes it possible to
forward-declare these enums instead.
Bug: chromium:1227131,chromium:242216
Change-Id: I4e939449a8d3dfc3fa4c43999bcaecb3249bc0c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431056
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h
index ae31853..426c234 100644
--- a/include/core/SkImageInfo.h
+++ b/include/core/SkImageInfo.h
@@ -34,7 +34,7 @@
value is the original RGB multiplied by alpha. Premultiplied color
components improve performance.
*/
-enum SkAlphaType {
+enum SkAlphaType : int {
kUnknown_SkAlphaType, //!< uninitialized
kOpaque_SkAlphaType, //!< pixel is opaque
kPremul_SkAlphaType, //!< pixel components are premultiplied by alpha
@@ -61,7 +61,7 @@
kN32_SkColorType selects the native 32-bit ARGB format for the current configuration. This can
lead to inconsistent results across platforms, so use with caution.
*/
-enum SkColorType {
+enum SkColorType : int {
kUnknown_SkColorType, //!< uninitialized
kAlpha_8_SkColorType, //!< pixel with alpha in 8-bit byte
kRGB_565_SkColorType, //!< pixel with 5 bits red, 6 bits green, 5 bits blue, in 16-bit word
@@ -145,7 +145,7 @@
The identity colorspace exists to provide a utility mapping from Y to R, U to G and V to B.
It can be used to visualize the YUV planes or to explicitly post process the YUV channels.
*/
-enum SkYUVColorSpace {
+enum SkYUVColorSpace : int {
kJPEG_Full_SkYUVColorSpace, //!< describes full range
kRec601_Limited_SkYUVColorSpace, //!< describes SDTV range
kRec709_Full_SkYUVColorSpace, //!< describes HDTV range