diff options
author | 2024-02-03 18:37:42 +0100 | |
---|---|---|
committer | 2024-02-03 18:37:42 +0100 | |
commit | fb646a7f142debceb5a7e41b5502bda4020afadf (patch) | |
tree | 0035f93ad999763286dbde079855e6ba7edd2843 /core | |
parent | 04b9dc4e2de4d36c2de7d537bb71694278bb79f0 (diff) | |
download | iced-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.rs | 23 |
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) }}; } |