## window\_manager\_t ### 概述 ![image](images/window_manager_t_0.png) 窗口管理器。 ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | 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\_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\_is\_animating | 获取当前窗口动画是否正在播放。 | | window\_manager\_open\_window | 打开窗口。 | | window\_manager\_paint | 绘制。 | | window\_manager\_resize | 调整原生窗口的大小。 | | window\_manager\_set | 设置缺省的窗口管理器。 | | window\_manager\_set\_cursor | 设置鼠标指针。 | | window\_manager\_set\_screen\_saver\_time | 设置屏保时间。 | | window\_manager\_set\_show\_fps | 设置是否显示FPS。 | | window\_manager\_switch\_to | 切换到指定窗口。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | global\_emitter | emitter\_t* | 全局事情分发器。 | #### 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\_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\_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 (window_manager_t* widget); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | window\_manager\_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\_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 函数 ----------------------- * 函数功能: >

切换到指定窗口。 * 函数原型: ``` 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* | 目标窗口。 | | close | bool\_t | 是否关闭当前窗口。 | #### global\_emitter 属性 ----------------------- >

全局事情分发器。 * 类型:emitter\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 |