freya_core/values/
text_shadow.rs1use freya_engine::prelude::*;
2
3use crate::parsing::{
4 Parse,
5 ParseError,
6};
7
8impl Parse for TextShadow {
10 fn parse(value: &str) -> Result<Self, ParseError> {
11 let mut shadow_values = value.split_ascii_whitespace();
12 Ok(TextShadow {
13 offset: (
14 shadow_values
15 .next()
16 .ok_or(ParseError)?
17 .parse::<f32>()
18 .map_err(|_| ParseError)?,
19 shadow_values
20 .next()
21 .ok_or(ParseError)?
22 .parse::<f32>()
23 .map_err(|_| ParseError)?,
24 )
25 .into(),
26 blur_sigma: shadow_values
27 .next()
28 .ok_or(ParseError)?
29 .parse::<f64>()
30 .map_err(|_| ParseError)?
31 / 2.0,
32 color: Color::parse(shadow_values.collect::<Vec<&str>>().join(" ").as_str())
33 .map_err(|_| ParseError)?,
34 })
35 }
36}