incColor function
Implementation
Color incColor(String hexColor, int amt) {
String? opacityStr;
if (colors[hexColor] != null) {
return colors[hexColor]!;
}
var usePound = false;
if (hexColor.isEmpty) return Colors.transparent;
if (hexColor.contains('#')) {
hexColor = hexColor.toString().replaceAll('#', '');
usePound = true;
}
if (hexColor.contains('0x')) {
opacityStr = hexColor.substring(0, 4);
hexColor = hexColor.substring(4);
usePound = false;
}
var num = int.parse(hexColor, radix: 16);
var r = (num >> 16) + amt;
if (r > 255) {
r = 255;
} else if (r < 0) {
r = 0;
}
var b = ((num >> 8) & 0x00FF) + amt;
if (b > 255) {
b = 255;
} else if (b < 0) {
b = 0;
}
var g = (num & 0x0000FF) + amt;
if (g > 255) {
g = 255;
} else if (g < 0) {
g = 0;
}
int x = b << 8;
int y = r << 16;
int z = g | x | y;
var result = (z).toRadixString(16);
return strToColor((usePound ? "#" : opacityStr ?? '') + (result ?? ''));
}