26 constexpr Rgba32() : red_{0}, green_{0}, blue_{0}, alpha_{0} {}
73 [[nodiscard]] std::uint8_t
red()
const
78 [[nodiscard]] std::uint8_t
green()
const
83 [[nodiscard]] std::uint8_t
blue()
const
88 [[nodiscard]] std::uint8_t
alpha()
const
102 return "[" + std::to_string(rgba.
red()) +
", " + std::to_string(rgba.
green()) +
", " + std::to_string(rgba.
blue()) +
103 ", " + std::to_string(rgba.
alpha()) +
"]";
143 Rgba32{255, 255, 255, 255},
144 Rgba32{238, 238, 238, 255},
145 Rgba32{222, 222, 222, 255},
146 Rgba32{205, 205, 205, 255},
147 Rgba32{189, 189, 189, 255},
148 Rgba32{172, 172, 172, 255},
149 Rgba32{156, 156, 156, 255},
150 Rgba32{139, 139, 139, 255},
151 Rgba32{115, 115, 115, 255},
178 const std::size_t h1 = std::hash<std::uint8_t>{}(rgba.red());
179 const std::size_t h2 = std::hash<std::uint8_t>{}(rgba.green());
180 const std::size_t h3 = std::hash<std::uint8_t>{}(rgba.blue());
181 const std::size_t h4 = std::hash<std::uint8_t>{}(rgba.alpha());
182 return h1 ^ (h2 << 8) ^ (h3 << 16) ^ (h4 << 24);
205 constexpr auto parse(std::format_parse_context &ctx)
Represents a 32-bit RGBA color.
constexpr Rgba32(std::uint8_t red, std::uint8_t green, std::uint8_t blue, std::uint8_t alpha=alpha_opaque)
std::string to_csv_str() const
auto operator<=>(const Rgba32 &rgba) const =default
static constexpr std::uint8_t alpha_transparent
bool is_intrinsically_transparent() const
Checks if this color is intrinsically transparent based on its alpha channel.
bool is_transparent(const Rgba32 &extrinsic) const
Checks if this color should be treated as transparent.
std::uint8_t blue() const
bool equals_ignoring_alpha(const Rgba32 &other) const
std::uint8_t alpha() const
bool is_extrinsically_transparent(const Rgba32 &extrinsic) const
Checks if this color matches the extrinsic transparency color.
std::string to_jasc_str() const
static constexpr std::uint8_t alpha_opaque
std::uint8_t green() const
bool operator==(const Rgba32 &rgba) const =default
constexpr Rgba32 rgba_yellow
constexpr Rgba32 rgba_purple
constexpr Rgba32 rgba_cyan
std::vector< Rgba32 > standard_greyscale_palette()
Returns the standard 16-color greyscale palette used for indexed tile output.
constexpr Rgba32 rgba_magenta
constexpr Rgba32 rgba_green
constexpr Rgba32 rgba_blue
constexpr Rgba32 rgba_grey
std::ostream & operator<<(std::ostream &os, const PrimaryPairingMode m)
Stream insertion operator for PrimaryPairingMode.
constexpr Rgba32 rgba_lime
constexpr Rgba32 rgba_white
constexpr Rgba32 rgba_red
std::string to_string(const PrimaryPairingMode m)
Converts a PrimaryPairingMode to its canonical string representation.
constexpr Rgba32 rgba_black
std::size_t operator()(const porytiles::Rgba32 &rgba) const noexcept