From fb4021dae67cf05a207d503b505f1d768b50d100 Mon Sep 17 00:00:00 2001 From: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com> Date: Thu, 19 Mar 2020 22:31:44 -0400 Subject: [PATCH] Properly handle percents in 1 arg rgb/rgba --- src/builtin/color/rgb.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/builtin/color/rgb.rs b/src/builtin/color/rgb.rs index 10153a1..5c8b74d 100644 --- a/src/builtin/color/rgb.rs +++ b/src/builtin/color/rgb.rs @@ -19,21 +19,21 @@ pub(crate) fn register(f: &mut HashMap) { let blue = match channels.pop() { Some(Value::Dimension(n, Unit::None)) => n, - Some(Value::Dimension(n, Unit::Percent)) => n / Number::from(100), + Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255), Some(v) => return Err(format!("$blue: {} is not a color", v).into()), None => return Err("Missing element $blue.".into()), }; let green = match channels.pop() { Some(Value::Dimension(n, Unit::None)) => n, - Some(Value::Dimension(n, Unit::Percent)) => n / Number::from(100), + Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255), Some(v) => return Err(format!("$green: {} is not a color", v).into()), None => return Err("Missing element $green.".into()), }; let red = match channels.pop() { Some(Value::Dimension(n, Unit::None)) => n, - Some(Value::Dimension(n, Unit::Percent)) => n / Number::from(100), + Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255), Some(v) => return Err(format!("$red: {} is not a color", v).into()), None => return Err("Missing element $red.".into()), }; @@ -125,21 +125,21 @@ pub(crate) fn register(f: &mut HashMap) { let blue = match channels.pop() { Some(Value::Dimension(n, Unit::None)) => n, - Some(Value::Dimension(n, Unit::Percent)) => n / Number::from(100), + Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255), Some(v) => return Err(format!("$blue: {} is not a color", v).into()), None => return Err("Missing element $blue.".into()), }; let green = match channels.pop() { Some(Value::Dimension(n, Unit::None)) => n, - Some(Value::Dimension(n, Unit::Percent)) => n / Number::from(100), + Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255), Some(v) => return Err(format!("$green: {} is not a color", v).into()), None => return Err("Missing element $green.".into()), }; let red = match channels.pop() { Some(Value::Dimension(n, Unit::None)) => n, - Some(Value::Dimension(n, Unit::Percent)) => n / Number::from(100), + Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255), Some(v) => return Err(format!("$red: {} is not a color", v).into()), None => return Err("Missing element $red.".into()), };