Animation


Object Hierarchy:

Object hierarchy for Animation

Description:

[ CCode ( type_id = "bis_animation_get_type ()" ) ]
[ Version ( since = "1.0" ) ]
public abstract class Animation : Object

A base class for animations.

`BisAnimation` 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].

`BisAnimation` will automatically skip the animation if [property@Animation:widget] is unmapped, or if [ property@Gtk.Settings:gtk-enable-animations] is `FALSE`.

The [signal@Animation:BisAnimation: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.

`BisAnimation` 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) { BisAnimationTarget *target = bis_callback_animation_target_new (( BisAnimationTargetFunc) animation_cb, self, NULL); g_autoptr (BisAnimation) animation = bis_timed_animation_new (widget, 0, 1, 250, target);

bis_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 `BisAnimation` object can be reused.

All known sub-classes:

Namespace: Bis
Package: libbismuth-1

Content:

Properties:

Creation methods:

Methods:

Signals:

Inherited Members: