虚拟方法

GdkPixbufPixbufAnimationget_iter

声明 [src]

GdkPixbufAnimationIter*
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_timeNULL,将自动使用 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
数据由方法调用者拥有。

返回值

类型: GdkPixbufAnimationIter

用于遍历动画的迭代器。

方法的调用者获取返回数据的所有权,并负责释放它。