Index: include/core/SkImageInfo.h |
diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h |
index c22249b842aaf3f602c5e3b99e57ce1bdaff7b42..366d00af705f2db439d0f46ba80b8f74a999fe32 100644 |
--- a/include/core/SkImageInfo.h |
+++ b/include/core/SkImageInfo.h |
@@ -10,6 +10,9 @@ |
#include "SkTypes.h" |
+class SkFlattenableWriteBuffer; |
+class SkFlattenableReadBuffer; |
+ |
/** |
* Describes how to interpret the alpha compoent of a pixel. |
*/ |
@@ -63,6 +66,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 +86,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 +117,26 @@ 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)); |
} |
+ |
+ void unflatten(SkFlattenableReadBuffer&); |
+ void flatten(SkFlattenableWriteBuffer&) const; |
+ |
+ size_t getSafeSize(size_t rowBytes) const { |
+ if (0 == fHeight) { |
+ return 0; |
+ } |
+ return (fHeight - 1) * rowBytes + fWidth * this->bytesPerPixel(); |
+ } |
}; |
#endif |