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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 SkASSERT(kOpaque_Alpha == alpha); | 103 SkASSERT(kOpaque_Alpha == alpha); |
104 SkASSERT(bitsPerComponent >= 8); | 104 SkASSERT(bitsPerComponent >= 8); |
105 break; | 105 break; |
106 case kYUV_Color: | 106 case kYUV_Color: |
107 case kInvertedCMYK_Color: | 107 case kInvertedCMYK_Color: |
108 case kYCCK_Color: | 108 case kYCCK_Color: |
109 SkASSERT(kOpaque_Alpha == alpha); | 109 SkASSERT(kOpaque_Alpha == alpha); |
110 SkASSERT(8 == bitsPerComponent); | 110 SkASSERT(8 == bitsPerComponent); |
111 break; | 111 break; |
112 case kRGBA_Color: | 112 case kRGBA_Color: |
113 SkASSERT(kOpaque_Alpha != alpha); | |
114 SkASSERT(bitsPerComponent >= 8); | 113 SkASSERT(bitsPerComponent >= 8); |
115 break; | 114 break; |
116 case kBGRA_Color: | 115 case kBGRA_Color: |
117 case kYUVA_Color: | 116 case kYUVA_Color: |
118 SkASSERT(kOpaque_Alpha != alpha); | |
119 SkASSERT(8 == bitsPerComponent); | 117 SkASSERT(8 == bitsPerComponent); |
120 break; | 118 break; |
121 default: | 119 default: |
122 SkASSERT(false); | 120 SkASSERT(false); |
123 break; | 121 break; |
124 } | 122 } |
125 | 123 |
126 return SkEncodedInfo(width, height, color, alpha, bitsPerComponent); | 124 return SkEncodedInfo(width, height, color, alpha, bitsPerComponent); |
127 } | 125 } |
128 | 126 |
(...skipping 29 matching lines...) Expand all Loading... |
158 SkASSERT(kOpaque_Alpha != fAlpha); | 156 SkASSERT(kOpaque_Alpha != fAlpha); |
159 return SkImageInfo::Make(fWidth, fHeight, kN32_SkColorType, kUnp
remul_SkAlphaType); | 157 return SkImageInfo::Make(fWidth, fHeight, kN32_SkColorType, kUnp
remul_SkAlphaType); |
160 default: | 158 default: |
161 SkASSERT(false); | 159 SkASSERT(false); |
162 return SkImageInfo::MakeUnknown(); | 160 return SkImageInfo::MakeUnknown(); |
163 } | 161 } |
164 } | 162 } |
165 | 163 |
166 int width() const { return fWidth; } | 164 int width() const { return fWidth; } |
167 int height() const { return fHeight; } | 165 int height() const { return fHeight; } |
| 166 Color color() const { return fColor; } |
| 167 Alpha alpha() const { return fAlpha; } |
| 168 uint8_t bitsPerComponent() const { return fBitsPerComponent; } |
| 169 |
| 170 SkEncodedInfo makeColor(Color color) const { |
| 171 return SkEncodedInfo::Make(fWidth, fHeight, color, fAlpha, fBitsPerCompo
nent); |
| 172 } |
| 173 |
| 174 uint8_t bitsPerPixel() const { |
| 175 switch (fColor) { |
| 176 case kGray_Color: |
| 177 return fBitsPerComponent; |
| 178 case kGrayAlpha_Color: |
| 179 return 2 * fBitsPerComponent; |
| 180 case kPalette_Color: |
| 181 return fBitsPerComponent; |
| 182 case kRGB_Color: |
| 183 case kBGR_Color: |
| 184 case kYUV_Color: |
| 185 return 3 * fBitsPerComponent; |
| 186 case kRGBA_Color: |
| 187 case kBGRA_Color: |
| 188 case kBGRX_Color: |
| 189 case kYUVA_Color: |
| 190 case kInvertedCMYK_Color: |
| 191 case kYCCK_Color: |
| 192 return 4 * fBitsPerComponent; |
| 193 default: |
| 194 SkASSERT(false); |
| 195 return 0; |
| 196 } |
| 197 } |
| 198 |
| 199 uint8_t bytesPerPixel() const { |
| 200 SkASSERT(SkIsAlign8(this->bitsPerPixel())); |
| 201 return this->bitsPerPixel() >> 3; |
| 202 } |
168 | 203 |
169 SkEncodedInfo() | 204 SkEncodedInfo() |
170 : fWidth(0) | 205 : fWidth(0) |
171 , fHeight(0) | 206 , fHeight(0) |
172 , fColor(kUnknown_Color) | 207 , fColor(kUnknown_Color) |
173 , fAlpha(kUnknown_Alpha) | 208 , fAlpha(kUnknown_Alpha) |
174 , fBitsPerComponent(0) | 209 , fBitsPerComponent(0) |
175 {} | 210 {} |
176 | 211 |
177 private: | 212 private: |
178 | 213 |
179 SkEncodedInfo(int width, int height, Color color, Alpha alpha, uint8_t bitsP
erComponent) | 214 SkEncodedInfo(int width, int height, Color color, Alpha alpha, uint8_t bitsP
erComponent) |
180 : fWidth(width) | 215 : fWidth(width) |
181 , fHeight(height) | 216 , fHeight(height) |
182 , fColor(color) | 217 , fColor(color) |
183 , fAlpha(alpha) | 218 , fAlpha(alpha) |
184 , fBitsPerComponent(bitsPerComponent) | 219 , fBitsPerComponent(bitsPerComponent) |
185 {} | 220 {} |
186 | 221 |
187 int fWidth; | 222 int fWidth; |
188 int fHeight; | 223 int fHeight; |
189 Color fColor; | 224 Color fColor; |
190 Alpha fAlpha; | 225 Alpha fAlpha; |
191 uint8_t fBitsPerComponent; | 226 uint8_t fBitsPerComponent; |
192 }; | 227 }; |
193 | 228 |
194 #endif | 229 #endif |
OLD | NEW |