freya_core/values/visible_size.rs
1use torin::prelude::{
2 Length,
3 VisibleSize,
4};
5
6use crate::parsing::{
7 Parse,
8 ParseError,
9};
10
11impl Parse for VisibleSize {
12 fn parse(value: &str) -> Result<Self, ParseError> {
13 if value.contains('%') {
14 Ok(VisibleSize::InnerPercentage(Length::new(
15 value
16 .replace('%', "")
17 .parse::<f32>()
18 .map_err(|_| ParseError)?,
19 )))
20 } else {
21 Err(ParseError)
22 }
23 }
24}