Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef SkEncodedInfo_DEFINED | 8 #ifndef SkEncodedInfo_DEFINED |
| 9 #define SkEncodedInfo_DEFINED | 9 #define SkEncodedInfo_DEFINED |
| 10 | 10 |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 96 SkASSERT(kOpaque_Alpha == alpha); | 96 SkASSERT(kOpaque_Alpha == alpha); |
| 97 SkASSERT(bitsPerComponent >= 8); | 97 SkASSERT(bitsPerComponent >= 8); |
| 98 break; | 98 break; |
| 99 case kYUV_Color: | 99 case kYUV_Color: |
| 100 case kInvertedCMYK_Color: | 100 case kInvertedCMYK_Color: |
| 101 case kYCCK_Color: | 101 case kYCCK_Color: |
| 102 SkASSERT(kOpaque_Alpha == alpha); | 102 SkASSERT(kOpaque_Alpha == alpha); |
| 103 SkASSERT(8 == bitsPerComponent); | 103 SkASSERT(8 == bitsPerComponent); |
| 104 break; | 104 break; |
| 105 case kRGBA_Color: | 105 case kRGBA_Color: |
| 106 SkASSERT(kOpaque_Alpha != alpha); | |
| 107 SkASSERT(bitsPerComponent >= 8); | 106 SkASSERT(bitsPerComponent >= 8); |
| 108 break; | 107 break; |
| 109 case kBGRA_Color: | 108 case kBGRA_Color: |
| 110 case kYUVA_Color: | 109 case kYUVA_Color: |
| 111 SkASSERT(kOpaque_Alpha != alpha); | |
| 112 SkASSERT(8 == bitsPerComponent); | 110 SkASSERT(8 == bitsPerComponent); |
| 113 break; | 111 break; |
| 114 default: | 112 default: |
| 115 SkASSERT(false); | 113 SkASSERT(false); |
| 116 break; | 114 break; |
| 117 } | 115 } |
| 118 | 116 |
| 119 return SkEncodedInfo(color, alpha, bitsPerComponent); | 117 return SkEncodedInfo(color, alpha, bitsPerComponent); |
| 120 } | 118 } |
| 121 | 119 |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 149 case kBGRA_Color: | 147 case kBGRA_Color: |
| 150 case kYUVA_Color: | 148 case kYUVA_Color: |
| 151 SkASSERT(kOpaque_Alpha != fAlpha); | 149 SkASSERT(kOpaque_Alpha != fAlpha); |
| 152 return SkImageInfo::Make(width, height, kN32_SkColorType, kUnpre mul_SkAlphaType); | 150 return SkImageInfo::Make(width, height, kN32_SkColorType, kUnpre mul_SkAlphaType); |
| 153 default: | 151 default: |
| 154 SkASSERT(false); | 152 SkASSERT(false); |
| 155 return SkImageInfo::MakeUnknown(); | 153 return SkImageInfo::MakeUnknown(); |
| 156 } | 154 } |
| 157 } | 155 } |
| 158 | 156 |
| 157 Color color() const { return fColor; } | |
| 158 Alpha alpha() const { return fAlpha; } | |
| 159 uint8_t bitsPerComponent() const { return fBitsPerComponent; } | |
| 160 | |
| 161 SkEncodedInfo makeColor(Color color) const { | |
| 162 return SkEncodedInfo::Make(color, fAlpha, fBitsPerComponent); | |
| 163 } | |
| 164 | |
| 165 uint8_t bitsPerPixel() const { | |
|
reed1
2016/04/21 14:15:00
Why do we offer bitsPer and bytesPer, when bits is
msarett
2016/04/21 14:36:44
It's not always a multiple.
Though crashing throu
| |
| 166 switch (fColor) { | |
| 167 case kGray_Color: | |
| 168 return fBitsPerComponent; | |
| 169 case kGrayAlpha_Color: | |
| 170 return 2 * fBitsPerComponent; | |
| 171 case kPalette_Color: | |
| 172 return fBitsPerComponent; | |
| 173 case kRGB_Color: | |
| 174 case kBGR_Color: | |
| 175 case kYUV_Color: | |
| 176 return 3 * fBitsPerComponent; | |
| 177 case kRGBA_Color: | |
| 178 case kBGRA_Color: | |
| 179 case kBGRX_Color: | |
| 180 case kYUVA_Color: | |
| 181 case kInvertedCMYK_Color: | |
| 182 case kYCCK_Color: | |
| 183 return 4 * fBitsPerComponent; | |
| 184 default: | |
| 185 SkASSERT(false); | |
| 186 return 0; | |
| 187 } | |
| 188 } | |
| 189 | |
| 190 uint8_t bytesPerPixel() const { | |
| 191 SkASSERT(SkIsAlign8(this->bitsPerPixel())); | |
| 192 return this->bitsPerPixel() >> 3; | |
| 193 } | |
| 194 | |
| 159 SkEncodedInfo() | 195 SkEncodedInfo() |
| 160 : fColor(kUnknown_Color) | 196 : fColor(kUnknown_Color) |
| 161 , fAlpha(kUnknown_Alpha) | 197 , fAlpha(kUnknown_Alpha) |
| 162 , fBitsPerComponent(0) | 198 , fBitsPerComponent(0) |
| 163 {} | 199 {} |
| 164 | 200 |
| 165 private: | 201 private: |
| 166 | 202 |
| 167 SkEncodedInfo(Color color, Alpha alpha, uint8_t bitsPerComponent) | 203 SkEncodedInfo(Color color, Alpha alpha, uint8_t bitsPerComponent) |
| 168 : fColor(color) | 204 : fColor(color) |
| 169 , fAlpha(alpha) | 205 , fAlpha(alpha) |
| 170 , fBitsPerComponent(bitsPerComponent) | 206 , fBitsPerComponent(bitsPerComponent) |
| 171 {} | 207 {} |
| 172 | 208 |
| 173 Color fColor; | 209 Color fColor; |
| 174 Alpha fAlpha; | 210 Alpha fAlpha; |
| 175 uint8_t fBitsPerComponent; | 211 uint8_t fBitsPerComponent; |
| 176 }; | 212 }; |
| 177 | 213 |
| 178 #endif | 214 #endif |
| OLD | NEW |