# window_manager_t

# 概述

image
image

窗口管理器。

# 函数

函数名称 说明
window_manager 获取全局window_manager对象
window_manager_back 请求关闭顶层窗口。
window_manager_back_to 回到指定的窗口,关闭之上的全部窗口。
window_manager_back_to_home 回到主窗口,关闭之上的全部窗口。
window_manager_begin_wait_pointer_cursor 开始等待鼠标指针。
window_manager_cast 转换为window_manager对象(供脚本语言使用)。
window_manager_close_all 关闭全部窗口。
window_manager_close_window_force 强制立即关闭窗口(内部使用函数,关闭窗口请使用 window_manager_close_window)。
window_manager_destroy 销毁window_manager。
window_manager_dispatch_input_event 分发输入事件。
window_manager_dispatch_native_window_event 处理native window事件。
window_manager_end_wait_pointer_cursor 结束等待鼠标指针。
window_manager_get_pointer_pressed 获取指针当前是否按下。
window_manager_get_pointer_x 获取指针当前的X坐标。
window_manager_get_pointer_y 获取指针当前的Y坐标。
window_manager_get_prev_window 获取前一个的窗口。
window_manager_get_top_main_window 获取最上面的主窗口。
window_manager_get_top_window 获取最上面的窗口。
window_manager_init 初始化window_manager。
window_manager_is_animating 获取当前窗口动画是否正在播放。
window_manager_open_window 打开窗口。
window_manager_paint 绘制。
window_manager_resize 调整原生窗口的大小。
window_manager_set 设置缺省的窗口管理器。
window_manager_set_cursor 设置鼠标指针。
window_manager_set_ignore_input_events 设置是否忽略用户输入事件。
window_manager_set_max_fps 限制最大帧率。
window_manager_set_screen_saver_time 设置屏保时间。
window_manager_set_show_fps 设置是否显示FPS。
window_manager_switch_to 切换到指定窗口。

# 属性

属性名称 类型 说明
global_emitter emitter_t* 全局事情分发器。

# 事件

事件名称 类型 说明
EVT_TOP_WINDOW_CHANGED window_event_t 顶层窗口改变的事件。
EVT_SCREEN_SAVER window_event_t 在指定的时间内,没有用户输入事件,由窗口管理器触发。
EVT_ORIENTATION_CHANGED event_t 屏幕旋转事件。
EVT_SYSTEM system_event_t SDL系统事件。

# window_manager 函数

  • 函数功能:

获取全局window_manager对象

  • 函数原型:
widget_t* window_manager ();
  • 参数说明:
参数 类型 说明
返回值 widget_t* 对象。

# window_manager_back 函数

  • 函数功能:

请求关闭顶层窗口。

如果顶层窗口时模态对话框,用DIALOG_QUIT_NONE调用dialog_quit。

  • 函数原型:
ret_t window_manager_back (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。

# window_manager_back_to 函数

  • 函数功能:

回到指定的窗口,关闭之上的全部窗口。

如果顶层窗口时模态对话框,用DIALOG_QUIT_NONE调用dialog_quit。

  • 函数原型:
ret_t window_manager_back_to (widget_t* widget, const char* target);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
target const char* 目标窗口的名称。

# window_manager_back_to_home 函数

  • 函数功能:

回到主窗口,关闭之上的全部窗口。

如果顶层窗口时模态对话框,用DIALOG_QUIT_NONE调用dialog_quit。

  • 函数原型:
ret_t window_manager_back_to_home (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。

# window_manager_begin_wait_pointer_cursor 函数

  • 函数功能:

开始等待鼠标指针。

  • 函数原型:
ret_t window_manager_begin_wait_pointer_cursor (widget_t* widget, bool_t ignore_user_input);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。。
widget widget_t* 窗口管理器对象。
ignore_user_input bool_t 是否忽略用户输入。

# window_manager_cast 函数

  • 函数功能:

转换为window_manager对象(供脚本语言使用)。

  • 函数原型:
widget_t* window_manager_cast (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 widget_t* window_manager对象。
widget widget_t* window_manager对象。

# window_manager_close_all 函数

  • 函数功能:

关闭全部窗口。

  • 函数原型:
ret_t window_manager_close_all (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。

# window_manager_close_window_force 函数

  • 函数功能:

强制立即关闭窗口(内部使用函数,关闭窗口请使用 window_manager_close_window)。

本函数不会执行窗口动画。

  • 函数原型:
ret_t window_manager_close_window_force (widget_t* widget, widget_t* window);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
window widget_t* 窗口对象。

# window_manager_destroy 函数

  • 函数功能:

销毁window_manager。

  • 函数原型:
ret_t window_manager_destroy (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* window_manager对象。

# window_manager_dispatch_input_event 函数

  • 函数功能:

分发输入事件。

一般仅由主循环调用,特殊情况也可以用来注入事件。

  • 函数原型:
ret_t window_manager_dispatch_input_event (widget_t* widget, event_t* e);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
e event_t* 事件对象。

# window_manager_dispatch_native_window_event 函数

  • 函数功能:

处理native window事件。

  • 函数原型:
ret_t window_manager_dispatch_native_window_event (widget_t* widget, event_t* e, void* handle);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
e event_t* 事件。
handle void* native window句柄。

# window_manager_end_wait_pointer_cursor 函数

  • 函数功能:

结束等待鼠标指针。

  • 函数原型:
ret_t window_manager_end_wait_pointer_cursor (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。。
widget widget_t* 窗口管理器对象。

# window_manager_get_pointer_pressed 函数

  • 函数功能:

获取指针当前是否按下。

  • 函数原型:
bool_t window_manager_get_pointer_pressed (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 bool_t 返回指针当前是否按下。
widget widget_t* 窗口管理器对象。

# window_manager_get_pointer_x 函数

  • 函数功能:

获取指针当前的X坐标。

  • 函数原型:
xy_t window_manager_get_pointer_x (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 xy_t 返回指针当前的X坐标。
widget widget_t* 窗口管理器对象。

# window_manager_get_pointer_y 函数

  • 函数功能:

获取指针当前的Y坐标。

  • 函数原型:
xy_t window_manager_get_pointer_y (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 xy_t 返回指针当前的X坐标。
widget widget_t* 窗口管理器对象。

# window_manager_get_prev_window 函数

  • 函数功能:

获取前一个的窗口。

  • 函数原型:
widget_t* window_manager_get_prev_window (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 widget_t* 返回窗口对象。
widget widget_t* 窗口管理器对象。

# window_manager_get_top_main_window 函数

  • 函数功能:

获取最上面的主窗口。

  • 函数原型:
widget_t* window_manager_get_top_main_window (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 widget_t* 返回窗口对象。
widget widget_t* 窗口管理器对象。

# window_manager_get_top_window 函数

  • 函数功能:

获取最上面的窗口。

  • 函数原型:
widget_t* window_manager_get_top_window (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 widget_t* 返回窗口对象。
widget widget_t* 窗口管理器对象。

# window_manager_init 函数

  • 函数功能:

初始化window_manager。

  • 函数原型:
widget_t* window_manager_init (window_manager_t* wm, const widget_vtable_t* wvt, const window_manager_vtable_t* vt);
  • 参数说明:
参数 类型 说明
返回值 widget_t* 返回window_manager对象。
wm window_manager_t* window_manager对象。
wvt const widget_vtable_t* 控件基类虚表。
vt const window_manager_vtable_t* window_manager虚表。

# window_manager_is_animating 函数

  • 函数功能:

获取当前窗口动画是否正在播放。

  • 函数原型:
bool_t window_manager_is_animating (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 bool_t 返回TRUE表示正在播放,FALSE表示没有播放。
widget widget_t* 窗口管理器对象。

# window_manager_open_window 函数

  • 函数功能:

打开窗口。

  • 函数原型:
ret_t window_manager_open_window (widget_t* widget, widget_t* window);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
window widget_t* 窗口对象。

# window_manager_paint 函数

  • 函数功能:

绘制。

仅由主循环调用。

  • 函数原型:
ret_t window_manager_paint (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。

# window_manager_resize 函数

  • 函数功能:

调整原生窗口的大小。

  • 函数原型:
ret_t window_manager_resize (widget_t* widget, wh_t w, wh_t h);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
w wh_t 宽度
h wh_t 高度

# window_manager_set 函数

  • 函数功能:

设置缺省的窗口管理器。

  • 函数原型:
ret_t window_manager_set (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。

# window_manager_set_cursor 函数

  • 函数功能:

设置鼠标指针。

  • 函数原型:
ret_t window_manager_set_cursor (widget_t* widget, const char* cursor);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
cursor const char* 图片名称(从图片管理器中加载)。

# window_manager_set_ignore_input_events 函数

  • 函数功能:

设置是否忽略用户输入事件。

  • 函数原型:
ret_t window_manager_set_ignore_input_events (widget_t* widget, bool_t ignore_input_events);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
ignore_input_events bool_t 是否忽略用户输入事件。

# window_manager_set_max_fps 函数

  • 函数功能:

限制最大帧率。

TK_MAX_LOOP_FPS/max_fps最好是整数,比如TK_MAX_LOOP_FPS为120,max_fps可取60/30/20/10等。

  • 函数原型:
ret_t window_manager_set_max_fps (widget_t* widget, uint32_t max_fps);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
max_fps uint32_t 最大帧率。

# window_manager_set_screen_saver_time 函数

  • 函数功能:

设置屏保时间。

  • 函数原型:
ret_t window_manager_set_screen_saver_time (widget_t* widget, uint32_t screen_saver_time);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
screen_saver_time uint32_t 屏保时间(单位毫秒), 为0关闭屏保。

# window_manager_set_show_fps 函数

  • 函数功能:

设置是否显示FPS。

  • 函数原型:
ret_t window_manager_set_show_fps (widget_t* widget, bool_t show_fps);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
show_fps bool_t 是否显示FPS。

# window_manager_switch_to 函数

  • 函数功能:

切换到指定窗口。

window_manager_switch_to(wm, win, widget_child(wm, "home"), FALSE);
  • 函数原型:
ret_t window_manager_switch_to (widget_t* widget, widget_t* curr_win, widget_t* target_win, bool_t close);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
widget widget_t* 窗口管理器对象。
curr_win widget_t* 当前窗口。
target_win widget_t* 目标窗口(必须存在,可以用widget_child函数到窗口管理器中查找)。
close bool_t 是否关闭当前窗口。

# global_emitter 属性

全局事情分发器。

  • 类型:emitter_t*
特性 是否支持
可直接读取
可直接修改