OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |