14 constexpr Bgr15() : red_{0}, green_{0}, blue_{0} {}
16 constexpr Bgr15(
const std::uint8_t
red,
const std::uint8_t
green,
const std::uint8_t
blue) {
18 red_ = (
red >> 3) << 3;
19 green_ = (
green >> 3) << 3;
20 blue_ = (
blue >> 3) << 3;
23 [[nodiscard]] std::uint8_t
red()
const {
27 [[nodiscard]] std::uint8_t
green()
const {
31 [[nodiscard]] std::uint8_t
blue()
const {
37 [[nodiscard]] std::uint16_t
Pack()
const;
39 [[nodiscard]] std::string
ToJascStr()
const;
41 [[nodiscard]]
static Bgr15 Unpack(std::uint16_t packed_bgr);
57 return std::hash<uint16_t>{}(bgr.Pack());
static Bgr15 Unpack(std::uint16_t packed_bgr)
auto operator<=>(const Bgr15 &) const =default
std::string ToJascStr() const
std::uint8_t green() const
std::uint8_t blue() const
constexpr Bgr15(const std::uint8_t red, const std::uint8_t green, const std::uint8_t blue)
std::uint16_t Pack() const
auto format_as(const Bgr15 &bgr)
std::size_t operator()(const porytiles::Bgr15 &bgr) const noexcept