Chromium Code Reviews| Index: include/core/SkImageInfo.h |
| diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h |
| index c22249b842aaf3f602c5e3b99e57ce1bdaff7b42..475ec6a1b164f3805d79e7a0ec4b546eedce2d3d 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,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)); |
| } |
| + |
| + void unflatten(SkFlattenableReadBuffer&); |
| + void flatten(SkFlattenableWriteBuffer&) const; |
| + |
| + size_t getSafeSize(size_t rowBytes) const { |
| + if (0 == fHeight) { |
| + return 0; |
| + } |
| + return (fHeight - 1) * rowBytes + |
| + fWidth * SkColorTypeBytesPerPixel(fColorType); |
|
scroggo
2013/12/06 14:50:33
Should this call bytesPerPixel?
reed1
2013/12/06 15:48:46
Doh! Done.
|
| + } |
| }; |
| #endif |