diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkColorSpace.cpp | 2 | ||||
-rw-r--r-- | src/core/SkColorSpacePriv.h | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/core/SkColorSpace.cpp b/src/core/SkColorSpace.cpp index e9efffd96d..235518d3b9 100644 --- a/src/core/SkColorSpace.cpp +++ b/src/core/SkColorSpace.cpp @@ -119,6 +119,7 @@ sk_sp<SkColorSpace> SkColorSpace_Base::MakeRGB(SkGammaNamed gammaNamed, const Sk return SkColorSpace::MakeSRGB(); } break; +#ifdef SK_SUPPORT_LEGACY_ADOBE_XYZ case k2Dot2Curve_SkGammaNamed: if (xyz_almost_equal(toXYZD50, gAdobeRGB_toXYZD50)) { SkMatrix44 adobe44(SkMatrix44::kUninitialized_Constructor); @@ -126,6 +127,7 @@ sk_sp<SkColorSpace> SkColorSpace_Base::MakeRGB(SkGammaNamed gammaNamed, const Sk return sk_sp<SkColorSpace>(new SkColorSpace_XYZ(k2Dot2Curve_SkGammaNamed, adobe44)); } break; +#endif case kLinear_SkGammaNamed: if (xyz_almost_equal(toXYZD50, gSRGB_toXYZD50)) { return SkColorSpace::MakeSRGBLinear(); diff --git a/src/core/SkColorSpacePriv.h b/src/core/SkColorSpacePriv.h index 64fe31fce3..b0a8c1dcbc 100644 --- a/src/core/SkColorSpacePriv.h +++ b/src/core/SkColorSpacePriv.h @@ -10,6 +10,7 @@ #include <math.h> #include "SkColorSpace_Base.h" +#include "SkFixed.h" #define SkColorSpacePrintf(...) @@ -20,9 +21,19 @@ static constexpr float gSRGB_toXYZD50[] { }; static constexpr float gAdobeRGB_toXYZD50[] { +#ifdef SK_SUPPORT_LEGACY_ADOBE_XYZ 0.6097559f, 0.2052401f, 0.1492240f, // Rx, Gx, Bx 0.3111242f, 0.6256560f, 0.0632197f, // Ry, Gy, Gz 0.0194811f, 0.0608902f, 0.7448387f, // Rz, Gz, Bz +#else + // ICC fixed-point (16.16) repesentation of: + // 0.60974, 0.20528, 0.14919, + // 0.31111, 0.62567, 0.06322, + // 0.01947, 0.06087, 0.74457, + SkFixedToFloat(0x9c18), SkFixedToFloat(0x348d), SkFixedToFloat(0x2631), // Rx, Gx, Bx + SkFixedToFloat(0x4fa5), SkFixedToFloat(0xa02c), SkFixedToFloat(0x102f), // Ry, Gy, Gz + SkFixedToFloat(0x04fc), SkFixedToFloat(0x0f95), SkFixedToFloat(0xbe9c), // Rz, Gz, Bz +#endif }; static constexpr float gDCIP3_toXYZD50[] { |