GtkAnimView

GtkAnimView — Subclass of GtkImageView capable of playing GIF animations.

Functions

GtkWidget * gtk_anim_view_new ()
GdkPixbufAnimation * gtk_anim_view_get_anim ()
void gtk_anim_view_set_anim ()
void gtk_anim_view_set_is_playing ()
gboolean gtk_anim_view_get_is_playing ()
void gtk_anim_view_step ()

Signals

void step Action
void toggle-running Action

Types and Values

struct GtkAnimView

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkObject
            ╰── GtkWidget
                ╰── GtkImageView
                    ╰── GtkAnimView

Implemented Interfaces

GtkAnimView implements AtkImplementorIface and GtkBuildable.

Description

GtkAnimView subclasses GtkImageView. It has the same look and feel as its parent but is also capable of displaying GIF animations.

Keybindings

GtkAnimView uses a few more keybindings in addition to those used by GtkImageView:

Keys Corresponding function Description
GDK_p gtk_anim_view_set_is_playing() Stops or resumes the running animation.
GDK_j gtk_anim_view_step() Steps the animation one frame forward.

Functions

gtk_anim_view_new ()

GtkWidget *
gtk_anim_view_new (void);

Creates a new GtkAnimView with default values. The default values are:

  • anim : NULL
  • is_playing : FALSE

Returns

A new GtkAnimView.


gtk_anim_view_get_anim ()

GdkPixbufAnimation *
gtk_anim_view_get_anim (GtkAnimView *aview);

Returns the current animation of the view.

Parameters

aview

a GtkAnimView.

 

Returns

the current animation


gtk_anim_view_set_anim ()

void
gtk_anim_view_set_anim (GtkAnimView *aview,
                        GdkPixbufAnimation *anim);

Sets the pixbuf animation to play, or NULL to not play any animation.

If the animation is a static image or only has one frame, then the static image will be displayed instead. If more frames are loaded into the animation, then GtkAnimView will automatically animate to those frames.

The effect of this method is analoguous to gtk_image_view_set_pixbuf(). Fit mode is reset to GTK_FIT_SIZE_IF_LARGER so that the whole area of the animation fits in the view. Three signals are emitted, first the GtkImageView will emit ::zoom-changed and then ::pixbuf-changed, second, GtkAnimView itself will emit ::anim-changed.

The default pixbuf animation is NULL.

Parameters

aview

A GtkAnimView.

 

anim

A pixbuf animation to play.

 

gtk_anim_view_set_is_playing ()

void
gtk_anim_view_set_is_playing (GtkAnimView *aview,
                              gboolean playing);

Sets whether the animation should play or not. If there is no current animation this method does not have any effect.

Parameters

aview

a GtkImageView

 

playing

TRUE to play the animation, FALSE otherwise

 

gtk_anim_view_get_is_playing ()

gboolean
gtk_anim_view_get_is_playing (GtkAnimView *aview);

Returns whether the animation is playing or not. If there is no current animation, this method will always returns FALSE.

Parameters

aview

A GtkImageView.

 

Returns

TRUE if an animation is playing, FALSE otherwise.


gtk_anim_view_step ()

void
gtk_anim_view_step (GtkAnimView *aview);

Steps the animation one frame forward. If the animation is playing it will be stopped. Will it wrap around if the animation is at its last frame?

Parameters

aview

A GtkImageView.

 

Types and Values

struct GtkAnimView

struct GtkAnimView;

GtkAnimView is a subclass of GtkImageView that provies facilities for displaying and controlling an animation.

Signal Details

The “step” signal

void
user_function (GtkAnimView *aview,
               gpointer     user_data)

Steps the animation one frame forward. If the animation is playing it will first be stopped. ::step is a keybinding signal emitted when GDK_j is pressed on the widget and should not be used by clients of this library.

Parameters

aview

a GtkAnimView

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “toggle-running” signal

void
user_function (GtkAnimView *aview,
               gpointer     user_data)

Stops the animation if it was playing or resumes it, if it was playing. ::toggle-running is a keybinding signal emitted when GDK_p is pressed on the widget and should not be used by clients of this library.

Parameters

aview

a GtkAnimView

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

See Also

GtkImageView, The ./tests/ex-anim.c program for an example of how this widget is used