Function silkenweb::animation::finite_animation

source ·
pub fn finite_animation(
    duration_millis: f64
) -> impl Signal<Item = Option<f64>> + 'static
Expand description

Provide a finite time signal for animations.

The signal will tick each frame until duration_millis has elapsed. The value will never exceed duration_millis and the last value will be None, unless the signal is dropped first.

§Example

Slowly filling a progress bar:

const DURATION: f64 = 3000.0;
progress().max(DURATION as f32).value(Sig(
    finite_animation(DURATION).map(|time| time.unwrap_or(DURATION) as f32)
));

See module-level documentation for more details.