awtk/docs/manual/timer_t.md
2019-01-03 09:59:18 +08:00

4.4 KiB
Raw Blame History

timer_t

概述

定时器系统。

本定时器精度较低最高精度为1000/FPS如果需要高精度的定时器请用OS提供的定时器。

示例:

static ret_t my_on_timer(const timer_info_t* info) {
 widget_t* widget = WIDGET(info->ctx);
 ...
 return RET_REPEAT;
}

...

timer_add(my_on_timer, widget, 1000);

在非GUI线程请用timer_queue。

函数

函数名称 说明
timer_add 增加一个timer。
timer_count 返回timer的个数。
timer_next_time 返回最近的timer到期时间。
timer_now 获取当前时间(ms)。
timer_queue 用于非GUI线程增加一个timer本函数向主循环的事件队列中发送一个增加timer的请求。
timer_remove 删除指定的timer。
timer_set_on_destroy 设置一个回调函数在timer被销毁时调用(方便脚本语言去释放回调函数)。

timer_add 函数


  • 函数功能:

增加一个timer。

  • 函数原型:
uint32_t timer_add (timer_func_t on_timer, void* ctx, uint32_t duration);
  • 参数说明:
参数 类型 说明
返回值 uint32_t 返回timer的IDTK_INVALID_ID表示失败。
on_timer timer_func_t timer回调函数。
ctx void* timer回调函数的上下文。
duration uint32_t 时间。

timer_count 函数


  • 函数功能:

返回timer的个数。

  • 函数原型:
uint32_t timer_count ();
  • 参数说明:
参数 类型 说明
返回值 uint32_t 返回timer的个数。

timer_next_time 函数


  • 函数功能:

返回最近的timer到期时间。

  • 函数原型:
uint32_t timer_next_time ();
  • 参数说明:
参数 类型 说明
返回值 uint32_t 返回最近的timer到期时间。

timer_now 函数


  • 函数功能:

获取当前时间(ms)。

  • 函数原型:
uint32_t timer_now ();
  • 参数说明:
参数 类型 说明
返回值 uint32_t 返回获取当前时间(ms)。

timer_queue 函数


  • 函数功能:

用于非GUI线程增加一个timer本函数向主循环的事件队列中发送一个增加timer的请求。

timer回调函数回调函数返回RET_REPEAT则下次继续执行否则自动移出。

  • 函数原型:
ret_t timer_queue (timer_func_t , void* ctx, uint32_t duration);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
timer_func_t r
ctx void* timer回调函数的上下文。
duration uint32_t 时间。

timer_remove 函数


  • 函数功能:

删除指定的timer。

  • 函数原型:
ret_t timer_remove (uint32_t timer_id);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
timer_id uint32_t timerID。

timer_set_on_destroy 函数


  • 函数功能:

设置一个回调函数在timer被销毁时调用(方便脚本语言去释放回调函数)。

  • 函数原型:
ret_t timer_set_on_destroy (uint32_t timer_id, tk_destroy_t on_destroy, void* on_destroy_ctx);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
timer_id uint32_t timerID。
on_destroy tk_destroy_t 回调函数。
on_destroy_ctx void* 回调函数上下文。