diff options
Diffstat (limited to 'src/core/SkLocalMatrixShader.h')
-rw-r--r-- | src/core/SkLocalMatrixShader.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/core/SkLocalMatrixShader.h b/src/core/SkLocalMatrixShader.h index 3d590e43e6..ea784190b4 100644 --- a/src/core/SkLocalMatrixShader.h +++ b/src/core/SkLocalMatrixShader.h @@ -12,6 +12,8 @@ #include "SkReadBuffer.h" #include "SkWriteBuffer.h" +class GrFragmentProcessor; + class SkLocalMatrixShader : public SkShader { public: SkLocalMatrixShader(SkShader* proxy, const SkMatrix& localMatrix) @@ -24,16 +26,10 @@ public: } #if SK_SUPPORT_GPU - const GrFragmentProcessor* asFragmentProcessor( + sk_sp<GrFragmentProcessor> asFragmentProcessor( GrContext* context, const SkMatrix& viewM, const SkMatrix* localMatrix, SkFilterQuality fq, - SkSourceGammaTreatment gammaTreatment) const override { - SkMatrix tmp = this->getLocalMatrix(); - if (localMatrix) { - tmp.preConcat(*localMatrix); - } - return fProxyShader->asFragmentProcessor(context, viewM, &tmp, fq, gammaTreatment); - } + SkSourceGammaTreatment gammaTreatment) const override; #endif SkShader* refAsALocalMatrixShader(SkMatrix* localMatrix) const override { |