toHSL method
Converts this colour to its HSLColour representation.
Implementation
@override
HSLColour toHSL() {
final double red = color.r / 0xFF;
final double green = color.g / 0xFF;
final double blue = color.b / 0xFF;
final double max = math.max(red, math.max(green, blue));
final double min = math.min(red, math.min(green, blue));
final double delta = max - min;
final double alpha = color.a / 0xFF;
final double hue = ColourSpace.getHue(red, green, blue, max, delta);
final double lightness = (max + min) / 2.0;
final double saturation = min == max
? 0.0
: delta /
(1.0 - (2.0 * lightness - 1.0).abs()).clamp(0.0, double.infinity);
return HSLColour.fromAHSL(alpha, hue, saturation, lightness);
}