Colour.fromHSL constructor
Implementation
factory Colour.fromHSL({
required double h,
required double s,
required double l,
}) {
double red, green, blue;
double normalizedH = h / 360.0;
if (s == 0) {
red = green = blue = l;
} else {
double q = l < 0.5 ? l * (1 + s) : l + s - l * s;
double p = 2 * l - q;
red = _hueToRgb(p, q, normalizedH + 1 / 3);
green = _hueToRgb(p, q, normalizedH);
blue = _hueToRgb(p, q, normalizedH - 1 / 3);
return Colour(
alpha: 255,
red: red.round(),
green: green.round(),
blue: blue.round(),
);
}
return Colour.fromARGB(
opacity: 100.0,
red: (red * 255).round(),
green: (green * 255).round(),
blue: (blue * 255).round(),
);
}