aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkComposeShader.cpp
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-05-10 12:35:51 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-10 19:01:39 +0000
commit2814d9148671b8bdbf40a192dcbe485199fd3230 (patch)
tree3c4536339091d3a48bf81b7f3a381e784d53019e /src/core/SkComposeShader.cpp
parent14113bcc4e55ab6029344a46fb70aa6344587409 (diff)
clean up SkShader friends
Many SkShader subclasses are only friends to use makeColorSpace(). Our usual solution to this is to add a method on SkColorSpaceXformer that calls makeColorSpace() for us, so that only SkColorSpaceXformer needs to be a friend. Just a refactor. No image diffs. Change-Id: Icf952b739edf45f2fb8c0c35e353ef2866f4c5cc Reviewed-on: https://skia-review.googlesource.com/16370 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkComposeShader.cpp')
-rw-r--r--src/core/SkComposeShader.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/SkComposeShader.cpp b/src/core/SkComposeShader.cpp
index dd95c3edb3..9cb16addc6 100644
--- a/src/core/SkComposeShader.cpp
+++ b/src/core/SkComposeShader.cpp
@@ -96,6 +96,11 @@ SkShader::Context* SkComposeShader::onMakeContext(
return alloc->make<ComposeShaderContext>(*this, rec, contextA, contextB);
}
+sk_sp<SkShader> SkComposeShader::onMakeColorSpace(SkColorSpaceXformer* xformer) const {
+ return SkShader::MakeComposeShader(xformer->apply(fShaderA.get()),
+ xformer->apply(fShaderB.get()), fMode);
+}
+
SkComposeShader::ComposeShaderContext::ComposeShaderContext(
const SkComposeShader& shader, const ContextRec& rec,
SkShader::Context* contextA, SkShader::Context* contextB)