tessera_ui_basic_components/
padding_utils.rs

1use tessera_ui::{DimensionValue, Px};
2
3pub fn remove_padding_from_dimension(dimension: DimensionValue, padding: Px) -> DimensionValue {
4    match dimension {
5        DimensionValue::Fixed(value) => DimensionValue::Fixed((value - padding * 2).max(Px(0))),
6        DimensionValue::Wrap { min, max } => DimensionValue::Wrap {
7            min: min.map(|m| (m - padding * 2).max(Px(0))),
8            max: max.map(|m| (m - padding * 2).max(Px(0))),
9        },
10        DimensionValue::Fill { min, max } => DimensionValue::Fill {
11            min,
12            max: max.map(|m| (m - padding * 2).max(Px(0))),
13        },
14    }
15}