### Virtual Method

# GdkPixbuf PixbufAnimationIter advance

#### Declaration [src]

    gboolean
    advance (
      GdkPixbufAnimationIter* iter,
      const GTimeVal* current_time
    )

#### Description [src]

Possibly advances an animation to a new frame.

Chooses the frame based on the start time passed to gdk_pixbuf_animation_get_iter().

`current_time` would normally come from g_get_current_time(), and must be greater than or equal to the time passed to gdk_pixbuf_animation_get_iter(), and must increase or remain unchanged each time `gdk_pixbuf_animation_iter_get_pixbuf()` is called. That is, you can’t go backward in time; animations only play forward.

As a shortcut, pass `NULL` for the current time and `g_get_current_time()` will be invoked on your behalf. So you only need to explicitly pass `current_time` if you’re doing something odd like playing the animation at double speed.

If this function returns `FALSE`, there’s no need to update the animation display, assuming the display had been rendered prior to advancing; if `TRUE`, you need to call `gdk_pixbuf_animation_iter_get_pixbuf()` and update the display with the new pixbuf.

#### Parameters

`current_time` | `GTimeVal`
| Current time.
| The argument can be `NULL`.
| The data is owned by the caller of the function.

#### Return value

Returns: | `gboolean`
| `TRUE` if the image may need updating.