colorToUvColor function
Implementation
UvColor? colorToUvColor(Color? color) {
if (color == null || color is NoColor) return null;
final cached = _uvColorCache[color];
if (cached != null) {
if (hasDarkBackground && cached.hasDarkValue) return cached.darkValue;
if (!hasDarkBackground && cached.hasLightValue) return cached.lightValue;
}
Color resolved = color;
if (color is AdaptiveColor) {
resolved = hasDarkBackground ? color.dark : color.light;
}
final value = _resolvedColorToUvColor(resolved);
final entry = cached ?? (_uvColorCache[color] = _UvColorCacheEntry());
if (hasDarkBackground) {
entry
..hasDarkValue = true
..darkValue = value;
} else {
entry
..hasLightValue = true
..lightValue = value;
}
return value;
}