Adw.SpringAnimation
Description: Reference for Adw.SpringAnimation

### Class

# AdwSpringAnimation

#### Description [src]

    final class Adw.SpringAnimation : Adw.Animation {
      /* No available fields */
    }

A spring-based `AdwAnimation`.

`AdwSpringAnimation` implements an animation driven by a physical model of a spring described by `AdwSpringParams`, with a resting position in `AdwSpringAnimation:value-to`, stretched to `AdwSpringAnimation:value-from`.

Since the animation is physically simulated, spring animations don’t have a fixed duration. The animation will stop when the simulated spring comes to a rest - when the amplitude of the oscillations becomes smaller than `AdwSpringAnimation:epsilon`, or immediately when it reaches `AdwSpringAnimation:value-to` if `AdwSpringAnimation:clamp` is set to `TRUE`. The estimated duration can be obtained with `AdwSpringAnimation:estimated-duration`.

Due to the nature of spring-driven motion the animation can overshoot `AdwSpringAnimation:value-to` before coming to a rest. Whether the animation will overshoot or not depends on the damping ratio of the spring. See `AdwSpringParams` for more information about specific damping ratio values.

If `AdwSpringAnimation:clamp` is `TRUE`, the animation will abruptly end as soon as it reaches the final value, preventing overshooting.

Animations can have an initial velocity value, set via `AdwSpringAnimation:initial-velocity`, which adjusts the curve without changing the duration. This makes spring animations useful for deceleration at the end of gestures.

If the initial and final values are equal, and the initial velocity is not 0, the animation value will bounce and return to its resting position.

Available since: | 1.0

#### Hierarchy

#### Ancestors

- AdwAnimation
- GObject

#### Constructors

###### adw_spring_animation_new

Creates a new `AdwSpringAnimation` on `widget`.

Available since: 1.0

#### Instance methods

###### adw_spring_animation_get_clamp

Gets whether `self` should be clamped.

Available since: 1.0

###### adw_spring_animation_get_epsilon

Gets the precision used to determine the duration of `self`.

Available since: 1.0

###### adw_spring_animation_get_estimated_duration

Gets the estimated duration of `self`.

Available since: 1.0

###### adw_spring_animation_get_initial_velocity

Gets the initial velocity of `self`.

Available since: 1.0

###### adw_spring_animation_get_spring_params

Gets the physical parameters of the spring of `self`.

Available since: 1.0

###### adw_spring_animation_get_value_from

Gets the value `self` will animate from.

Available since: 1.0

###### adw_spring_animation_get_value_to

Gets the value `self` will animate to.

Available since: 1.0

###### adw_spring_animation_get_velocity

Gets the current velocity of `self`.

Available since: 1.0

###### adw_spring_animation_set_clamp

Sets whether `self` should be clamped.

Available since: 1.0

###### adw_spring_animation_set_epsilon

Sets the precision used to determine the duration of `self`.

Available since: 1.0

###### adw_spring_animation_set_initial_velocity

Sets the initial velocity of `self`.

Available since: 1.0

###### adw_spring_animation_set_spring_params

Sets the physical parameters of the spring of `self`.

Available since: 1.0

###### adw_spring_animation_set_value_from

Sets the value `self` will animate from.

Available since: 1.0

###### adw_spring_animation_set_value_to

Sets the value `self` will animate to.

Available since: 1.0

##### Methods inherited from AdwAnimation (9)

###### adw_animation_get_state

Gets the current value of `self`.

Available since: 1.0

###### adw_animation_get_target

Gets the target `self` animates.

Available since: 1.0

###### adw_animation_get_value

Gets the current value of `self`.

Available since: 1.0

###### adw_animation_get_widget

Gets the widget `self` was created for.

Available since: 1.0

###### adw_animation_pause

Pauses a playing animation for `self`.

Available since: 1.0

###### adw_animation_play

Starts the animation for `self`.

Available since: 1.0

###### adw_animation_reset

Resets the animation for `self`.

Available since: 1.0

###### adw_animation_resume

Resumes a paused animation for `self`.

Available since: 1.0

###### adw_animation_skip

Skips the animation for `self`.

Available since: 1.0

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

#### Properties

###### Adw.SpringAnimation:clamp

Whether the animation should be clamped.

Available since: 1.0

###### Adw.SpringAnimation:epsilon

Precision of the spring.

Available since: 1.0

###### Adw.SpringAnimation:estimated-duration

Estimated duration of the animation, in milliseconds.

Available since: 1.0

###### Adw.SpringAnimation:initial-velocity

The initial velocity to start the animation with.

Available since: 1.0

###### Adw.SpringAnimation:spring-params

Physical parameters describing the spring.

Available since: 1.0

###### Adw.SpringAnimation:value-from

The value to animate from.

Available since: 1.0

###### Adw.SpringAnimation:value-to

The value to animate to.

Available since: 1.0

###### Adw.SpringAnimation:velocity

Current velocity of the animation.

Available since: 1.0

##### Properties inherited from AdwAnimation (4)

###### Adw.Animation:state

The animation state.

Available since: 1.0

###### Adw.Animation:target

The target to animate.

Available since: 1.0

###### Adw.Animation:value

The current value of the animation.

Available since: 1.0

###### Adw.Animation:widget

The animation widget.

Available since: 1.0

#### Signals

##### Signals inherited from AdwAnimation (1)

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

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

#### Class structure

    struct AdwSpringAnimationClass {
      /* no available fields */
    }