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

Side by Side Diff: src/effects/gradients/SkSweepGradient.cpp

Issue 1228683002: rename GrShaderDataManager -> GrProcessorDataManager (Closed) Base URL: https://skia.googlesource.com/skia.git@grfixuptests
Patch Set: rebase onto origin/master Created 5 years, 5 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 /* 2 /*
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "SkSweepGradient.h" 9 #include "SkSweepGradient.h"
10 10
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 private: 204 private:
205 205
206 typedef GrGLGradientEffect INHERITED; 206 typedef GrGLGradientEffect INHERITED;
207 207
208 }; 208 };
209 209
210 ///////////////////////////////////////////////////////////////////// 210 /////////////////////////////////////////////////////////////////////
211 211
212 class GrSweepGradient : public GrGradientEffect { 212 class GrSweepGradient : public GrGradientEffect {
213 public: 213 public:
214 static GrFragmentProcessor* Create(GrContext* ctx, GrShaderDataManager* shad erDataManager, 214 static GrFragmentProcessor* Create(GrContext* ctx, GrProcessorDataManager* p rocDataManager,
215 const SkSweepGradient& shader, const SkMa trix& m) { 215 const SkSweepGradient& shader, const SkMa trix& m) {
216 return SkNEW_ARGS(GrSweepGradient, (ctx, shaderDataManager, shader, m)); 216 return SkNEW_ARGS(GrSweepGradient, (ctx, procDataManager, shader, m));
217 } 217 }
218 virtual ~GrSweepGradient() { } 218 virtual ~GrSweepGradient() { }
219 219
220 const char* name() const override { return "Sweep Gradient"; } 220 const char* name() const override { return "Sweep Gradient"; }
221 221
222 virtual void getGLProcessorKey(const GrGLSLCaps& caps, 222 virtual void getGLProcessorKey(const GrGLSLCaps& caps,
223 GrProcessorKeyBuilder* b) const override { 223 GrProcessorKeyBuilder* b) const override {
224 GrGLSweepGradient::GenKey(*this, caps, b); 224 GrGLSweepGradient::GenKey(*this, caps, b);
225 } 225 }
226 226
227 GrGLFragmentProcessor* createGLInstance() const override { 227 GrGLFragmentProcessor* createGLInstance() const override {
228 return SkNEW_ARGS(GrGLSweepGradient, (*this)); 228 return SkNEW_ARGS(GrGLSweepGradient, (*this));
229 } 229 }
230 230
231 private: 231 private:
232 GrSweepGradient(GrContext* ctx, 232 GrSweepGradient(GrContext* ctx,
233 GrShaderDataManager* shaderDataManager, 233 GrProcessorDataManager* procDataManager,
234 const SkSweepGradient& shader, 234 const SkSweepGradient& shader,
235 const SkMatrix& matrix) 235 const SkMatrix& matrix)
236 : INHERITED(ctx, shaderDataManager, shader, matrix, SkShader::kClamp_TileMod e) { 236 : INHERITED(ctx, procDataManager, shader, matrix, SkShader::kClamp_TileMode) {
237 this->initClassID<GrSweepGradient>(); 237 this->initClassID<GrSweepGradient>();
238 } 238 }
239 GR_DECLARE_FRAGMENT_PROCESSOR_TEST; 239 GR_DECLARE_FRAGMENT_PROCESSOR_TEST;
240 240
241 typedef GrGradientEffect INHERITED; 241 typedef GrGradientEffect INHERITED;
242 }; 242 };
243 243
244 ///////////////////////////////////////////////////////////////////// 244 /////////////////////////////////////////////////////////////////////
245 245
246 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrSweepGradient); 246 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrSweepGradient);
247 247
248 GrFragmentProcessor* GrSweepGradient::TestCreate(GrProcessorTestData* d) { 248 GrFragmentProcessor* GrSweepGradient::TestCreate(GrProcessorTestData* d) {
249 SkPoint center = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; 249 SkPoint center = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
250 250
251 SkColor colors[kMaxRandomGradientColors]; 251 SkColor colors[kMaxRandomGradientColors];
252 SkScalar stopsArray[kMaxRandomGradientColors]; 252 SkScalar stopsArray[kMaxRandomGradientColors];
253 SkScalar* stops = stopsArray; 253 SkScalar* stops = stopsArray;
254 SkShader::TileMode tmIgnored; 254 SkShader::TileMode tmIgnored;
255 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tmIgnored ); 255 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tmIgnored );
256 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateSweep(center.fX, cente r.fY, 256 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateSweep(center.fX, cente r.fY,
257 colors, stops, c olorCount)); 257 colors, stops, c olorCount));
258 SkPaint paint; 258 SkPaint paint;
259 GrFragmentProcessor* fp; 259 GrFragmentProcessor* fp;
260 GrColor paintColor; 260 GrColor paintColor;
261 SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, 261 SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
262 GrTest::TestMatrix(d->fRandom), N ULL, 262 GrTest::TestMatrix(d->fRandom), N ULL,
263 &paintColor, d->fShaderDataManage r, &fp)); 263 &paintColor, d->fProcDataManager, &fp));
264 return fp; 264 return fp;
265 } 265 }
266 266
267 ///////////////////////////////////////////////////////////////////// 267 /////////////////////////////////////////////////////////////////////
268 268
269 void GrGLSweepGradient::emitCode(GrGLFPBuilder* builder, 269 void GrGLSweepGradient::emitCode(GrGLFPBuilder* builder,
270 const GrFragmentProcessor& fp, 270 const GrFragmentProcessor& fp,
271 const char* outputColor, 271 const char* outputColor,
272 const char* inputColor, 272 const char* inputColor,
273 const TransformedCoordsArray& coords, 273 const TransformedCoordsArray& coords,
(...skipping 14 matching lines...) Expand all
288 coords2D.c_str(), coords2D.c_str()); 288 coords2D.c_str(), coords2D.c_str());
289 } 289 }
290 this->emitColor(builder, ge, t.c_str(), outputColor, inputColor, samplers); 290 this->emitColor(builder, ge, t.c_str(), outputColor, inputColor, samplers);
291 } 291 }
292 292
293 ///////////////////////////////////////////////////////////////////// 293 /////////////////////////////////////////////////////////////////////
294 294
295 bool SkSweepGradient::asFragmentProcessor(GrContext* context, const SkPaint& pai nt, 295 bool SkSweepGradient::asFragmentProcessor(GrContext* context, const SkPaint& pai nt,
296 const SkMatrix& viewM, 296 const SkMatrix& viewM,
297 const SkMatrix* localMatrix, GrColor* paintColor, 297 const SkMatrix* localMatrix, GrColor* paintColor,
298 GrShaderDataManager* shaderDataManager , 298 GrProcessorDataManager* procDataManage r,
299 GrFragmentProcessor** effect) const { 299 GrFragmentProcessor** effect) const {
300 300
301 SkMatrix matrix; 301 SkMatrix matrix;
302 if (!this->getLocalMatrix().invert(&matrix)) { 302 if (!this->getLocalMatrix().invert(&matrix)) {
303 return false; 303 return false;
304 } 304 }
305 if (localMatrix) { 305 if (localMatrix) {
306 SkMatrix inv; 306 SkMatrix inv;
307 if (!localMatrix->invert(&inv)) { 307 if (!localMatrix->invert(&inv)) {
308 return false; 308 return false;
309 } 309 }
310 matrix.postConcat(inv); 310 matrix.postConcat(inv);
311 } 311 }
312 matrix.postConcat(fPtsToUnit); 312 matrix.postConcat(fPtsToUnit);
313 313
314 *effect = GrSweepGradient::Create(context, shaderDataManager, *this, matrix) ; 314 *effect = GrSweepGradient::Create(context, procDataManager, *this, matrix);
315 *paintColor = SkColor2GrColorJustAlpha(paint.getColor()); 315 *paintColor = SkColor2GrColorJustAlpha(paint.getColor());
316 316
317 return true; 317 return true;
318 } 318 }
319 319
320 #else 320 #else
321 321
322 bool SkSweepGradient::asFragmentProcessor(GrContext*, const SkPaint&, const SkMa trix&, 322 bool SkSweepGradient::asFragmentProcessor(GrContext*, const SkPaint&, const SkMa trix&,
323 const SkMatrix*, GrColor*, GrShaderDat aManager*, 323 const SkMatrix*, GrColor*, GrProcessor DataManager*,
324 GrFragmentProcessor**) const { 324 GrFragmentProcessor**) const {
325 SkDEBUGFAIL("Should not call in GPU-less build"); 325 SkDEBUGFAIL("Should not call in GPU-less build");
326 return false; 326 return false;
327 } 327 }
328 328
329 #endif 329 #endif
330 330
331 #ifndef SK_IGNORE_TO_STRING 331 #ifndef SK_IGNORE_TO_STRING
332 void SkSweepGradient::toString(SkString* str) const { 332 void SkSweepGradient::toString(SkString* str) const {
333 str->append("SkSweepGradient: ("); 333 str->append("SkSweepGradient: (");
334 334
335 str->append("center: ("); 335 str->append("center: (");
336 str->appendScalar(fCenter.fX); 336 str->appendScalar(fCenter.fX);
337 str->append(", "); 337 str->append(", ");
338 str->appendScalar(fCenter.fY); 338 str->appendScalar(fCenter.fY);
339 str->append(") "); 339 str->append(") ");
340 340
341 this->INHERITED::toString(str); 341 this->INHERITED::toString(str);
342 342
343 str->append(")"); 343 str->append(")");
344 } 344 }
345 #endif 345 #endif
OLDNEW
« no previous file with comments | « src/effects/gradients/SkSweepGradient.h ('k') | src/effects/gradients/SkTwoPointConicalGradient.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698