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

Side by Side Diff: include/core/SkColor.h

Issue 1664663003: extend compose-colorfilter to 4f (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
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 SkColor_DEFINED 8 #ifndef SkColor_DEFINED
9 #define SkColor_DEFINED 9 #define SkColor_DEFINED
10 10
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 dependent order, to match the format of kARGB32 bitmaps. 153 dependent order, to match the format of kARGB32 bitmaps.
154 */ 154 */
155 SK_API SkPMColor SkPreMultiplyColor(SkColor c); 155 SK_API SkPMColor SkPreMultiplyColor(SkColor c);
156 156
157 /** Define a function pointer type for combining two premultiplied colors 157 /** Define a function pointer type for combining two premultiplied colors
158 */ 158 */
159 typedef SkPMColor (*SkXfermodeProc)(SkPMColor src, SkPMColor dst); 159 typedef SkPMColor (*SkXfermodeProc)(SkPMColor src, SkPMColor dst);
160 160
161 //////////////////////////////////////////////////////////////////////////////// /////////////////// 161 //////////////////////////////////////////////////////////////////////////////// ///////////////////
162 162
163 struct SkColor4f;
164
163 /* 165 /*
164 * The float values are 0...1 premultiplied 166 * The float values are 0...1 premultiplied
165 */ 167 */
166 struct SkPM4f { 168 struct SkPM4f {
167 enum { 169 enum {
168 A = SK_A32_SHIFT/8, 170 A = SK_A32_SHIFT/8,
169 R = SK_R32_SHIFT/8, 171 R = SK_R32_SHIFT/8,
170 G = SK_G32_SHIFT/8, 172 G = SK_G32_SHIFT/8,
171 B = SK_B32_SHIFT/8, 173 B = SK_B32_SHIFT/8,
172 }; 174 };
173 float fVec[4]; 175 float fVec[4];
174 176
175 float a() const { return fVec[A]; } 177 float a() const { return fVec[A]; }
176 178
179 SkColor4f unpremul() const;
180
177 static SkPM4f FromPMColor(SkPMColor); 181 static SkPM4f FromPMColor(SkPMColor);
178 182
179 #ifdef SK_DEBUG 183 #ifdef SK_DEBUG
180 void assertIsUnit() const; 184 void assertIsUnit() const;
181 #else 185 #else
182 void assertIsUnit() const {} 186 void assertIsUnit() const {}
183 #endif 187 #endif
184 }; 188 };
185 189
186 /* 190 /*
(...skipping 19 matching lines...) Expand all
206 static SkColor4f FromColor(SkColor); 210 static SkColor4f FromColor(SkColor);
207 211
208 SkColor4f pin() const { 212 SkColor4f pin() const {
209 return Pin(fA, fR, fG, fB); 213 return Pin(fA, fR, fG, fB);
210 } 214 }
211 215
212 SkPM4f premul() const; 216 SkPM4f premul() const;
213 }; 217 };
214 218
215 #endif 219 #endif
OLDNEW
« no previous file with comments | « gm/color4f.cpp ('k') | include/core/SkColorFilter.h » ('j') | src/core/SkColorFilter.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698