diff options
-rw-r--r-- | include/core/SkColorSpace.h | 6 | ||||
-rw-r--r-- | src/core/SkColorSpace.cpp | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/include/core/SkColorSpace.h b/include/core/SkColorSpace.h index 6c0db85d7b..1bcb44fbc5 100644 --- a/include/core/SkColorSpace.h +++ b/include/core/SkColorSpace.h @@ -118,6 +118,12 @@ public: bool gammaIsLinear() const; /** + * Returns true and sets |toXYZD50| if the color gamut can be described as a matrix. + * Returns false otherwise. + */ + bool toXYZD50(SkMatrix44* toXYZD50) const; + + /** * Returns nullptr on failure. Fails when we fallback to serializing ICC data and * the data is too large to serialize. */ diff --git a/src/core/SkColorSpace.cpp b/src/core/SkColorSpace.cpp index 239a61bcce..3c1ce257f1 100644 --- a/src/core/SkColorSpace.cpp +++ b/src/core/SkColorSpace.cpp @@ -242,6 +242,16 @@ bool SkColorSpace::gammaIsLinear() const { return as_CSB(this)->onGammaIsLinear(); } +bool SkColorSpace::toXYZD50(SkMatrix44* toXYZD50) const { + const SkMatrix44* matrix = as_CSB(this)->toXYZD50(); + if (matrix) { + *toXYZD50 = *matrix; + return true; + } + + return false; +} + /////////////////////////////////////////////////////////////////////////////////////////////////// enum Version { |