Learn R Programming

RGtk2 (version 2.20.31)

gdkPixbufAnimationGetIter: gdkPixbufAnimationGetIter

Description

Get an iterator for displaying an animation. The iterator provides the frames that should be displayed at a given time.

Usage

gdkPixbufAnimationGetIter(object, start.time)

Arguments

start.time
time when the animation starts playing

Value

GdkPixbufAnimationIter] an iterator to move over the animation

Details

start.time would normally come from gGetCurrentTime(), and marks the beginning of animation playback. After creating an iterator, you should immediately display the pixbuf returned by gdkPixbufAnimationIterGetPixbuf. Then, you should install a timeout (with gTimeoutAdd) or by some other mechanism ensure that you'll update the image after gdkPixbufAnimationIterGetDelayTime 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 gGetCurrentTime() will be used automatically. To update the image (i.e. possibly change the result of gdkPixbufAnimationIterGetPixbuf to a new frame of the animation), call gdkPixbufAnimationIterAdvance. If you're using GdkPixbufLoader, in addition to updating the image after the delay time, you should also update it whenever you receive the area_updated signal and gdkPixbufAnimationIterOnCurrentlyLoadingFrame 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."