Chromium Code Reviews| Index: include/codec/SkEncodedInfo.h |
| diff --git a/include/codec/SkEncodedInfo.h b/include/codec/SkEncodedInfo.h |
| index f91660529e05a26194fdf8b5084f211133298ab5..02f103256e495aae4c51bcac8ced6d442e8bb372 100644 |
| --- a/include/codec/SkEncodedInfo.h |
| +++ b/include/codec/SkEncodedInfo.h |
| @@ -103,12 +103,10 @@ public: |
| SkASSERT(8 == bitsPerComponent); |
| break; |
| case kRGBA_Color: |
| - SkASSERT(kOpaque_Alpha != alpha); |
|
scroggo
2016/04/21 15:09:11
I suppose these are removed because e.g. a PNG mig
msarett
2016/04/21 16:03:41
Sorry should have commented on this. These are re
|
| SkASSERT(bitsPerComponent >= 8); |
| break; |
| case kBGRA_Color: |
| case kYUVA_Color: |
| - SkASSERT(kOpaque_Alpha != alpha); |
| SkASSERT(8 == bitsPerComponent); |
| break; |
| default: |
| @@ -156,6 +154,39 @@ public: |
| } |
| } |
| + Color color() const { return fColor; } |
| + Alpha alpha() const { return fAlpha; } |
| + uint8_t bitsPerComponent() const { return fBitsPerComponent; } |
| + |
| + SkEncodedInfo makeColor(Color color) const { |
| + return SkEncodedInfo::Make(color, fAlpha, fBitsPerComponent); |
| + } |
| + |
| + uint8_t bitsPerPixel() const { |
| + switch (fColor) { |
| + case kGray_Color: |
| + return fBitsPerComponent; |
| + case kGrayAlpha_Color: |
| + return 2 * fBitsPerComponent; |
| + case kPalette_Color: |
| + return fBitsPerComponent; |
| + case kRGB_Color: |
| + case kBGR_Color: |
| + case kYUV_Color: |
| + return 3 * fBitsPerComponent; |
| + case kRGBA_Color: |
| + case kBGRA_Color: |
| + case kBGRX_Color: |
| + case kYUVA_Color: |
| + case kInvertedCMYK_Color: |
| + case kYCCK_Color: |
| + return 4 * fBitsPerComponent; |
| + default: |
| + SkASSERT(false); |
| + return 0; |
| + } |
| + } |
| + |
| SkEncodedInfo() |
| : fColor(kUnknown_Color) |
| , fAlpha(kUnknown_Alpha) |