方法
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
的函数。