aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkColorSpace_XYZ.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkColorSpace_XYZ.cpp')
-rw-r--r--src/core/SkColorSpace_XYZ.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/SkColorSpace_XYZ.cpp b/src/core/SkColorSpace_XYZ.cpp
index 17462a117a..968f01d793 100644
--- a/src/core/SkColorSpace_XYZ.cpp
+++ b/src/core/SkColorSpace_XYZ.cpp
@@ -119,3 +119,13 @@ void SkColorSpace_XYZ::toDstGammaTables(const uint8_t* tables[3], sk_sp<SkData>*
tables[1] = fToDstGammaTables[1];
tables[2] = fToDstGammaTables[2];
}
+
+sk_sp<SkColorSpace> SkColorSpace_XYZ::makeNonlinearBlending() const {
+ if (this->nonlinearBlending()) {
+ return sk_ref_sp(const_cast<SkColorSpace_XYZ*>(this));
+ }
+
+ auto cs = sk_make_sp<SkColorSpace_XYZ>(fGammaNamed, fGammas, fToXYZD50, fProfileData);
+ cs->fNonlinearBlending = true;
+ return cs;
+}