tuix_core/state/style/
units.rs1use crate::animation::Interpolator;
2
3use morphorm::Units;
4
5impl Interpolator for Units {
6 fn interpolate(start: &Self, end: &Self, t: f32) -> Self {
7 let s = match start {
8 Units::Pixels(val) => val,
9 Units::Percentage(val) => val,
10 Units::Stretch(val) => val,
11 Units::Auto => return *end,
12 };
13
14 match end {
15 Units::Pixels(e) => Units::Pixels(f32::interpolate(s, e, t)),
16 Units::Percentage(e) => Units::Percentage(f32::interpolate(s, e, t)),
17 Units::Stretch(e) => Units::Stretch(f32::interpolate(s, e, t)),
18 Units::Auto => return *end,
19 }
20 }
21}