19 constexpr Rgba32() : red_{0}, green_{0}, blue_{0}, alpha_{0} {}
24 [[nodiscard]] std::uint8_t
red()
const {
28 [[nodiscard]] std::uint8_t
green()
const {
32 [[nodiscard]] std::uint8_t
blue()
const {
36 [[nodiscard]] std::uint8_t
alpha()
const {
43 [[nodiscard]] std::string
ToJascStr()
const;
82 const std::size_t h1 = std::hash<std::uint8_t>{}(rgba.red());
83 const std::size_t h2 = std::hash<std::uint8_t>{}(rgba.green());
84 const std::size_t h3 = std::hash<std::uint8_t>{}(rgba.blue());
85 const std::size_t h4 = std::hash<std::uint8_t>{}(rgba.alpha());
86 return h1 ^ (h2 << 8) ^ (h3 << 16) ^ (h4 << 24);
auto operator<=>(const Rgba32 &rgba) const =default
std::string ToJascStr() const
static constexpr std::uint8_t kAlphaTransparent
std::uint8_t blue() const
bool EqualsIgnoringAlpha(const Rgba32 &other) const
static constexpr std::uint8_t kAlphaOpaque
std::uint8_t alpha() const
constexpr Rgba32(std::uint8_t red, std::uint8_t green, std::uint8_t blue, std::uint8_t alpha=kAlphaOpaque)
std::uint8_t green() const
bool operator==(const Rgba32 &rgba) const =default
constexpr Rgba32 kRgbaCyan
constexpr Rgba32 kRgbaBlack
constexpr Rgba32 kRgbaLime
auto format_as(const Bgr15 &bgr)
constexpr Rgba32 kRgbaYellow
constexpr Rgba32 kRgbaWhite
constexpr Rgba32 kRgbaGrey
constexpr Rgba32 kRgbaGreen
constexpr Rgba32 kRgbaPurple
constexpr Rgba32 kRgbaBlue
constexpr Rgba32 kRgbaRed
constexpr Rgba32 kRgbaMagenta
std::size_t operator()(const porytiles::Rgba32 &rgba) const noexcept