Animation
Animation
allows you to configure a specific animation with the following properties duration, easing, and whether it should repeat or not. This animation can then be applied to element with with_animation
Creating an animation
The new
function takes a Duration
this and returns the Animation
.
use std::time::Duration;
use gpui::Animation;
fn main() {
Animation::new(Duration::from_secs(1));
}
Repeating animation
The repeat
function will make the animation repeat indefinitely.
use std::time::Duration;
use gpui::Animation;
fn main() {
Animation::new(Duration::from_secs(1)).repeat();
}
Easing animation
The with_easing
function takes a impl Fn(f32) -> f32
this closure takes a delta and allows you to modify the delta during the animation which allows easing.
GPUI supplies various easing functions that you may want to use such as linear
, quadratic
, ease_in_out
, and ease_out_quint
.
use std::time::Duration;
use gpui::{Animation, ease_in_out};
fn main() {
Animation::new(Duration::from_secs(1)).with_easing(ease_in_out);
}