36 srgb_abgr8_pack &operator=(uint32_t
const &rhs)
noexcept { v = rhs;
return *
this; }
37 operator uint32_t ()
noexcept {
return v; }
40 ttlet &rhs_v = rhs.get();
42 ttlet r = sRGB_linear16_to_gamma8(rhs_v[0].get());
43 ttlet g = sRGB_linear16_to_gamma8(rhs_v[1].get());
44 ttlet b = sRGB_linear16_to_gamma8(rhs_v[2].get());
45 ttlet a =
static_cast<uint8_t
>(std::clamp(rhs_v[3] * 255.0f, 0.0f, 255.0f));
46 v = (
static_cast<uint32_t
>(a) << 24) |
47 (
static_cast<uint32_t
>(b) << 16) |
48 (
static_cast<uint32_t
>(g) << 8) |
49 static_cast<uint32_t
>(r);
53 ttlet &rhs_v = rhs.get();
55 ttlet r = sRGB_linear16_to_gamma8(rhs_v[0]);
56 ttlet g = sRGB_linear16_to_gamma8(rhs_v[1]);
57 ttlet b = sRGB_linear16_to_gamma8(rhs_v[2]);
58 ttlet a =
static_cast<uint8_t
>(std::clamp(rhs_v[3] * 255.0f, 0.0f, 255.0f));
59 v = (
static_cast<uint32_t
>(a) << 24) |
60 (
static_cast<uint32_t
>(b) << 16) |
61 (
static_cast<uint32_t
>(g) << 8) |
62 static_cast<uint32_t
>(r);
67 return lhs.v == rhs.v;
74 return {rhs.v & 0x00ffffff};