Skip to main content

ferroui_base/animation/transitions/
bool_transition.rs

1use crate::animation::animators::BoolAnimator;
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 `bool` types.
9    BoolTransition: bool
10);
11
12impl Transition<bool> for BoolTransition {
13    fn do_transition(
14        this: &Self,
15        progress: Rc<dyn IObservable<f64>>,
16        old_value: bool,
17        new_value: bool,
18    ) -> Rc<dyn IObservable<bool>> {
19        AnimatorDrivenTransition::transition::<BoolAnimator>(this.easing(), progress, old_value, new_value)
20    }
21}