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) |