24 srgb_abgr8_pack &operator=(uint32_t
const &rhs)
noexcept { v = rhs;
return *
this; }
25 operator uint32_t ()
noexcept {
return v; }
28 ttlet &rhs_v = rhs.get();
30 ttlet r = sRGB_linear16_to_gamma8(rhs_v[0].get());
31 ttlet g = sRGB_linear16_to_gamma8(rhs_v[1].get());
32 ttlet b = sRGB_linear16_to_gamma8(rhs_v[2].get());
33 ttlet a =
static_cast<uint8_t
>(std::clamp(rhs_v[3] * 255.0f, 0.0f, 255.0f));
34 v = (
static_cast<uint32_t
>(a) << 24) |
35 (
static_cast<uint32_t
>(b) << 16) |
36 (
static_cast<uint32_t
>(g) << 8) |
37 static_cast<uint32_t
>(r);
41 ttlet &rhs_v = rhs.get();
43 ttlet r = sRGB_linear16_to_gamma8(rhs_v[0]);
44 ttlet g = sRGB_linear16_to_gamma8(rhs_v[1]);
45 ttlet b = sRGB_linear16_to_gamma8(rhs_v[2]);
46 ttlet a =
static_cast<uint8_t
>(std::clamp(rhs_v[3] * 255.0f, 0.0f, 255.0f));
47 v = (
static_cast<uint32_t
>(a) << 24) |
48 (
static_cast<uint32_t
>(b) << 16) |
49 (
static_cast<uint32_t
>(g) << 8) |
50 static_cast<uint32_t
>(r);
55 return lhs.v == rhs.v;
62 return {rhs.v & 0x00ffffff};