diff options
Diffstat (limited to 'src/effects/gradients/SkLinearGradient.cpp')
-rw-r--r-- | src/effects/gradients/SkLinearGradient.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/effects/gradients/SkLinearGradient.cpp b/src/effects/gradients/SkLinearGradient.cpp index de6341e8a4..24cb1b592d 100644 --- a/src/effects/gradients/SkLinearGradient.cpp +++ b/src/effects/gradients/SkLinearGradient.cpp @@ -6,6 +6,7 @@ */ #include "Sk4fLinearGradient.h" +#include "SkColorSpaceXformer.h" #include "SkLinearGradient.h" #include "SkRefCnt.h" @@ -257,6 +258,14 @@ bool SkLinearGradient::onAppendStages(SkRasterPipeline* p, return true; } +sk_sp<SkShader> SkLinearGradient::onMakeColorSpace(SkColorSpaceXformer* xformer) const { + SkPoint pts[2] = { fStart, fEnd }; + SkSTArray<8, SkColor> xformedColors(fColorCount); + xformer->apply(xformedColors.begin(), fOrigColors, fColorCount); + return SkGradientShader::MakeLinear(pts, xformedColors.begin(), fOrigPos, fColorCount, + fTileMode, fGradFlags, &this->getLocalMatrix()); +} + // This swizzles SkColor into the same component order as SkPMColor, but does not actually // "pre" multiply the color components. // |