diff options
author | Matt Sarett <msarett@google.com> | 2017-02-16 08:14:27 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-02-16 14:23:40 +0000 |
commit | 5444446b75baaa6e12f07dd1fbe7d11cfc94c7b1 (patch) | |
tree | bc33fd2f5d211fce479fd3af186b344b6ae06f16 /src/core/SkColorSpace.cpp | |
parent | 0c8f7a335eb63e22a70115e83924c7a1bf455ef7 (diff) |
Use non-linear color spaces for Android decode outputs
BUG=skia:
Change-Id: Ic4bce28f4bc45f73cbfcacc3630140d11fa9c41f
Reviewed-on: https://skia-review.googlesource.com/8530
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
Diffstat (limited to 'src/core/SkColorSpace.cpp')
-rw-r--r-- | src/core/SkColorSpace.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/SkColorSpace.cpp b/src/core/SkColorSpace.cpp index 18eede3950..b24a8d6777 100644 --- a/src/core/SkColorSpace.cpp +++ b/src/core/SkColorSpace.cpp @@ -297,6 +297,19 @@ bool SkColorSpace::toXYZD50(SkMatrix44* toXYZD50) const { /////////////////////////////////////////////////////////////////////////////////////////////////// +sk_sp<SkColorSpace> SkColorSpace_Base::makeWithoutFlags() { + if (!fFlags) { + return sk_ref_sp(this); + } + + SkASSERT(Type::kXYZ == this->type()); + SkColorSpaceTransferFn fn; + SkAssertResult(this->onIsNumericalTransferFn(&fn)); + return SkColorSpace::MakeRGB(fn, *this->toXYZD50(), 0); +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + enum Version { k0_Version, // Initial version, header + flags for matrix and profile }; |