Animation


Object Hierarchy:

Adw.Animation Adw.Animation Adw.Animation GLib.Object GLib.Object GLib.Object->Adw.Animation

Description:

[ CCode ( type_id = "adw_animation_get_type ()" ) ]
public abstract class Animation : Object

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:AdwAnimation: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:

```c 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.

All known sub-classes:

Namespace: Adw
Package: libadwaita-1

Content:

Properties:

Creation methods:

Methods:

Signals:

Inherited Members: