diff options
Diffstat (limited to 'src/core/SkColorSpaceXformer.cpp')
-rw-r--r-- | src/core/SkColorSpaceXformer.cpp | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/src/core/SkColorSpaceXformer.cpp b/src/core/SkColorSpaceXformer.cpp index ce6fff679e..a51e2e6b41 100644 --- a/src/core/SkColorSpaceXformer.cpp +++ b/src/core/SkColorSpaceXformer.cpp @@ -44,23 +44,8 @@ sk_sp<SkImage> SkColorSpaceXformer::apply(const SkBitmap& src) { return xformed; } -// Currently, SkModeColorFilter is the only color filter that holds a color. And -// SkComposeColorFilter is the only color filter that holds another color filter. If this -// changes, this function will need updating. sk_sp<SkColorFilter> SkColorSpaceXformer::apply(const SkColorFilter* colorFilter) { - SkColor color; - SkBlendMode mode; - if (colorFilter->asColorMode(&color, &mode)) { - return SkColorFilter::MakeModeFilter(this->apply(color), mode); - } - - SkColorFilter* outer; - SkColorFilter* inner; - if (colorFilter->asACompose(&outer, &inner)) { - return SkColorFilter::MakeComposeFilter(this->apply(outer), this->apply(inner)); - } - - return sk_ref_sp(const_cast<SkColorFilter*>(colorFilter)); + return colorFilter->makeColorSpace(this); } sk_sp<SkImageFilter> SkColorSpaceXformer::apply(const SkImageFilter* imageFilter) { |