toColour method
Converts this colour to its Colour (ARGB) representation.
Implementation
@override
Colour toColour() {
double red, green, blue;
if (saturation == 0) {
red = green = blue = value;
} else {
final double sector = hue / 60;
final int i = sector.floor();
final double f = sector - i;
final double p = value * (1 - saturation);
final double q = value * (1 - saturation * f);
final double t = value * (1 - saturation * (1 - f));
switch (i % 6) {
case 0:
red = value;
green = t;
blue = p;
break;
case 1:
red = q;
green = value;
blue = p;
break;
case 2:
red = p;
green = value;
blue = t;
break;
case 3:
red = p;
green = q;
blue = value;
break;
case 4:
red = t;
green = p;
blue = value;
break;
case 5:
red = value;
green = p;
blue = q;
break;
default:
red = green = blue = 0;
}
}
return Colour(
alpha: (alpha * 255).round(),
red: (red * 255).round(),
green: (green * 255).round(),
blue: (blue * 255).round(),
);
}