torin/values/
visible_size.rs1use crate::prelude::Length;
2
3#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
6#[derive(Default, PartialEq, Clone, Debug)]
7pub enum VisibleSize {
8 #[default]
10 Full,
11 InnerPercentage(Length),
13}
14
15impl VisibleSize {
16 pub fn full() -> VisibleSize {
18 VisibleSize::Full
19 }
20
21 pub fn inner_percent(value: impl Into<f32>) -> VisibleSize {
23 VisibleSize::InnerPercentage(Length::new(value.into()))
24 }
25
26 pub fn pretty(&self) -> String {
27 match self {
28 Self::Full => "full".to_string(),
29 Self::InnerPercentage(p) => format!("{}%", p.get()),
30 }
31 }
32}