Chromium Code Reviews| Index: include/core/SkImageInfo.h |
| diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h |
| index c22249b842aaf3f602c5e3b99e57ce1bdaff7b42..7d51b123bfc8c7f2097aeb3736759223fb6fd8c9 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,30 @@ 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 read(SkFlattenableReadBuffer&); |
| + void write(SkFlattenableWriteBuffer&) const; |
|
scroggo
2013/12/04 18:14:03
In SkBitmap we call these flatten() and unflatten(
reed1
2013/12/04 21:12:54
Done.
|
| + |
| + bool isValid() const { |
| + return fWidth >= 0 && |
| + fHeight >= 0 && |
| + fColorType <= kLastEnum_SkColorType && |
| + fAlphaType <= kLastEnum_SkAlphaType; |
| + } |
| + |
| + void validate() const { |
| + SkASSERT(this->isValid()); |
| + } |
| }; |
| #endif |