diff options
-rw-r--r-- | include/core/SkShader.h | 5 | ||||
-rw-r--r-- | src/core/SkColorShader.cpp | 6 | ||||
-rw-r--r-- | src/core/SkColorShader.h | 4 | ||||
-rw-r--r-- | src/core/SkRasterPipelineBlitter.cpp | 3 | ||||
-rw-r--r-- | src/core/SkShader.cpp | 5 |
5 files changed, 14 insertions, 9 deletions
diff --git a/include/core/SkShader.h b/include/core/SkShader.h index 45302ccece..0dcd11157d 100644 --- a/include/core/SkShader.h +++ b/include/core/SkShader.h @@ -9,6 +9,7 @@ #define SkShader_DEFINED #include "SkBitmap.h" +#include "SkFilterQuality.h" #include "SkFlattenable.h" #include "SkImageInfo.h" #include "SkMask.h" @@ -476,7 +477,7 @@ public: SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() bool appendStages(SkRasterPipeline*, SkColorSpace*, SkFallbackAlloc*, - const SkMatrix& ctm) const; + const SkMatrix& ctm, SkFilterQuality) const; protected: void flatten(SkWriteBuffer&) const override; @@ -510,7 +511,7 @@ protected: } virtual bool onAppendStages(SkRasterPipeline*, SkColorSpace*, SkFallbackAlloc*, - const SkMatrix&) const { + const SkMatrix&, SkFilterQuality) const { return false; } diff --git a/src/core/SkColorShader.cpp b/src/core/SkColorShader.cpp index 072e2a9a5f..a090621188 100644 --- a/src/core/SkColorShader.cpp +++ b/src/core/SkColorShader.cpp @@ -312,7 +312,8 @@ bool SkColor4Shader::Color4Context::onChooseBlitProcs(const SkImageInfo& info, B bool SkColorShader::onAppendStages(SkRasterPipeline* p, SkColorSpace* dst, SkFallbackAlloc* scratch, - const SkMatrix& ctm) const { + const SkMatrix& ctm, + SkFilterQuality) const { auto color = scratch->make<SkPM4f>(SkPM4f_from_SkColor(fColor, dst)); p->append(SkRasterPipeline::constant_color, color); return append_gamut_transform(p, scratch, @@ -322,7 +323,8 @@ bool SkColorShader::onAppendStages(SkRasterPipeline* p, bool SkColor4Shader::onAppendStages(SkRasterPipeline* p, SkColorSpace* dst, SkFallbackAlloc* scratch, - const SkMatrix& ctm) const { + const SkMatrix& ctm, + SkFilterQuality) const { auto color = scratch->make<SkPM4f>(fColor4.premul()); p->append(SkRasterPipeline::constant_color, color); return append_gamut_transform(p, scratch, fColorSpace.get(), dst); diff --git a/src/core/SkColorShader.h b/src/core/SkColorShader.h index 1ca4752b16..3101fa3a9f 100644 --- a/src/core/SkColorShader.h +++ b/src/core/SkColorShader.h @@ -66,7 +66,7 @@ protected: return true; } bool onAppendStages(SkRasterPipeline*, SkColorSpace*, SkFallbackAlloc*, - const SkMatrix& ctm) const override; + const SkMatrix& ctm, SkFilterQuality) const override; private: SkColor fColor; @@ -122,7 +122,7 @@ protected: return true; } bool onAppendStages(SkRasterPipeline*, SkColorSpace*, SkFallbackAlloc*, - const SkMatrix& ctm) const override; + const SkMatrix& ctm, SkFilterQuality) const override; private: sk_sp<SkColorSpace> fColorSpace; diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp index 0adf33af4b..334f73794b 100644 --- a/src/core/SkRasterPipelineBlitter.cpp +++ b/src/core/SkRasterPipelineBlitter.cpp @@ -120,7 +120,8 @@ SkBlitter* SkRasterPipelineBlitter::Create(const SkPixmap& dst, // Shaders start with the paint color in (r,g,b,a) and dst-space (x,y) in (dr,dg). // Before the shader runs, move the paint color to (dr,dg,db,da), and put (x,y) in (r,g). pipeline->append(SkRasterPipeline::swap_src_dst); - if (!shader->appendStages(pipeline, dst.colorSpace(), &blitter->fScratchFallback, ctm)) { + if (!shader->appendStages(pipeline, dst.colorSpace(), &blitter->fScratchFallback, + ctm, paint.getFilterQuality())) { return earlyOut(); } // srcin, s' = s * da, i.e. modulate the output of the shader by the paint alpha. diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp index 057365b21a..ca0eac4c8d 100644 --- a/src/core/SkShader.cpp +++ b/src/core/SkShader.cpp @@ -260,8 +260,9 @@ void SkShader::toString(SkString* str) const { bool SkShader::appendStages(SkRasterPipeline* pipeline, SkColorSpace* dst, SkFallbackAlloc* scratch, - const SkMatrix& ctm) const { - return this->onAppendStages(pipeline, dst, scratch, ctm); + const SkMatrix& ctm, + SkFilterQuality quality) const { + return this->onAppendStages(pipeline, dst, scratch, ctm, quality); } /////////////////////////////////////////////////////////////////////////////////////////////////// |