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

Side by Side Diff: src/effects/gradients/SkGradientShaderPriv.h

Issue 227623004: Add flipped gradient branch to two point conical gradient (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Another ignore Created 6 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
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 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 SkGradientShaderPriv_DEFINED 8 #ifndef SkGradientShaderPriv_DEFINED
9 #define SkGradientShaderPriv_DEFINED 9 #define SkGradientShaderPriv_DEFINED
10 10
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 159
160 struct Rec { 160 struct Rec {
161 SkFixed fPos; // 0...1 161 SkFixed fPos; // 0...1
162 uint32_t fScale; // (1 << 24) / range 162 uint32_t fScale; // (1 << 24) / range
163 }; 163 };
164 Rec* fRecs; 164 Rec* fRecs;
165 165
166 const uint16_t* getCache16() const; 166 const uint16_t* getCache16() const;
167 const SkPMColor* getCache32() const; 167 const SkPMColor* getCache32() const;
168 168
169 void commonAsAGradient(GradientInfo*) const; 169 void commonAsAGradient(GradientInfo*, bool flipGrad = false) const;
170
171 /*
172 * Takes in pointers to gradient color and Rec info as colorSrc and recSrc r espectively.
173 * Count is the number of colors in the gradient
174 * It will then flip all the color and rec information and return in their r espective Dst
175 * pointers. It is assumed that space has already been allocated for the Dst pointers.
176 * The rec src and dst are only assumed to be valid if count > 2
177 */
178 static void FlipGradientColors(SkColor* colorDst, Rec* recDst,
179 SkColor* colorSrc, Rec* recSrc,
180 int count);
181
182 // V23_COMPATIBILITY_CODE
183 // Used for 2-pt conical gradients since we sort start/end cirlces by radius
184 // Assumes space has already been allocated for fOrigColors
185 void flipGradientColors();
170 186
171 private: 187 private:
172 enum { 188 enum {
173 kColorStorageCount = 4, // more than this many colors, and we'll use sk_ malloc for the space 189 kColorStorageCount = 4, // more than this many colors, and we'll use sk_ malloc for the space
174 190
175 kStorageSize = kColorStorageCount * (sizeof(SkColor) + sizeof(Rec)) 191 kStorageSize = kColorStorageCount * (sizeof(SkColor) + sizeof(Rec))
176 }; 192 };
177 SkColor fStorage[(kStorageSize + 3) >> 2]; 193 SkColor fStorage[(kStorageSize + 3) >> 2];
178 SkColor* fOrigColors; // original colors, before modulation by paint in s etContext 194 SkColor* fOrigColors; // original colors, before modulation by paint in s etContext
179 bool fColorsAreOpaque; 195 bool fColorsAreOpaque;
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 GrGLUniformManager::UniformHandle fColorStartUni; 399 GrGLUniformManager::UniformHandle fColorStartUni;
384 GrGLUniformManager::UniformHandle fColorMidUni; 400 GrGLUniformManager::UniformHandle fColorMidUni;
385 GrGLUniformManager::UniformHandle fColorEndUni; 401 GrGLUniformManager::UniformHandle fColorEndUni;
386 402
387 typedef GrGLEffect INHERITED; 403 typedef GrGLEffect INHERITED;
388 }; 404 };
389 405
390 #endif 406 #endif
391 407
392 #endif 408 #endif
OLDNEW
« no previous file with comments | « src/effects/gradients/SkGradientShader.cpp ('k') | src/effects/gradients/SkTwoPointConicalGradient.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698