aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkColorSpaceXformer.cpp
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-04-26 13:45:36 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-04-26 18:11:19 +0000
commit4e92b821f0396fe7ca1bd6498d0f044fb49e59c8 (patch)
tree8ce6ac9ac24c3122ea3a284d1db5adaee863dd95 /src/core/SkColorSpaceXformer.cpp
parentd59948a1714fe32729c77e3ea54e0992d48e8541 (diff)
SkColorFilter::makeColorSpace()
Change-Id: Idea4afac67ef348c2f4e64f4fe6a03704a86652f Reviewed-on: https://skia-review.googlesource.com/14375 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkColorSpaceXformer.cpp')
-rw-r--r--src/core/SkColorSpaceXformer.cpp17
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) {