pub struct Animator<'a> { /* private fields */ }
Expand description
Allows manipulating widget animations
An Animator
can be used inside of the WidgetMountOrChangeContext
that is provided when
setting widget lifecycle handlers.
§Example
fn my_widget(context: WidgetContext) -> WidgetNode {
// When my_widget changes
context.life_cycle.change(|change_context| {
// Get the `Animator`
let animator = change_context.animator;
// Stop "my_animation"
animator.change("my_animation", None);
});
// some widget stuff...
}
§Animations & Values
The animator can manage any number of different animations identified by a string anim_id
.
Additionally each animation can have more than one value that is animated and each of these
values has a value_name
that can be used to get the animated value.
Implementations§
source§impl<'a> Animator<'a>
impl<'a> Animator<'a>
sourcepub fn has(&self, anim_id: &str) -> bool
pub fn has(&self, anim_id: &str) -> bool
Check whether or not the widget has an animation with the given anim_id
sourcepub fn change(
&self,
anim_id: &str,
animation: Option<Animation>,
) -> Result<(), AnimationError>
pub fn change( &self, anim_id: &str, animation: Option<Animation>, ) -> Result<(), AnimationError>
Change the animation associated to a given anim_id
sourcepub fn value_progress(
&self,
anim_id: &str,
value_name: &str,
) -> Option<AnimatedValueProgress>
pub fn value_progress( &self, anim_id: &str, value_name: &str, ) -> Option<AnimatedValueProgress>
Get the current progress of the animation of a given value
This will return None
if the value is not currently being animated.
sourcepub fn value_progress_factor_or(
&self,
anim_id: &str,
value_name: &str,
default: Scalar,
) -> Scalar
pub fn value_progress_factor_or( &self, anim_id: &str, value_name: &str, default: Scalar, ) -> Scalar
Same as value_progress_factor
but returning default
instead of None
sourcepub fn value_progress_factor_or_zero(
&self,
anim_id: &str,
value_name: &str,
) -> Scalar
pub fn value_progress_factor_or_zero( &self, anim_id: &str, value_name: &str, ) -> Scalar
Same as value_progress_factor
but returning 0
instead of None