73 uint8 alpha)
noexcept;
79 uint8 alpha)
noexcept;
89 float alpha)
noexcept;
94 static Colour fromFloatRGBA (
float red,
97 float alpha)
noexcept;
108 uint8 alpha)
noexcept;
118 float alpha)
noexcept;
125 static Colour fromHSV (
float hue,
128 float alpha)
noexcept;
135 static Colour fromHSL (
float hue,
138 float alpha)
noexcept;
160 bool operator== (
const Colour& other)
const noexcept;
162 bool operator!= (
const Colour& other)
const noexcept;
183 float getFloatRed() const noexcept;
188 float getFloatGreen() const noexcept;
193 float getFloatBlue() const noexcept;
201 PixelARGB getNonPremultipliedPixelARGB() const noexcept;
208 uint32 getARGB() const noexcept;
215 uint8 getAlpha() const noexcept {
return argb.getAlpha(); }
221 float getFloatAlpha() const noexcept;
227 bool isOpaque() const noexcept;
233 bool isTransparent() const noexcept;
239 Colour withAlpha (
float newAlpha) const noexcept;
244 Colour withMultipliedAlpha (
float alphaMultiplier) const noexcept;
250 Colour overlaidWith (
Colour foregroundColour) const noexcept;
256 Colour interpolatedWith (
Colour other,
float proportionOfOther) const noexcept;
262 float getHue() const noexcept;
267 float getSaturation() const noexcept;
272 float getSaturationHSL() const noexcept;
277 float getBrightness() const noexcept;
282 float getLightness() const noexcept;
288 float getPerceivedBrightness() const noexcept;
293 void getHSB (
float& hue,
295 float& brightness) const noexcept;
300 void getHSL (
float& hue,
302 float& lightness) const noexcept;
306 [[nodiscard]]
Colour withHue (
float newHue) const noexcept;
309 [[nodiscard]]
Colour withSaturation (
float newSaturation) const noexcept;
312 [[nodiscard]]
Colour withSaturationHSL (
float newSaturation) const noexcept;
317 [[nodiscard]]
Colour withBrightness (
float newBrightness) const noexcept;
322 [[nodiscard]]
Colour withLightness (
float newLightness) const noexcept;
328 [[nodiscard]]
Colour withRotatedHue (
float amountToRotate) const noexcept;
334 [[nodiscard]]
Colour withMultipliedSaturation (
float multiplier) const noexcept;
342 [[nodiscard]]
Colour withMultipliedSaturationHSL (
float multiplier) const noexcept;
348 [[nodiscard]]
Colour withMultipliedBrightness (
float amount) const noexcept;
354 [[nodiscard]]
Colour withMultipliedLightness (
float amount) const noexcept;
362 [[nodiscard]]
Colour brighter (
float amountBrighter = 0.4f) const noexcept;
369 [[nodiscard]]
Colour darker (
float amountDarker = 0.4f) const noexcept;
379 [[nodiscard]]
Colour contrasting (
float amount = 1.0f) const noexcept;
388 [[nodiscard]]
Colour contrasting (
Colour targetColour,
float minLuminosityDiff) const noexcept;
394 [[nodiscard]] static
Colour contrasting (
Colour colour1,
401 [[nodiscard]] static
Colour greyLevel (
float brightness) noexcept;
410 [[nodiscard]] static
Colour fromString (
StringRef encodedColourString);
413 String toDisplayString (
bool includeAlphaValue) const;