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}