mirror of
https://gitee.com/zlgopen/awtk.git
synced 2024-12-05 21:49:13 +08:00
8.3 KiB
8.3 KiB
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_find | 查找指定ID的timer。 |
timer_modify | 修改指定的timer的duration,修改之后定时器重新开始计时。 |
timer_next_time | 返回最近的timer到期时间。 |
timer_queue | 用于非GUI线程增加一个timer,本函数向主循环的事件队列中发送一个增加timer的请求。 |
timer_queue_ex | 用于非GUI线程增加一个timer,本函数向主循环的事件队列中发送一个增加timer的请求。 |
timer_remove | 删除指定的timer。 |
timer_remove_all_by_ctx | 根据上下文删除所有对应的timer。 |
timer_reset | 重置指定的timer,重置之后定时器重新开始计时。 |
timer_resume | 唤醒挂起指定的timer,并且重置定时器重新开始计时 |
timer_set_on_destroy | 设置一个回调函数,在timer被销毁时调用(方便脚本语言去释放回调函数)。 |
timer_suspend | 挂起指定的timer,一般用于不断循环触发的计时器。 |
timer_add 函数
- 函数功能:
增加一个timer。
- 函数原型:
uint32_t timer_add (timer_func_t on_timer, void* ctx, uint32_t duration);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | uint32_t | 返回timer的ID,TK_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_find 函数
- 函数功能:
查找指定ID的timer。
- 函数原型:
const timer_info_t* timer_find (uint32_t timer_id);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | const timer_info_t* | 返回timer的信息。 |
timer_id | uint32_t | timerID。 |
timer_modify 函数
- 函数功能:
修改指定的timer的duration,修改之后定时器重新开始计时。
- 函数原型:
ret_t timer_modify (uint32_t timer_id, uint32_t duration);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
timer_id | uint32_t | timerID。 |
duration | uint32_t | 新的时间。 |
timer_next_time 函数
- 函数功能:
返回最近的timer到期时间。
- 函数原型:
uint32_t timer_next_time ();
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | uint32_t | 返回最近的timer到期时间。 |
timer_queue 函数
- 函数功能:
用于非GUI线程增加一个timer,本函数向主循环的事件队列中发送一个增加timer的请求。
- 函数原型:
ret_t timer_queue (timer_func_t on_timer, void* ctx, uint32_t duration);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
on_timer | timer_func_t | timer回调函数,回调函数返回RET_REPEAT,则下次继续执行,否则自动移出。 |
ctx | void* | timer回调函数的上下文。 |
duration | uint32_t | 时间。 |
timer_queue_ex 函数
- 函数功能:
用于非GUI线程增加一个timer,本函数向主循环的事件队列中发送一个增加timer的请求。
- 函数原型:
ret_t timer_queue_ex (timer_func_t on_timer, void* ctx, uint32_t duration, tk_destroy_t on_destroy, void* on_destroy_ctx);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
on_timer | timer_func_t | timer回调函数,回调函数返回RET_REPEAT,则下次继续执行,否则自动移出。 |
ctx | void* | timer回调函数的上下文。 |
duration | uint32_t | 时间。 |
on_destroy | tk_destroy_t | 回调函数。 |
on_destroy_ctx | void* | 回调函数上下文。 |
timer_remove 函数
- 函数功能:
删除指定的timer。
- 函数原型:
ret_t timer_remove (uint32_t timer_id);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
timer_id | uint32_t | timerID。 |
timer_remove_all_by_ctx 函数
- 函数功能:
根据上下文删除所有对应的timer。
- 函数原型:
ret_t timer_remove_all_by_ctx (void* ctx);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
ctx | void* | timer回调函数的上下文。 |
timer_reset 函数
- 函数功能:
重置指定的timer,重置之后定时器重新开始计时。
- 函数原型:
ret_t timer_reset (uint32_t timer_id);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
timer_id | uint32_t | timerID。 |
timer_resume 函数
- 函数功能:
唤醒挂起指定的timer,并且重置定时器重新开始计时
- 函数原型:
ret_t timer_resume (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* | 回调函数上下文。 |
timer_suspend 函数
- 函数功能:
挂起指定的timer,一般用于不断循环触发的计时器。
- 函数原型:
ret_t timer_suspend (uint32_t timer_id);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
timer_id | uint32_t | timerID。 |