Class
AdwAnimation
Description [src]
abstract class Adw.Animation : GObject.Object {
parent_instance: GObject
}
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:
AdwTimedAnimation and AdwSpringAnimation.
AdwAnimation will automatically skip the animation if
AdwAnimation:widget is unmapped, or if
GtkSettings:gtk-enable-animations is FALSE.
The AdwAnimation::done signal can be used to perform an action after
the animation ends, for example hiding a widget after animating its
GtkWidget: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.
| Available since: | 1.0 |
Signals
Adw.Animation::done
This signal is emitted when the animation has been completed, either on its
own or via calling adw_animation_skip().
Available since: 1.0