Index: include/core/SkImageInfo.h |
diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h |
index c22249b842aaf3f602c5e3b99e57ce1bdaff7b42..565105b07bee1bf83b1dd8ca3decb1eeb96884ce 100644 |
--- a/include/core/SkImageInfo.h |
+++ b/include/core/SkImageInfo.h |
@@ -63,6 +63,7 @@ static inline bool SkAlphaTypeIsOpaque(SkAlphaType at) { |
enum SkColorType { |
kAlpha_8_SkColorType, |
kRGB_565_SkColorType, |
+ kARGB_4444_SkColorType, |
kRGBA_8888_SkColorType, |
kBGRA_8888_SkColorType, |
kIndex8_SkColorType, |
@@ -82,6 +83,7 @@ static int SkColorTypeBytesPerPixel(SkColorType ct) { |
static const uint8_t gSize[] = { |
1, // Alpha_8 |
2, // RGB_565 |
+ 2, // ARGB_4444 |
4, // RGBA_8888 |
4, // BGRA_8888 |
1, // kIndex_8 |
@@ -112,12 +114,27 @@ struct SkImageInfo { |
return SkColorTypeBytesPerPixel(fColorType); |
} |
+ size_t minRowBytes() const { |
+ return fWidth * this->bytesPerPixel(); |
+ } |
+ |
bool operator==(const SkImageInfo& other) const { |
return 0 == memcmp(this, &other, sizeof(other)); |
} |
bool operator!=(const SkImageInfo& other) const { |
return 0 != memcmp(this, &other, sizeof(other)); |
} |
+ |
+ bool isValid() const { |
+ return fWidth >= 0 && |
+ fHeight >= 0 && |
+ fColorType <= kLastEnum_SkColorType && |
+ fAlphaType <= kLastEnum_SkAlphaType; |
+ } |
+ |
+ void validate() const { |
+ SkASSERT(this->isValid()); |
+ } |
}; |
#endif |