aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkColorSpace.cpp
diff options
context:
space:
mode:
authorGravatar Matt Sarett <msarett@google.com>2017-02-16 08:14:27 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-02-16 14:23:40 +0000
commit5444446b75baaa6e12f07dd1fbe7d11cfc94c7b1 (patch)
treebc33fd2f5d211fce479fd3af186b344b6ae06f16 /src/core/SkColorSpace.cpp
parent0c8f7a335eb63e22a70115e83924c7a1bf455ef7 (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.cpp13
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
};