GtkAnimView

GtkAnimView — Subclass of GtkImageView capable of displaying animations.

Synopsis




                    GtkAnimView;
GtkWidget*          gtk_anim_view_new                   (void);
GdkPixbufAnimation* gtk_anim_view_get_anim              (GtkAnimView *aview);
void                gtk_anim_view_set_anim              (GtkAnimView *aview,
                                                         GdkPixbufAnimation *anim);
void                gtk_anim_view_set_is_playing        (GtkAnimView *aview,
                                                         gboolean playing);
gboolean            gtk_anim_view_get_is_playing        (GtkAnimView *aview);
void                gtk_anim_view_step                  (GtkAnimView *aview);

Object Hierarchy


  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkImageView
                           +----GtkAnimView

Implemented Interfaces

GtkAnimView implements AtkImplementorIface.

Signals


  "step"                                           : Run Last / Action
  "toggle-running"                                 : Run Last / Action

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.

Details

GtkAnimView

typedef struct _GtkAnimView GtkAnimView;

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


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.

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.

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.

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.

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.

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?

aview : A GtkImageView.

Signal Details

The "step" signal

void                user_function                      (GtkAnimView *aview,
                                                        gpointer     user_data)      : Run Last / Action

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.

aview : a GtkAnimView
user_data : user data set when the signal handler was connected.

The "toggle-running" signal

void                user_function                      (GtkAnimView *aview,
                                                        gpointer     user_data)      : Run Last / Action

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.

aview : a GtkAnimView
user_data : user data set when the signal handler was connected.

See Also

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