| #include "SkPMFloat.h" |
| #include "Test.h" |
| |
| DEF_TEST(SkPMFloat, r) { |
| SkPMColor c = SkPreMultiplyColor(0xFFCC9933); |
| |
| SkPMFloat pmf; |
| pmf.set(c); |
| REPORTER_ASSERT(r, SkScalarNearlyEqual(1.0f, pmf.a())); |
| REPORTER_ASSERT(r, SkScalarNearlyEqual(0.8f, pmf.r())); |
| REPORTER_ASSERT(r, SkScalarNearlyEqual(0.6f, pmf.g())); |
| REPORTER_ASSERT(r, SkScalarNearlyEqual(0.2f, pmf.b())); |
| |
| REPORTER_ASSERT(r, c == pmf.get()); |
| |
| SkPMFloat unclamped; |
| unclamped.setA(+2.0f); |
| unclamped.setR(+0.2f); |
| unclamped.setG(-0.2f); |
| unclamped.setB(-5.0f); |
| |
| SkPMFloat clamped; |
| clamped.set(unclamped.clamped()); |
| |
| REPORTER_ASSERT(r, SkScalarNearlyEqual(1.0f, clamped.a())); |
| REPORTER_ASSERT(r, SkScalarNearlyEqual(0.2f, clamped.r())); |
| REPORTER_ASSERT(r, SkScalarNearlyEqual(0.0f, clamped.g())); |
| REPORTER_ASSERT(r, SkScalarNearlyEqual(0.0f, clamped.b())); |
| } |