Animation
A base class for animations.
AdwAnimation
represents an animation on a widget. It has a target that provides a value to animate, and a state indicating whether the animation hasn't been started yet, is playing, paused or finished.
Currently there are two concrete animation types: class@TimedAnimation and class@SpringAnimation.
AdwAnimation
will automatically skip the animation if property@Animation:widget is unmapped, or if property@Gtk.Settings:gtk-enable-animations is FALSE
.
The signal@Animation::done signal can be used to perform an action after the animation ends, for example hiding a widget after animating its property@Gtk.Widget:opacity to 0.
AdwAnimation
will be kept alive while the animation is playing. As such, it's safe to create an animation, start it and immediately unref it: A fire-and-forget animation:
static void
animation_cb (double value,
MyObject *self)
{
// Do something with @value
}
static void
my_object_animate (MyObject *self)
{
AdwAnimationTarget *target =
adw_callback_animation_target_new ((AdwAnimationTargetFunc) animation_cb,
self, NULL);
g_autoptr (AdwAnimation) animation =
adw_timed_animation_new (widget, 0, 1, 250, target);
adw_animation_play (animation);
}
If there's a chance the previous animation for the same target hasn't yet finished, the previous animation should be stopped first, or the existing AdwAnimation
object can be reused.
Inheritors
Constructors
Properties
Functions
This signal is emitted when the animation has been completed, either on its own or via calling method@Animation.skip.
Gets whether @self should be skipped when animations are globally disabled.
Gets the current value of @self.
Gets the target @self animates.
Sets whether to skip @self when animations are globally disabled.
Sets the target @self animates to @target.