From 6492d9d92793fca74adbc6aaaa8341e3ff4d37ab Mon Sep 17 00:00:00 2001 From: Var Bhat Date: Fri, 22 Dec 2023 02:08:36 +0530 Subject: make color! macro expand hex as Color directly --- core/src/color.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'core/src') diff --git a/core/src/color.rs b/core/src/color.rs index 13077628..ec352965 100644 --- a/core/src/color.rs +++ b/core/src/color.rs @@ -190,7 +190,12 @@ macro_rules! color { let g = (hex & 0xff00) >> 8; let b = (hex & 0xff); - $crate::Color::from_rgb8(r as u8, g as u8, b as u8) + $crate::Color { + r: r as f32 / 255.0, + g: g as f32 / 255.0, + b: b as f32 / 255.0, + a: 1.0, + } }}; ($hex:expr, $a:expr) => {{ let hex = $hex as u32; -- cgit From fb646a7f142debceb5a7e41b5502bda4020afadf Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sat, 3 Feb 2024 18:37:42 +0100 Subject: Make `color!` macro const-friendly --- core/src/color.rs | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'core/src') 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) }}; } -- cgit