26 constexpr Rgba32() : red_{0}, green_{0}, blue_{0}, alpha_{0} {}
55 [[nodiscard]] std::uint8_t
red()
const
60 [[nodiscard]] std::uint8_t
green()
const
65 [[nodiscard]] std::uint8_t
blue()
const
70 [[nodiscard]] std::uint8_t
alpha()
const
142 const std::size_t h1 = std::hash<std::uint8_t>{}(rgba.red());
143 const std::size_t h2 = std::hash<std::uint8_t>{}(rgba.green());
144 const std::size_t h3 = std::hash<std::uint8_t>{}(rgba.blue());
145 const std::size_t h4 = std::hash<std::uint8_t>{}(rgba.alpha());
146 return h1 ^ (h2 << 8) ^ (h3 << 16) ^ (h4 << 24);
Represents a 32-bit RGBA color.
bool equals_ignoring_alpha(const Rgba32 &other) const
bool operator==(const Rgba32 &rgba) const =default
constexpr Rgba32(std::uint8_t red, std::uint8_t green, std::uint8_t blue, std::uint8_t alpha=alpha_opaque)
std::string to_jasc_str() const
static constexpr std::uint8_t alpha_opaque
std::uint8_t alpha() const
static constexpr std::uint8_t alpha_transparent
std::uint8_t green() const
auto operator<=>(const Rgba32 &rgba) const =default
std::uint8_t blue() const
bool is_transparent(const Rgba32 &extrinsic) const
Checks if this color should be treated as transparent.
auto format_as(const Rgba32 &rgba)
Provides a simple way for fmtlib to format an Rgba32.
constexpr Rgba32 rgba_red
constexpr Rgba32 rgba_green
constexpr Rgba32 rgba_lime
constexpr Rgba32 rgba_cyan
constexpr Rgba32 rgba_yellow
constexpr Rgba32 rgba_purple
constexpr Rgba32 rgba_blue
std::ostream & operator<<(std::ostream &os, const Rgba32 &rgba)
Stream insertion operator for Rgba32.
constexpr Rgba32 rgba_black
constexpr Rgba32 rgba_white
constexpr Rgba32 rgba_grey
constexpr Rgba32 rgba_magenta
std::string to_string(const IncrementalBuildMode &value)
std::size_t operator()(const porytiles2::Rgba32 &rgba) const noexcept