35 tt_force_inline
A8B8G8R8SrgbPack32 &operator=(uint32_t
const &rhs)
noexcept { v = rhs;
return *
this; }
36 tt_force_inline
operator uint32_t ()
noexcept {
return v; }
39 ttlet &rhs_v = rhs.get();
41 ttlet r = sRGB_linear16_to_gamma8(rhs_v[0].get());
42 ttlet g = sRGB_linear16_to_gamma8(rhs_v[1].get());
43 ttlet b = sRGB_linear16_to_gamma8(rhs_v[2].get());
44 ttlet a =
static_cast<uint8_t
>(std::clamp(rhs_v[3] * 255.0f, 0.0f, 255.0f));
45 v = (
static_cast<uint32_t
>(a) << 24) |
46 (
static_cast<uint32_t
>(b) << 16) |
47 (
static_cast<uint32_t
>(g) << 8) |
48 static_cast<uint32_t
>(r);
52 ttlet &rhs_v = rhs.get();
54 ttlet r = sRGB_linear16_to_gamma8(rhs_v[0]);
55 ttlet g = sRGB_linear16_to_gamma8(rhs_v[1]);
56 ttlet b = sRGB_linear16_to_gamma8(rhs_v[2]);
57 ttlet a =
static_cast<uint8_t
>(std::clamp(rhs_v[3] * 255.0f, 0.0f, 255.0f));
58 v = (
static_cast<uint32_t
>(a) << 24) |
59 (
static_cast<uint32_t
>(b) << 16) |
60 (
static_cast<uint32_t
>(g) << 8) |
61 static_cast<uint32_t
>(r);
66 return lhs.v == rhs.v;
73 return {rhs.v & 0x00ffffff};