方法
GdkPixbufPixbufAnimationget_iter
声明 [src]
GdkPixbufAnimationIter*
gdk_pixbuf_animation_get_iter (
GdkPixbufAnimation* animation,
const GTimeVal* start_time
)
描述 [src]
获取用于显示动画的迭代器。
迭代器提供在给定时间应显示的帧。
start_time
通常来自 g_get_current_time(),表示动画播放的开始。在创建迭代器后,应立即显示 gdk_pixbuf_animation_iter_get_pixbuf() 返回的 pixbuf。然后,您应使用 g_timeout_add() 安装一个超时,或者通过其他机制确保在 gdk_pixbuf_animation_iter_get_delay_time()
毫秒后更新图像。每次更新图像时,您都应使用新的可能改变的延迟时间重新安装超时。
作为快捷方式,如果 start_time
是 NULL
,则将自动使用 g_get_current_time()
的结果。
要更新图像(即可能改变 gdk_pixbuf_animation_iter_get_pixbuf()
的结果以动画的新帧),请调用 gdk_pixbuf_animation_iter_advance()。
如果您正在使用 GdkPixbufLoader
,除了在延迟时间后更新图像外,还应在收到 area_updated 信号且 gdk_pixbuf_animation_iter_on_currently_loading_frame()
返回 TRUE
时更新它。在这种情况下,正在馈送到加载器中的帧已接收到新数据,因此需要刷新。帧的延迟时间也可能在 area_updated 信号后修改,例如如果帧的延迟时间编码在帧本身之后的数据中。因此,您应在任何 area_updated 信号后重新安装超时。
延迟时间可能为 -1,表示“无限”。
参数
start_time
-
类型:
GTimeVal
动画开始播放的时间。
参数可以是 NULL
。数据由方法调用者所有。