Get an iterator for displaying an animation. The iterator provides
the frames that should be displayed at a given time. It should be
freed after use with g_object_unref().
start_time would normally come from g_get_current_time(), and marks
the beginning of animation playback. After creating an iterator, you
should immediately display the pixbuf returned by
Pixbuf.animationIterGetPixbuf. Then, you should install
a timeout (with Timeout.add) or by some other mechanism ensure
that you'll update the image after
Pixbuf.animationIterGetDelayTime milliseconds. Each time
the image is updated, you should reinstall the timeout with the new,
possibly-changed delay time.
As a shortcut, if start_time is NULL, the result of
g_get_current_time() will be used automatically.
If you're using gdkpixbuf.PixbufLoader, in addition to updating the image
after the delay time, you should also update it whenever you
receive the area_updated signal and
Pixbuf.animationIterOnCurrentlyLoadingFrame returns
TRUE. In this case, the frame currently being fed into the loader
has received new data, so needs to be refreshed. The delay time for
a frame may also be modified after an area_updated signal, for
example if the delay time for a frame is encoded in the data after
the frame itself. So your timeout should be reinstalled after any
area_updated signal.
A delay time of -1 is possible, indicating "infinite."
Get an iterator for displaying an animation. The iterator provides the frames that should be displayed at a given time. It should be freed after use with g_object_unref().
start_time would normally come from g_get_current_time(), and marks the beginning of animation playback. After creating an iterator, you should immediately display the pixbuf returned by Pixbuf.animationIterGetPixbuf. Then, you should install a timeout (with Timeout.add) or by some other mechanism ensure that you'll update the image after Pixbuf.animationIterGetDelayTime milliseconds. Each time the image is updated, you should reinstall the timeout with the new, possibly-changed delay time.
As a shortcut, if start_time is NULL, the result of g_get_current_time() will be used automatically.
To update the image (i.e. possibly change the result of Pixbuf.animationIterGetPixbuf to a new frame of the animation), call Pixbuf.animationIterAdvance.
If you're using gdkpixbuf.PixbufLoader, in addition to updating the image after the delay time, you should also update it whenever you receive the area_updated signal and Pixbuf.animationIterOnCurrentlyLoadingFrame returns TRUE. In this case, the frame currently being fed into the loader has received new data, so needs to be refreshed. The delay time for a frame may also be modified after an area_updated signal, for example if the delay time for a frame is encoded in the data after the frame itself. So your timeout should be reinstalled after any area_updated signal.
A delay time of -1 is possible, indicating "infinite."