(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202211098770.5
(22)申请日 2022.09.09
(65)同一申请的已公布的文献号
申请公布号 CN 115185626 A
(43)申请公布日 2022.10.14
(73)专利权人 麒麟软件有限公司
地址 300450 天津市滨 海新区塘沽海 洋科
技园信安创业广场3号楼6 -8层
(72)发明人 刘仁学 黄顺玉 赵峰 杨沙洲
付强
(74)专利代理 机构 北京汇智英财专利代理有限
公司 11301
专利代理师 吴怀权
(51)Int.Cl.
G06F 9/451(2018.01)G06F 9/54(2006.01)
审查员 宫召英
(54)发明名称
轻量级GUI管理系统
(57)摘要
本发明涉及轻量级GUI管理系统, 包括应用
层、 GUI窗口管理系 统及用户层, GUI窗口管理系
统通过接收并响应用户层的按键消息、 定时器消
息及其它消息, 完成对应用层应用信息的显示;
GUI窗口管理系统通过双指针管理方式连接 所创
建的窗口, GUI管理系统首先建立ROOT窗口并使
ROOT窗口位于主链表最上层, 之后新创建的窗口
插入到当前窗口主链表末尾; 本发 明通过双指针
机制管理窗口链, 便于窗口查找和增加; 通过对
窗口接口采用动态内存管理, 使得GUI对静态内
存的占用率低。
权利要求书1页 说明书8页 附图8页
CN 115185626 B
2022.12.02
CN 115185626 B
1.一种轻量级GUI管理系统, 其特征在于, 包括应用层、 GUI窗口管理系统及用户层, GUI
窗口管理系统通过接 收并响应用户层的按键消息、 定时器消息及其它消息, 完成对应用层
应用信息的显示;
其中, GUI窗口管理系 统通过双指针管理方式连接所创建的窗口, GUI管理系统首先建
立ROOT窗口并使ROOT窗口位于主链表 最上层, 之后新创建的窗口插入到 当前窗口主链表末
尾;
GUI窗口管理系统为每个所创建的窗口所实现的管理包括: 动态申请窗口内存空间、 设
定窗口坐标的区域和名字、 注册 窗口消息处理函数、 将新创建的窗口插入到当前窗口主链
表末尾、 设置本窗口为焦点窗口、 返回各窗口的窗口句柄给应用窗口、 转 发各种消息给应用
窗口处理;
GUI窗口管理系统为每个所创建的窗口所实现的管理还包括在销毁窗口时实现: 关闭
销毁相应窗口的子窗口节点、 执行窗口销毁前资源的释放、 设置相 应窗口的父窗口为焦点
窗口、 发送父窗口重绘消息、 从窗口主链表中去掉相 应窗口及释放相应窗口占用的内存空
间。
2.如权利要求1所述的轻量级GUI管理系统, 其特征在于: 所述GUI窗口管理系统采用
RTOS系统, 开辟UI线程专门执行窗口消息处理函数, 非UI线程接收用户层的按键消息、 定时
器消息及其它消息, 并通过postmessage机制申请消息内存, 以及将上述消息发送到UI线程
中。
3.如权利 要求2所述的轻量级GUI管理系统, 其特征在于: 所述GUI窗口管理系统在UI线
程内设立消息队列, GUI管理系统从消息队列中读取消息, 根据消息中涉及的窗口句柄数
据, 将消息分派给相应的窗口, 由相应窗口中的窗口消息处理函数总入口分派给具体的窗
口消息处 理函数来执 行。
4.如权利要求3所述的轻量级GUI管理系统, 其特征在于: 窗口消息处理函数对各窗口
能够执行如下操作: 创建窗口、 销毁窗口、 关闭窗口、 窗口绘制、 响应用户层的按键消息、 定
时器消息及刷新窗口状态栏消息 。
5.如权利要求4所述的轻量级GUI管理系统, 其特征在于: 各窗口的窗口消息处理函数
总入口通过xx_ui_msgproc函数进行消息的分派; 通过xx_ui_paint()函数实现窗口绘制,
通过xx_ui_key()函数实现对按键消息的响应, 通过xx_ui_timer()函数实现对定 时器消
息的响应; 其中, x x代表窗口的名字。
6.如权利 要求2所述的轻量级GUI管理系统, 其特征在于: 所述GUI窗口管理系统同时通
过sendmessage机制, 直接接收用户层的按键消息、 定时器消 息及其它消息, 并通过调用窗
口句柄找到相应窗口中的对应的窗口消息处 理函数来执 行。
7.如权利要求1所述的轻量级GUI管理系统, 其特征在于: 用户层的定时器消息由定时
模块提供, 定时模块内注册多个定时器, 每个定时器注册时同时为其注册定时器入口函数,
多个定时器之间采用双向指针方向连接, 每个定时器内存动态分配, 且每个定时器具有独
立唯一定时ID。
8.如权利要求7所述的轻量级GUI管理系统, 其特征在于: 所述定时模块通过定时器调
度函数增加定时器列 表中每个定时器的计数器值, 在计数器值达到定时器周期后执行相应
的定时器入口函数。权 利 要 求 书 1/1 页
2
CN 115185626 B
2轻量级GUI管理系统
技术领域
[0001]本发明涉及GUI管理技 术领域, 具体涉及一种轻量级GUI管理系统。
背景技术
[0002]市面上很多开源的GUI系统如LVGL、 MicroWindows等, 还有收费GUI系统MiniGUI、
柿饼UI等, 提供各有特色GUI管理系统, 有丰富文档和接口, 为片上系统实现UI交互界面提
供很多实现的便利。
[0003]对于单片机小微系统来讲,特别资源比较紧张的单片机,这些大型的GUI系统有移
植难度高,占用空间大等痛点,而且对于现在的芯片供货资源紧张的大环境下,GUI系统占
用芯片资源过 大也变相增 加产品的成本.
[0004]在这个背景下,超轻量级GUI基于UI管理目标, 根据小微系统特点,自主实现一套
移植简单, 运行效率高, 方便裁剪, 占用空间极小的UI管理套件,为小微系统实现图形交互
界面提供便利。
发明内容
[0005]为了解决已有技术存在的不足, 本 发明提供了一种轻量级GUI管理系统, 包括应用
层、 GUI窗口管 理系统及用户层, GUI窗口管 理系统通过接收并响应用户层的按键消息、 定时
器消息及其它消息, 完成对应用层应用信息的显示;
[0006]其中, GUI窗口管理系统通过双指针管理方式连接所创 建的窗口, GUI管理系统首
先建立ROOT窗口并使ROOT窗口位于主链表 最上层, 之后新创建的窗口插入到当前窗口主链
表末尾;
[0007]GUI窗口管理系统为每个所创建的窗口所实现的管理包括: 动态申请窗口内存空
间、 设定窗口坐标的区域和名字、 注册窗口消息处理函数、 将新创建的窗口插入到 当前窗口
主链表末尾、 设置本窗口为焦点窗口、 返回各窗口的窗口句柄给应用窗口、 转 发各种消息给
应用窗口处 理;
[0008]GUI窗口管理系统为每个所创建的窗口所实现的管理还包括在销毁窗口时实现:
关闭销毁相应窗口的子窗口节点、 执行窗口销毁前资源的释放、 设置相 应窗口的父窗口为
焦点窗口、 发送父窗口重绘消息、 从窗口主链表中去掉相应窗口及释放相应窗口占用的内
存空间。
[0009]其中, 所述GUI窗 口管理系统采用RT OS系统, 开辟UI线程专门执行窗 口消息处理函
数, 非UI线程接收用户层的按键消息、 定时器消息及其它消息, 并通过postmessage机制申
请消息内存, 以及将上述消息发送到UI线程中。
[0010]其中, 所述GUI窗口管理系统在UI线程内设立消息队列, GUI管理系统从消息队列
中读取消息, 根据消息中涉及的窗口句柄数据, 将消息 分派给相应的窗口, 由相应窗口中的
窗口消息处 理函数总入口分派给 具体的窗口消息处 理函数来执 行。
[0011]其中, 窗口消息处理函数对各窗口能够执行如下操作: 创建窗口、 销毁窗口、 关闭说 明 书 1/8 页
3
CN 115185626 B
3
专利 轻量级GUI管理系统
文档预览
中文文档
18 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 17:13:42上传分享