diff options
author | 2016-07-22 11:04:53 -0700 | |
---|---|---|
committer | 2016-07-22 11:04:53 -0700 | |
commit | 839345d63466a4209a0985654ec033624821fd78 (patch) | |
tree | 71590a11b99b3b554a4c80096f36c759b5d68ced /src/effects/gradients/SkRadialGradient.cpp | |
parent | 8a8accbcd1958c1646246b9b994fb47a3b5a6021 (diff) |
Bundle SkShader::asFragmentProcessor arguments in a struct
The signature of this thing keeps changing (and is about to change again).
This just makes maintenance much easier.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2175563003
Review-Url: https://codereview.chromium.org/2175563003
Diffstat (limited to 'src/effects/gradients/SkRadialGradient.cpp')
-rw-r--r-- | src/effects/gradients/SkRadialGradient.cpp | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/effects/gradients/SkRadialGradient.cpp b/src/effects/gradients/SkRadialGradient.cpp index c7e6656549..bcedb7f2e8 100644 --- a/src/effects/gradients/SkRadialGradient.cpp +++ b/src/effects/gradients/SkRadialGradient.cpp @@ -312,9 +312,9 @@ sk_sp<GrFragmentProcessor> GrRadialGradient::TestCreate(GrProcessorTestData* d) SkShader::TileMode tm; int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); auto shader = SkGradientShader::MakeRadial(center, radius, colors, stops, colorCount, tm); - sk_sp<GrFragmentProcessor> fp = shader->asFragmentProcessor(d->fContext, - GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, - SkSourceGammaTreatment::kRespect); + SkMatrix viewMatrix = GrTest::TestMatrix(d->fRandom); + sk_sp<GrFragmentProcessor> fp = shader->asFragmentProcessor(SkShader::AsFPArgs( + d->fContext, &viewMatrix, NULL, kNone_SkFilterQuality, SkSourceGammaTreatment::kRespect)); GrAlwaysAssert(fp); return fp; } @@ -338,27 +338,23 @@ void GrGLRadialGradient::emitCode(EmitArgs& args) { ///////////////////////////////////////////////////////////////////// -sk_sp<GrFragmentProcessor> SkRadialGradient::asFragmentProcessor( - GrContext* context, - const SkMatrix& viewM, - const SkMatrix* localMatrix, - SkFilterQuality, - SkSourceGammaTreatment) const { - SkASSERT(context); +sk_sp<GrFragmentProcessor> SkRadialGradient::asFragmentProcessor(const AsFPArgs& args) const { + SkASSERT(args.fContext); SkMatrix matrix; if (!this->getLocalMatrix().invert(&matrix)) { return nullptr; } - if (localMatrix) { + if (args.fLocalMatrix) { SkMatrix inv; - if (!localMatrix->invert(&inv)) { + if (!args.fLocalMatrix->invert(&inv)) { return nullptr; } matrix.postConcat(inv); } matrix.postConcat(fPtsToUnit); - sk_sp<GrFragmentProcessor> inner(GrRadialGradient::Make(context, *this, matrix, fTileMode)); + sk_sp<GrFragmentProcessor> inner( + GrRadialGradient::Make(args.fContext, *this, matrix, fTileMode)); return GrFragmentProcessor::MulOutputByInputAlpha(std::move(inner)); } |