Adw.Animation
Description: Reference for Adw.Animation

### 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.

#### Ancestors

- GObject

#### Descendants

- AdwSpringAnimation
- AdwTimedAnimation

#### Instance methods

###### adw_animation_get_follow_enable_animations_setting

Gets whether `self` should be skipped when animations are globally disabled.

Available since: 1.3

###### adw_animation_get_state

Gets the current value of `self`.

###### adw_animation_get_target

Gets the target `self` animates.

###### adw_animation_get_value

Gets the current value of `self`.

###### adw_animation_get_widget

Gets the widget `self` was created for.

###### adw_animation_pause

Pauses a playing animation for `self`.

###### adw_animation_play

Starts the animation for `self`.

###### adw_animation_reset

Resets the animation for `self`.

###### adw_animation_resume

Resumes a paused animation for `self`.

###### adw_animation_set_follow_enable_animations_setting

Sets whether to skip `self` when animations are globally disabled.

Available since: 1.3

###### adw_animation_set_target

Sets the target `self` animates to `target`.

###### adw_animation_skip

Skips the animation for `self`.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Adw.Animation:follow-enable-animations-setting

Whether to skip the animation when animations are globally disabled.

Available since: 1.3

###### Adw.Animation:state

The animation state.

###### Adw.Animation:target

The target to animate.

###### Adw.Animation:value

The current value of the animation.

###### Adw.Animation:widget

The animation widget.

#### Signals

###### Adw.Animation::done

This signal is emitted when the animation has been completed, either on its own or via calling `adw_animation_skip()`.

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct AdwAnimationClass {
      /* no available fields */
    }