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

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

Issue 2037413002: Add SkSourceGammaTreatment enum so we know how to create mips (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Remove leftover comments Created 4 years, 6 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 #include "SkRadialGradient.h" 8 #include "SkRadialGradient.h"
9 #include "SkNx.h" 9 #include "SkNx.h"
10 10
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 SkPoint center = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; 306 SkPoint center = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
307 SkScalar radius = d->fRandom->nextUScalar1(); 307 SkScalar radius = d->fRandom->nextUScalar1();
308 308
309 SkColor colors[kMaxRandomGradientColors]; 309 SkColor colors[kMaxRandomGradientColors];
310 SkScalar stopsArray[kMaxRandomGradientColors]; 310 SkScalar stopsArray[kMaxRandomGradientColors];
311 SkScalar* stops = stopsArray; 311 SkScalar* stops = stopsArray;
312 SkShader::TileMode tm; 312 SkShader::TileMode tm;
313 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); 313 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
314 auto shader = SkGradientShader::MakeRadial(center, radius, colors, stops, co lorCount, tm); 314 auto shader = SkGradientShader::MakeRadial(center, radius, colors, stops, co lorCount, tm);
315 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, 315 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext,
316 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality); 316 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, false);
317 GrAlwaysAssert(fp); 317 GrAlwaysAssert(fp);
318 return fp; 318 return fp;
319 } 319 }
320 320
321 ///////////////////////////////////////////////////////////////////// 321 /////////////////////////////////////////////////////////////////////
322 322
323 void GrGLRadialGradient::emitCode(EmitArgs& args) { 323 void GrGLRadialGradient::emitCode(EmitArgs& args) {
324 const GrRadialGradient& ge = args.fFp.cast<GrRadialGradient>(); 324 const GrRadialGradient& ge = args.fFp.cast<GrRadialGradient>();
325 this->emitUniforms(args.fUniformHandler, ge); 325 this->emitUniforms(args.fUniformHandler, ge);
326 SkString t("length("); 326 SkString t("length(");
327 t.append(args.fFragBuilder->ensureFSCoords2D(args.fCoords, 0)); 327 t.append(args.fFragBuilder->ensureFSCoords2D(args.fCoords, 0));
328 t.append(")"); 328 t.append(")");
329 this->emitColor(args.fFragBuilder, 329 this->emitColor(args.fFragBuilder,
330 args.fUniformHandler, 330 args.fUniformHandler,
331 args.fGLSLCaps, 331 args.fGLSLCaps,
332 ge, t.c_str(), 332 ge, t.c_str(),
333 args.fOutputColor, 333 args.fOutputColor,
334 args.fInputColor, 334 args.fInputColor,
335 args.fTexSamplers); 335 args.fTexSamplers);
336 } 336 }
337 337
338 ///////////////////////////////////////////////////////////////////// 338 /////////////////////////////////////////////////////////////////////
339 339
340 const GrFragmentProcessor* SkRadialGradient::asFragmentProcessor( 340 const GrFragmentProcessor* SkRadialGradient::asFragmentProcessor(
341 GrContext* context, 341 GrContext* context,
342 const SkMatrix& viewM, 342 const SkMatrix& viewM,
343 const SkMatrix* localMatrix, 343 const SkMatrix* localMatrix,
344 SkFilterQuality) const { 344 SkFilterQuality,
345 bool gammaCorrect) const {
345 SkASSERT(context); 346 SkASSERT(context);
346 347
347 SkMatrix matrix; 348 SkMatrix matrix;
348 if (!this->getLocalMatrix().invert(&matrix)) { 349 if (!this->getLocalMatrix().invert(&matrix)) {
349 return nullptr; 350 return nullptr;
350 } 351 }
351 if (localMatrix) { 352 if (localMatrix) {
352 SkMatrix inv; 353 SkMatrix inv;
353 if (!localMatrix->invert(&inv)) { 354 if (!localMatrix->invert(&inv)) {
354 return nullptr; 355 return nullptr;
(...skipping 18 matching lines...) Expand all
373 str->appendScalar(fCenter.fY); 374 str->appendScalar(fCenter.fY);
374 str->append(") radius: "); 375 str->append(") radius: ");
375 str->appendScalar(fRadius); 376 str->appendScalar(fRadius);
376 str->append(" "); 377 str->append(" ");
377 378
378 this->INHERITED::toString(str); 379 this->INHERITED::toString(str);
379 380
380 str->append(")"); 381 str->append(")");
381 } 382 }
382 #endif 383 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698