Skip to content

Commit 4ea10c7

Browse files
committed
add toHexString extension
1 parent b42e041 commit 4ea10c7

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

packages/netglade_flutter_utils/lib/src/extensions/color_extensions.dart

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,16 @@ extension ColorExtensions on Color {
2929

3030
return Color(int.parse(value, radix: 16));
3131
}
32+
33+
// ignore: prefer-boolean-prefixes, ok naming.
34+
String toHexString({bool includeSign = false, bool includeAlpha = true, bool asUpperCase = true}) {
35+
final alpha = (a * 255).toInt().toRadixString(16).padLeft(2, '0');
36+
final red = (r * 255).toInt().toRadixString(16).padLeft(2, '0');
37+
final green = (g * 255).toInt().toRadixString(16).padLeft(2, '0');
38+
final blue = (b * 255).toInt().toRadixString(16).padLeft(2, '0');
39+
40+
final result = '${includeSign ? '#' : ''}${includeAlpha ? alpha : ''}$red$green$blue';
41+
42+
return asUpperCase ? result.toUpperCase() : result;
43+
}
3244
}

0 commit comments

Comments
 (0)