PixbufAnimation.getIter

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."

class PixbufAnimation
getIter

Parameters

startTime TimeVal

time when the animation starts playing

Return Value

an iterator to move over the animation