Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Side by Side Diff: include/codec/SkEncodedInfo.h

Issue 1911613002: Use SkEncodedInfo in place of SkSwizzler::SrcConfig (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Remove bytesPerPixel() from public API Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/codec/SkBmpStandardCodec.cpp » ('j') | src/codec/SkJpegCodec.cpp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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);
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
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
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 {
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
159 SkEncodedInfo() 190 SkEncodedInfo()
160 : fColor(kUnknown_Color) 191 : fColor(kUnknown_Color)
161 , fAlpha(kUnknown_Alpha) 192 , fAlpha(kUnknown_Alpha)
162 , fBitsPerComponent(0) 193 , fBitsPerComponent(0)
163 {} 194 {}
164 195
165 private: 196 private:
166 197
167 SkEncodedInfo(Color color, Alpha alpha, uint8_t bitsPerComponent) 198 SkEncodedInfo(Color color, Alpha alpha, uint8_t bitsPerComponent)
168 : fColor(color) 199 : fColor(color)
169 , fAlpha(alpha) 200 , fAlpha(alpha)
170 , fBitsPerComponent(bitsPerComponent) 201 , fBitsPerComponent(bitsPerComponent)
171 {} 202 {}
172 203
173 Color fColor; 204 Color fColor;
174 Alpha fAlpha; 205 Alpha fAlpha;
175 uint8_t fBitsPerComponent; 206 uint8_t fBitsPerComponent;
176 }; 207 };
177 208
178 #endif 209 #endif
OLDNEW
« no previous file with comments | « no previous file | src/codec/SkBmpStandardCodec.cpp » ('j') | src/codec/SkJpegCodec.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698