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