方法

GtkWidgetadd_tick_callback

声明 [src]

guint
gtk_widget_add_tick_callback (
  GtkWidget* widget,
  GtkTickCallback callback,
  gpointer user_data,
  GDestroyNotify notify
)

描述 [src]

队列一个动画帧更新,并在每个帧之前添加一个回调。

直到移除tick回调,它将频繁调用(通常在输出设备帧率或应用程序可以重绘的最快速度, whichever is slower)。因此,非常适合处理每帧或每几帧改变的图形。

tick回调不自动意味着重新布局或重绘。如果您希望重绘或重新布局,并且没有更改将触发该操作的部件属性(例如,更改标签文本),那么您需要自己调用 gtk_widget_queue_resize()gtk_widget_queue_draw()

gdk_frame_clock_get_frame_time() 通常用于连续动画的计时,gdk_frame_timings_get_predicted_presentation_time() 应用于尝试在特定时间显示独立帧的情况。

这是连接到帧时钟的 GdkFrameClock::update 信号的直接连接的一个更方便的替代方案,因为您不必担心帧时钟何时分配给部件。

要移除tick回调,将此函数返回的ID传递给 gtk_widget_remove_tick_callback()

参数

callback

类型: GtkTickCallback

用于更新动画的函数。

user_data

类型: gpointer

传递给 callback 的数据。

该参数可以是 NULL
数据由方法调用者拥有。
notify

类型: GDestroyNotify

用于释放 user_data 的函数。

返回值

类型: guint

此回调的 ID。