findDark method
Finds a darker variant of the color.
Implementation
Color findDark() {
final hsl = HSLColor.fromColor(this);
final luminance = computeLuminance();
const baseLuminance = 0.30;
final luminanceDelta = 0.15;
final lightness = baseLuminance +
luminanceDelta * ((luminance - 0.5) * 2.0).clamp(0.0, 1.0);
if (_isWhiteOrBlack) {
final v = (lightness * 255).round().clamp(0, 255);
return Color.fromARGB(alpha, v, v, v);
}
return hsl
.withLightness(lightness)
.withSaturation(_isWhiteOrBlack ? 0 : hsl.saturation)
.toColor();
}