timeouts, io и idle functions
время ожидания (timeouts)
вас наверное интересует как gtk выполняет
работу в gtk_main. для этого есть несколько
опций. используя следующую функцию
вы можете создать функцию времени
ожидания, которая будет вызываться
каждую миле секунду (milliseconds).
gint gtk_timeout_add( guint32 interval,
gtkfunction function,
gpointer data );
|
первый
аргумент кол-во миле секунд между
вызовами вашей функции. второй аргумент
- ваша функция которую вы хотите вызывать,
а третий - данные передаваемые в функцию
обратного вызова. возвращаемое
значение - целочисленное "tag",
которое может использоваться, чтобы
остановить время ожидания, вызвав:
void gtk_timeout_remove( gint tag );
|
вы так же можете
остановить время ожидания вернув 0
(zero) или false из вашей функции обратного
вызова. очевидно, что для продолжения
нужно вернуть не ноль (non-zero), т.е. true.
декларация вашего
обратного вызова:
gint timeout_callback( gpointer data );
|
|