SkColorSpaceXformSteps improvements and tests
Added some helper functions and put the booleans in a nested struct
(this is motivated by upcoming changes). Added a unit test of steps
against skcms, with round-tripping in both combinations.
Change-Id: Iea3d60cd52edb5259b5576b1422ed6f856cde815
Reviewed-on: https://skia-review.googlesource.com/134660
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/tests/SkColorSpaceXformStepsTest.cpp b/tests/SkColorSpaceXformStepsTest.cpp
index 146c6f1..05daa25 100644
--- a/tests/SkColorSpaceXformStepsTest.cpp
+++ b/tests/SkColorSpaceXformStepsTest.cpp
@@ -98,11 +98,11 @@
uint32_t tested = 0x00000000;
for (auto t : tests) {
SkColorSpaceXformSteps steps{t.src.get(), t.srcAT, t.dst.get()};
- REPORTER_ASSERT(r, steps.unpremul == t.unpremul);
- REPORTER_ASSERT(r, steps.linearize == t.linearize);
- REPORTER_ASSERT(r, steps.gamut_transform == t.gamut_transform);
- REPORTER_ASSERT(r, steps.encode == t.encode);
- REPORTER_ASSERT(r, steps.premul == t.premul);
+ REPORTER_ASSERT(r, steps.flags.unpremul == t.unpremul);
+ REPORTER_ASSERT(r, steps.flags.linearize == t.linearize);
+ REPORTER_ASSERT(r, steps.flags.gamut_transform == t.gamut_transform);
+ REPORTER_ASSERT(r, steps.flags.encode == t.encode);
+ REPORTER_ASSERT(r, steps.flags.premul == t.premul);
uint32_t bits = (uint32_t)t.unpremul << 0
| (uint32_t)t.linearize << 1