8#ifndef GALAXY_GRAPHICS_COLOUR_HPP_
9#define GALAXY_GRAPHICS_COLOUR_HPP_
13#include <glm/vec4.hpp>
29 inline static const constexpr std::uint8_t
OPAQUE = 255;
39 inline static const constexpr std::uint8_t
OFFSET = 0xFF;
44 inline static const constexpr std::uint8_t
LOWER = 0;
49 inline static const constexpr std::uint8_t
UPPER = 255;
97 void r(const
std::uint8_t
r) noexcept;
104 void g(const
std::uint8_t
g) noexcept;
111 void b(const
std::uint8_t
b) noexcept;
118 void a(const
std::uint8_t
a) noexcept;
125 std::uint8_t
r() const noexcept;
132 std::uint8_t
g() const noexcept;
139 std::uint8_t
b() const noexcept;
146 std::uint8_t
a() const noexcept;
174 auto operator<=>(const
Colour&) const = default;
179 bool operator==(const
Colour&) const = default;
184 bool operator!=(const
Colour&) const = default;
189 bool operator<(const
Colour&) const = default;
194 bool operator>(const
Colour&) const = default;
199 bool operator<=(const
Colour&) const = default;
204 bool operator>=(const
Colour&) const = default;
Represents an RGBA colour.
std::array< std::uint8_t, 4 > array() noexcept
Get as array.
std::uint8_t m_blue
Blue channel.
std::uint8_t m_alpha
Alpha channel.
std::uint8_t a() const noexcept
Get alpha.
static const constexpr std::uint8_t TRANSPARENT
Transparent colour.
static const constexpr std::uint8_t UPPER
Colour upper bounds.
std::uint8_t m_red
Red channel.
glm::vec4 normalize() noexcept
Get normalized rgba vec4.
static const constexpr std::uint8_t OPAQUE
Opaque colour.
void set_from_norm(const glm::vec4 &rgba) noexcept
Set RGBA from normalizaed values.
static const constexpr std::uint8_t LOWER
Colour lower bounds.
Colour() noexcept
Constructor.
std::uint8_t b() const noexcept
Get blue.
std::uint8_t r() const noexcept
Get red.
std::uint8_t g() const noexcept
Get green.
std::uint8_t m_green
Green channel.
static const constexpr std::uint8_t OFFSET
Colour offsets for normalization.