From dbf7d25eff1d4635a7753db89c072a6ca1da562c Mon Sep 17 00:00:00 2001 From: Violet White Date: Mon, 30 Sep 2024 11:11:12 -0700 Subject: [PATCH] Fix rgba color parsing --- layout/src/core/color.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/layout/src/core/color.rs b/layout/src/core/color.rs index 3a741e6..638c4b4 100644 --- a/layout/src/core/color.rs +++ b/layout/src/core/color.rs @@ -186,7 +186,11 @@ impl Color { if name.starts_with('#') { let name = name.trim_start_matches('#'); if let Result::Ok(color) = u32::from_str_radix(name, 16) { - return Some(Color::new((color << 8) + 0xff)); + if name.len() <= 7 { + return Some(Color::new((color << 8) + 0xff)); + } else { + return Some(Color::new(color)); + } } } None @@ -207,4 +211,6 @@ fn test_color() { let color = Color::from_name("#112233"); assert_eq!(color.unwrap().to_web_color(), "#112233ff"); + let color = Color::from_name("#112233FA"); + assert_eq!(color.unwrap().to_web_color(), "#112233fa"); }