Colour#
-
class Colour#
RGBA color representation with floating point components.
This class represents a color using red, green, blue, and alpha components as floating point values. It provides various constructors for different color representations and arithmetic operators for color manipulation.
Color components are typically in the range [0.0, 1.0], though values outside this range are supported for HDR operations.
Public Types
-
enum Preset#
Predefined color presets.
Enumeration of common colors for convenience.
Values:
-
enumerator kRed#
Pure red color (1.0, 0.0, 0.0, 1.0).
-
enumerator kGreen#
Pure green color (0.0, 1.0, 0.0, 1.0).
-
enumerator kBlue#
Pure blue color (0.0, 0.0, 1.0, 1.0).
-
enumerator kWhite#
Pure white color (1.0, 1.0, 1.0, 1.0).
-
enumerator kBlack#
Pure black color (0.0, 0.0, 0.0, 1.0).
-
enumerator kRed#
Public Functions
- inline Colour(
- float r_ = 0.0f,
- float g_ = 0.0f,
- float b_ = 0.0f,
- float a_ = 1.0f,
Default constructor with optional RGBA values.
- Parameters:
r_ – [in] Red component (default: 0.0)
g_ – [in] Green component (default: 0.0)
b_ – [in] Blue component (default: 0.0)
a_ – [in] Alpha component (default: 1.0)
-
inline Colour(float *p)#
Constructor from float array.
- Parameters:
p – [in] Array of 4 floats representing RGBA values
-
inline Colour(uint32_t rgba)#
Constructor from packed 32-bit RGBA value.
- Parameters:
rgba – [in] Packed RGBA value in format 0xRRGGBBAA
-
inline Colour(Preset p)#
Constructor from color preset.
- Parameters:
p – [in] Predefined color preset
-
inline operator const float*() const#
Conversion operator to const float pointer.
- Returns:
Pointer to the first color component
-
inline operator float*()#
Conversion operator to float pointer.
- Returns:
Pointer to the first color component
-
inline Colour operator*(float scale) const#
Scalar multiplication operator.
- Parameters:
scale – [in] Scalar value to multiply all components by
- Returns:
New color with scaled components
-
inline Colour operator/(float scale) const#
Scalar division operator.
- Parameters:
scale – [in] Scalar value to divide all components by
- Returns:
New color with divided components
-
inline Colour operator+(const Colour &v) const#
Color addition operator.
- Parameters:
v – [in] Color to add
- Returns:
New color with added components
-
inline Colour operator-(const Colour &v) const#
Color subtraction operator.
- Parameters:
v – [in] Color to subtract
- Returns:
New color with subtracted components
-
inline Colour operator*(const Colour &scale) const#
Component-wise color multiplication operator.
- Parameters:
scale – [in] Color to multiply with component-wise
- Returns:
New color with multiplied components
-
inline Colour &operator*=(float scale)#
In-place scalar multiplication operator.
- Parameters:
scale – [in] Scalar value to multiply all components by
- Returns:
Reference to this color after multiplication
-
inline Colour &operator/=(float scale)#
In-place scalar division operator.
- Parameters:
scale – [in] Scalar value to divide all components by
- Returns:
Reference to this color after division
-
inline Colour &operator+=(const Colour &v)#
In-place color addition operator.
- Parameters:
v – [in] Color to add
- Returns:
Reference to this color after addition
-
enum Preset#