| Index: tests/ColorSpaceTest.cpp
|
| diff --git a/tests/ColorSpaceTest.cpp b/tests/ColorSpaceTest.cpp
|
| index aa0a33b40795b4e367448e661aabe2446cb82e3d..b64e41605d9a5388c38c730abfe67a27b49fd8b0 100644
|
| --- a/tests/ColorSpaceTest.cpp
|
| +++ b/tests/ColorSpaceTest.cpp
|
| @@ -9,6 +9,7 @@
|
| #include "SkCodec.h"
|
| #include "SkColorSpace.h"
|
| #include "SkColorSpace_Base.h"
|
| +#include "SkColorSpace_XYZTRC.h"
|
| #include "Test.h"
|
|
|
| #include "png.h"
|
| @@ -22,9 +23,11 @@ static void test_space(skiatest::Reporter* r, SkColorSpace* space,
|
| const SkGammaNamed expectedGamma) {
|
|
|
| REPORTER_ASSERT(r, nullptr != space);
|
| - REPORTER_ASSERT(r, expectedGamma == as_CSB(space)->gammaNamed());
|
| + SkASSERT(as_CSB(space)->toXYZD50());
|
| + const SkColorSpace_XYZTRC* csXYZ = static_cast<const SkColorSpace_XYZTRC*>(space);
|
| + REPORTER_ASSERT(r, expectedGamma == csXYZ->gammaNamed());
|
|
|
| - const SkMatrix44& mat = as_CSB(space)->toXYZD50();
|
| + const SkMatrix44& mat = *csXYZ->toXYZD50();
|
| const float src[] = {
|
| 1, 0, 0, 1,
|
| 0, 1, 0, 1,
|
| @@ -120,8 +123,9 @@ DEF_TEST(ColorSpaceSRGBLinearCompare, r) {
|
| sk_sp<SkColorSpace> namedColorSpace = SkColorSpace::NewNamed(SkColorSpace::kSRGBLinear_Named);
|
|
|
| // Create the linear sRGB color space via the sRGB color space's makeLinearGamma()
|
| - sk_sp<SkColorSpace> viaSrgbColorSpace =
|
| - as_CSB(SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named))->makeLinearGamma();
|
| + auto srgb = SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named);
|
| + auto srgbXYZ = static_cast<SkColorSpace_XYZTRC*>(srgb.get());
|
| + sk_sp<SkColorSpace> viaSrgbColorSpace = srgbXYZ->makeLinearGamma();
|
| REPORTER_ASSERT(r, namedColorSpace == viaSrgbColorSpace);
|
|
|
| // Create a linear sRGB color space by value
|
| @@ -166,8 +170,14 @@ DEF_TEST(ColorSpaceWriteICC, r) {
|
| sk_sp<SkData> newMonitorData = ColorSpaceTest::WriteToICC(monitorSpace.get());
|
| sk_sp<SkColorSpace> newMonitorSpace = SkColorSpace::NewICC(newMonitorData->data(),
|
| newMonitorData->size());
|
| - REPORTER_ASSERT(r, as_CSB(monitorSpace)->toXYZD50() == as_CSB(newMonitorSpace)->toXYZD50());
|
| - REPORTER_ASSERT(r, as_CSB(monitorSpace)->gammaNamed() == as_CSB(newMonitorSpace)->gammaNamed());
|
| + SkASSERT(as_CSB(monitorSpace)->toXYZD50());
|
| + const SkColorSpace_XYZTRC* monitorSpaceXYZ =
|
| + static_cast<const SkColorSpace_XYZTRC*>(monitorSpace.get());
|
| + SkASSERT(as_CSB(newMonitorSpace)->toXYZD50());
|
| + const SkColorSpace_XYZTRC* newMonitorSpaceXYZ =
|
| + static_cast<const SkColorSpace_XYZTRC*>(newMonitorSpace.get());
|
| + REPORTER_ASSERT(r, *monitorSpaceXYZ->toXYZD50() == *newMonitorSpaceXYZ->toXYZD50());
|
| + REPORTER_ASSERT(r, monitorSpaceXYZ->gammaNamed() == newMonitorSpaceXYZ->gammaNamed());
|
| }
|
|
|
| DEF_TEST(ColorSpace_Named, r) {
|
| @@ -184,7 +194,9 @@ DEF_TEST(ColorSpace_Named, r) {
|
| auto cs = SkColorSpace::NewNamed(rec.fNamed);
|
| REPORTER_ASSERT(r, cs);
|
| if (cs) {
|
| - REPORTER_ASSERT(r, rec.fExpectedGamma == as_CSB(cs)->gammaNamed());
|
| + SkASSERT(as_CSB(cs)->toXYZD50());
|
| + const SkColorSpace_XYZTRC* csXYZ = static_cast<const SkColorSpace_XYZTRC*>(cs.get());
|
| + REPORTER_ASSERT(r, rec.fExpectedGamma == csXYZ->gammaNamed());
|
| }
|
| }
|
|
|
|
|