Skip to main content

ferroui_base/animation/transitions/
float_transition.rs

1use crate::animation::animators::FloatAnimator;
2use crate::animation::{AnimatorDrivenTransition, Transition, TransitionBase};
3use crate::ferro_transition_class;
4use crate::reactive::IObservable;
5use std::rc::Rc;
6
7ferro_transition_class!(
8    /// Transition class that handles properties with `f32` types.
9    FloatTransition: f32
10);
11
12impl Transition<f32> for FloatTransition {
13    fn do_transition(
14        this: &Self,
15        progress: Rc<dyn IObservable<f64>>,
16        old_value: f32,
17        new_value: f32,
18    ) -> Rc<dyn IObservable<f32>> {
19        AnimatorDrivenTransition::transition::<FloatAnimator>(this.easing(), progress, old_value, new_value)
20    }
21}