gdkPixbufAnimationGetIter(object, start.time)
object
start.time
GdkPixbufAnimationIter
] an iterator to move over the animationstart.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."