From 839345d63466a4209a0985654ec033624821fd78 Mon Sep 17 00:00:00 2001 From: brianosman Date: Fri, 22 Jul 2016 11:04:53 -0700 Subject: 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 --- src/effects/gradients/SkSweepGradient.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'src/effects/gradients/SkSweepGradient.cpp') diff --git a/src/effects/gradients/SkSweepGradient.cpp b/src/effects/gradients/SkSweepGradient.cpp index 9e2b909075..31f4816075 100644 --- a/src/effects/gradients/SkSweepGradient.cpp +++ b/src/effects/gradients/SkSweepGradient.cpp @@ -191,10 +191,9 @@ sk_sp GrSweepGradient::TestCreate(GrProcessorTestData* d) { int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tmIgnored); sk_sp shader(SkGradientShader::MakeSweep(center.fX, center.fY, colors, stops, colorCount)); - sk_sp fp = shader->asFragmentProcessor(d->fContext, - GrTest::TestMatrix(d->fRandom), - NULL, kNone_SkFilterQuality, - SkSourceGammaTreatment::kRespect); + SkMatrix viewMatrix = GrTest::TestMatrix(d->fRandom); + sk_sp fp = shader->asFragmentProcessor(SkShader::AsFPArgs( + d->fContext, &viewMatrix, NULL, kNone_SkFilterQuality, SkSourceGammaTreatment::kRespect)); GrAlwaysAssert(fp); return fp; } @@ -227,27 +226,22 @@ void GrGLSweepGradient::emitCode(EmitArgs& args) { ///////////////////////////////////////////////////////////////////// -sk_sp SkSweepGradient::asFragmentProcessor( - GrContext* context, - const SkMatrix& viewM, - const SkMatrix* localMatrix, - SkFilterQuality, - SkSourceGammaTreatment) const { +sk_sp SkSweepGradient::asFragmentProcessor(const AsFPArgs& args) const { 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 inner(GrSweepGradient::Make(context, *this, matrix)); + sk_sp inner(GrSweepGradient::Make(args.fContext, *this, matrix)); return GrFragmentProcessor::MulOutputByInputAlpha(std::move(inner)); } -- cgit v1.2.3