summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-03 18:37:42 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-03 18:37:42 +0100
commitfb646a7f142debceb5a7e41b5502bda4020afadf (patch)
tree0035f93ad999763286dbde079855e6ba7edd2843 /core
parent04b9dc4e2de4d36c2de7d537bb71694278bb79f0 (diff)
downloadiced-fb646a7f142debceb5a7e41b5502bda4020afadf.tar.gz
iced-fb646a7f142debceb5a7e41b5502bda4020afadf.tar.bz2
iced-fb646a7f142debceb5a7e41b5502bda4020afadf.zip
Make `color!` macro const-friendly
Diffstat (limited to 'core')
-rw-r--r--core/src/color.rs23
1 files changed, 9 insertions, 14 deletions
diff --git a/core/src/color.rs b/core/src/color.rs
index ec352965..b8db322f 100644
--- a/core/src/color.rs
+++ b/core/src/color.rs
@@ -179,23 +179,18 @@ impl From<[f32; 4]> for Color {
#[macro_export]
macro_rules! color {
($r:expr, $g:expr, $b:expr) => {
- $crate::Color::from_rgb8($r, $g, $b)
+ color!($r, $g, $b, 1.0)
};
($r:expr, $g:expr, $b:expr, $a:expr) => {
- $crate::Color::from_rgba8($r, $g, $b, $a)
- };
- ($hex:expr) => {{
- let hex = $hex as u32;
- let r = (hex & 0xff0000) >> 16;
- let g = (hex & 0xff00) >> 8;
- let b = (hex & 0xff);
-
$crate::Color {
- r: r as f32 / 255.0,
- g: g as f32 / 255.0,
- b: b as f32 / 255.0,
- a: 1.0,
+ r: $r as f32 / 255.0,
+ g: $g as f32 / 255.0,
+ b: $b as f32 / 255.0,
+ a: $a,
}
+ };
+ ($hex:expr) => {{
+ color!($hex, 1.0)
}};
($hex:expr, $a:expr) => {{
let hex = $hex as u32;
@@ -203,7 +198,7 @@ macro_rules! color {
let g = (hex & 0xff00) >> 8;
let b = (hex & 0xff);
- $crate::Color::from_rgba8(r as u8, g as u8, b as u8, $a)
+ color!(r, g, b, $a)
}};
}