freya_core/values/
overflow.rs

1use std::fmt;
2
3use crate::parsing::{
4    Parse,
5    ParseError,
6};
7
8#[derive(Clone, Debug, PartialEq, Eq, Default)]
9pub enum OverflowMode {
10    #[default]
11    None,
12    Clip,
13}
14
15impl Parse for OverflowMode {
16    fn parse(value: &str) -> Result<Self, ParseError> {
17        Ok(match value {
18            "clip" => OverflowMode::Clip,
19            _ => OverflowMode::None,
20        })
21    }
22}
23
24impl fmt::Display for OverflowMode {
25    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
26        f.write_str(match self {
27            OverflowMode::Clip => "clip",
28            OverflowMode::None => "none",
29        })
30    }
31}