CN115185626B - 轻量级gui管理系统 - Google Patents

轻量级gui管理系统 Download PDF

Info

Publication number
CN115185626B
CN115185626B CN202211098770.5A CN202211098770A CN115185626B CN 115185626 B CN115185626 B CN 115185626B CN 202211098770 A CN202211098770 A CN 202211098770A CN 115185626 B CN115185626 B CN 115185626B
Authority
CN
China
Prior art keywords
window
gui
management system
messages
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211098770.5A
Other languages
English (en)
Other versions
CN115185626A (zh
Inventor
刘仁学
黄顺玉
赵峰
杨沙洲
付强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kirin Software Co Ltd
Original Assignee
Kirin Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kirin Software Co Ltd filed Critical Kirin Software Co Ltd
Priority to CN202211098770.5A priority Critical patent/CN115185626B/zh
Publication of CN115185626A publication Critical patent/CN115185626A/zh
Application granted granted Critical
Publication of CN115185626B publication Critical patent/CN115185626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及轻量级GUI管理系统,包括应用层、GUI窗口管理系统及用户层,GUI窗口管理系统通过接收并响应用户层的按键消息、定时器消息及其它消息,完成对应用层应用信息的显示;GUI窗口管理系统通过双指针管理方式连接所创建的窗口,GUI管理系统首先建立ROOT窗口并使ROOT窗口位于主链表最上层,之后新创建的窗口插入到当前窗口主链表末尾;本发明通过双指针机制管理窗口链,便于窗口查找和增加;通过对窗口接口采用动态内存管理,使得GUI对静态内存的占用率低。

Description

轻量级GUI管理系统
技术领域
本发明涉及GUI管理技术领域,具体涉及一种轻量级GUI管理系统。
背景技术
市面上很多开源的GUI系统如LVGL、MicroWindows等,还有收费GUI系统MiniGUI、柿饼UI等,提供各有特色GUI管理系统,有丰富文档和接口,为片上系统实现UI交互界面提供很多实现的便利。
对于单片机小微系统来讲,特别资源比较紧张的单片机,这些大型的GUI系统有移植难度高,占用空间大等痛点,而且对于现在的芯片供货资源紧张的大环境下,GUI系统占用芯片资源过大也变相增加产品的成本.
在这个背景下,超轻量级GUI基于UI管理目标,根据小微系统特点,自主实现一套移植简单,运行效率高,方便裁剪,占用空间极小的UI管理套件,为小微系统实现图形交互界面提供便利。
发明内容
为了解决已有技术存在的不足,本发明提供了一种轻量级GUI管理系统,包括应用层、GUI窗口管理系统及用户层,GUI窗口管理系统通过接收并响应用户层的按键消息、定时器消息及其它消息,完成对应用层应用信息的显示;
其中,GUI窗口管理系统通过双指针管理方式连接所创建的窗口,GUI管理系统首先建立ROOT窗口并使ROOT窗口位于主链表最上层,之后新创建的窗口插入到当前窗口主链表末尾;
GUI窗口管理系统为每个所创建的窗口所实现的管理包括:动态申请窗口内存空间、设定窗口坐标的区域和名字、注册窗口消息处理函数、将新创建的窗口插入到当前窗口主链表末尾、设置本窗口为焦点窗口、返回各窗口的窗口句柄给应用窗口、转发各种消息给应用窗口处理;
GUI窗口管理系统为每个所创建的窗口所实现的管理还包括在销毁窗口时实现:关闭销毁相应窗口的子窗口节点、执行窗口销毁前资源的释放、设置相应窗口的父窗口为焦点窗口、发送父窗口重绘消息、从窗口主链表中去掉相应窗口及释放相应窗口占用的内存空间。
其中,所述GUI窗口管理系统采用RTOS系统,开辟UI线程专门执行窗口消息处理函数,非UI线程接收用户层的按键消息、定时器消息及其它消息,并通过postmessage机制申请消息内存,以及将上述消息发送到UI线程中。
其中,所述GUI窗口管理系统在UI线程内设立消息队列,GUI管理系统从消息队列中读取消息,根据消息中涉及的窗口句柄数据,将消息分派给相应的窗口,由相应窗口中的窗口消息处理函数总入口分派给具体的窗口消息处理函数来执行。
其中,窗口消息处理函数对各窗口能够执行如下操作:创建窗口、销毁窗口、关闭窗口、窗口绘制、响应用户层的按键消息、定时器消息及刷新窗口状态栏消息。
其中,各窗口的窗口消息处理函数总入口通过xx_ui_msgproc函数进行消息的分派;通过xx_ui_paint()函数实现窗口绘制,通过xx_ui_key()函数实现对按键消息的响应,通过xx_ui_timer()函数实现对定时器消息的响应;其中,xx代表窗口的名字。
其中,所述GUI窗口管理系统同时通过sendmessage机制,直接接收用户层的按键消息、定时器消息及其它消息,并通过调用窗口句柄找到相应窗口中的对应的窗口消息处理函数来执行。
其中,用户层的定时器消息由定时模块提供,定时模块内注册多个定时器,每个定时器注册时同时为其注册定时器入口函数,多个定时器之间采用双向指针方向连接,每个定时器内存动态分配,且每个定时器具有独立唯一定时ID。
其中,所述定时模块通过定时器调度函数增加定时器列表中每个定时器的计数器值,在计数器值达到定时器周期后执行相应的定时器入口函数。
本发明提供的轻量级GUI管理系统,通过双指针机制管理窗口链,便于窗口查找和增加;通过对窗口接口采用动态内存管理,使得GUI对静态内存的占用率低。
附图说明
图1:本发明的轻量级GUI管理系统的整体框架思路图。
图2:本发明的轻量级GUI管理系统的窗口管理核心事件图。
图3:GUI窗口管理系统所创建的窗口的列表结构图。
图4:GUI管理系统的运行原理图。
图5:本发明的窗口消息传递机制示意图。
图6:本发明的GUI管理系统中GUI窗口管理系统的移植接口结构说明图。
图7:本发明的一较佳实施例中应用窗口界面设计逻辑原理图。
图8:本发明的定时模块的数据结构图。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。
为了解决已有技术的GUI系统存在的种种不足,以最小代码实现窗口管理,从而实现小微系统的GUI管理,本发明提供的轻量级GUI管理系统,几大核心的思路要点如下:
1、GUI窗口结构采用动态内存管理,在销毁窗口的时候进行资源和内存的释放,使得GUI静态内存占用率低。
2.对所创建的窗口的窗口链采用双指针管理,使得窗口查找和增加非常便利。
3.窗口基本采用全消息传递处理的方式,每个窗口在创建窗口的时候都会注册一个消息处理函数,单独对本窗口所有的事件进行处理,以达到各个窗口设计的独立性,给用户提供设计UI的便利。
4.采用焦点窗口的概念,GUI在系统起来时会先建立一个ROOT窗口,ROOT窗口会优先处理各种消息,ROOT不能处理的消息会传递给焦点窗口注册处理函数处理。
具体的实现机能下文详述。
图1为本发明的轻量级GUI管理系统的整体框架思路图,如图1所示,本发明的轻量级GUI管理系统,包括应用层、GUI窗口管理系统及用户层,GUI窗口管理系统通过接收并响应用户层的按键消息、定时器消息及其它消息,完成对应用层应用信息的显示。
图2为本发明的轻量级GUI管理系统的窗口管理核心事件图,主要针对GUI窗口管理系统而言,此管理系统用于创建窗口、销毁窗口、传递用户层到GUI窗口管理系统的消息以及对所传递的窗口消息进行处理。针对轻量级GUI管理系统在上述四大核心事件中所能够实现的机能,请结合图3及图4来理解:图3及图4分别为GUI窗口管理系统所创建的窗口的列表结构图及本发明的GUI管理系统的运行原理图。
请首先参阅图3所示,本发明在GUI窗口管理系统创建之初,首先建立ROOT窗口并使ROOT窗口位于主链表最上层,之后创建的其它窗口依次插入到当前窗口主链表末尾,整个窗口主链表上串起的窗口采用双指针方式连接,便于窗口的查找、删除及插入等操作。针对每个创建的窗口,GUI窗口管理系统都会为其注册窗口消息处理函数,以用来处理用户层发送的按键消息、定时器消息及其它消息;同时,每个窗口都有唯一的窗口句柄(对应窗口内存地址),每条传递给GUI窗口管理系统的消息都会带窗口句柄的参数,以便GUI窗口管理系统确定将消息分派给哪个窗口来执行;窗口的内存都是动态申请及释放的,在销毁窗口时,需要释放该窗口所占用的资源和内存空间。
因此,在图2中,本发明的GUI窗口管理系统,在创建窗口的核心事件中所能够实现的管理功能包括:动态申请窗口内存空间、设定窗口坐标的区域和名字、注册窗口消息处理函数、将新创建的窗口插入到当前窗口主链表末尾、设置本窗口为焦点窗口、返回各窗口的窗口句柄给应用窗口、发送窗口绘制消息;在销毁窗口的核心事件中所能够实现的功能包括:关闭销毁相应窗口的子窗口节点、执行窗口销毁前资源的释放、设置相应窗口的父窗口为焦点窗口、从当前窗口主链表中去掉相应窗口及释放相应窗口占用的内存空间;由于从一个界面退出后,GUI窗口管理系统会重回到上一级窗口,此时需要重绘其上一级窗口,因此,在销毁窗口的核心事件中,GUI窗口管理系统所能够实现的功能还包括:发送父窗口重绘消息。
焦点窗口概念是这样的,假设x1hwnd是焦点窗口,那么x1hwnd的窗口区域(x,y,w,h)永远在界面图形的最上层(默认是会直接覆盖非焦点窗口的显示,目前暂时不支持半透效果)。
本发明中,所创建的窗口的部分数据结构介绍如下:
typedef struct tag_windows_tag_s
{
unsigned char name[WINDOW_NAME_LEN]; //窗口名字
unsigned short x; //窗口x坐标
unsigned short y; //窗口y坐标
unsigned short w; //窗口宽度
unsigned short h; //窗口高度
unsigned short win_flag;//focus flag //窗口属性
win_proc_func win_proc; //窗口消息处理函数
HWND hwnd; //窗口句柄
struct tag_windows_tag_s *next; //窗口后指针
struct tag_windows_tag_s *prev; //窗口前指针
}tag_windows_tag_t。
请继续首先参阅图4所示,窗口建立起来后,本发明的GUI管理系统运行的核心思想在于将外部事件(在上图中表现为用户层的事件)发送消息到消息队列中,由GUI窗口管理系统消息队列中获取到消息后,先找到与消息中窗口句柄参数相匹配的窗口,然后将该消息分配给具体的窗口,具体的窗口通过窗口消息处理函数总入口分配给具体的窗口消息处理函数来执行对应的消息。
因此,在图2中,本发明的GUI窗口管理系统,在窗口消息处理的核心事件中所能够实现的管理功能包括:平时处于等待窗口消息的状态中,当有窗口消息传递时,从消息队列中读取消息,根据消息中窗口句柄参数相匹配的窗口,将窗口消息派送到相对应的具体的窗口,由该具体的窗口调用对应的窗口消息处理函数来执行,执行完毕后从消息队列中回收处理过的消息内存,因此,本发明的消息队列内存空间也执行动态分配的原则。
请继续结合图2中传递窗口消息的核心事件以及图5所示,其中,图5为本发明的窗口消息传递机制示意图,本发明中,将窗口消息由用户层传递到具体的窗口中时,本发明的GUI窗口管理系统提供两种传递机制:sendmessage和postmessage。
sendmessage等于直接调用具体的窗口中的窗口消息处理函数执行对应的消息命令,这样做一方面实时性高,另外一方面,假设窗口消息处理函数里面又有调用同样的sendmessage消息处理就会造成死锁。
postmesage机制基于RTOS系统,将非UI线程所接收的用户层的窗口消息发送至专门开辟的UI线程,postmesage相对来讲实时性就不如sendmessage,会先发送到消息队列,然后系统消息队列调度时,取出来对应的窗口消息,再交给具体窗口的窗口消息处理函数处理。postmessage一般用在从系统中断函数里或者从别的线程里面,发出消息到窗口消息队列。如定时器消息,按键消息需要传递给窗口消息队列处理,就需要用到postmessage。
本发明中,几种基础的窗口消息类型罗列如下:
#define HWND_MSG_CREATE 0X100 //创建窗口
#define HWND_MSG_DESTROY 0X101 //销毁窗口
#define HWND_MSG_CLOSE 0X102 //关闭窗口
#define HWND_MSG_PAINT 0X103 //窗口绘图
#define HWND_MSG_ONKEY 0X104 //窗口按键消息
#define HWND_MSG_ONTIME 0x105 //窗口定时消息
#define HWND_MSG_REDRAW 0x106 //窗口重绘
#define HWND_MSG_UPDATE_HEAD 0x107 //刷新窗口状态栏消息
用户还可以自定义其他消息。
图6为本发明的GUI管理系统中GUI窗口管理系统的移植接口结构说明图,具体显示在将整个GUI管理系统从一个单片机移植到另外一个单片机,需要实现的相应接口,即不同的单片机需要提供支持该GUI管理系统的接口支持。
GUI的定时器组件,是依赖单片机定时器系统,如果把GUI管理系统定时器函数放在硬件定时器中断函数里面执行会影响系统效率,原则上只能单片机用户态去调用系统GUI定时调度程序比较好。因此,在将整个GUI管理系统定时器进行调度移植时,定时器调度器的位置不应放在硬件定时中断处理程序中。
有些单片机系统带有操作系统如freertos、rtthread等,自带有消息管理机制,移植本发明的GUI管理系统会比较容易;因此,针对带有RTOS消息管理能力的系统,可以用系统自带的消息管理实现窗口消息队列;而针对不带rtos的裸系统,通过实现一个定时处理消息队列函数的地方,也可以支持用静态内存实现消息管理。
另外,有的单片机系统没有malloc和free动态支持,可以用静态内存实现内存malloc和free。
图7为本发明的一较佳实施例中应用窗口界面设计逻辑原理图:如图7所示,在创建一个应用窗口的具体实例中,GUI窗口管理系统提供接口,供具体的应用程序调用ui_create函数来创建窗口,在图7中,“xx”代表具体的窗口,用于标记这个窗口,供GUI窗口管理系统判断具体为哪个窗口;在需要创建这个窗口时,应用系统向GUI窗口管理系统注册,GUI窗口管理系统为需要创建的这个窗口配备相关属性,应用通过GUI窗口管理系统提供的接口,调用xx_ui-create创建窗口,创建成功后,这个窗口向GUI窗口管理系统传递所创建的窗口的属性参数;具体的属性参数涉及与窗口句柄、窗口名字、区域、消息处理函数等相关的属性参数。
窗口创建成功后,当用户层需要该窗口处理消息时,GUI窗口管理系统从消息队列中读取到相应的消息后,根据消息所匹配的窗口句柄(即通过“xx”),将消息传递给该窗口的xx_ui_msgproc函数(也是在创建阶段为该窗口注册的一个函数),该窗口通过xx_ui_msgproc函数将该消息进行初步的处理分派,以分配给具体的窗口消息处理函数来执行:如绘制消息分派给xx_ui_paint函数,按键消息分派给xx_ui_key函数,定时消息分派给xx_ui_timer函数。
综上,具体的窗口实现只需实例化xx_ui_create和xx_ui_msgproc.
其他界面只要调用xx_ui_create就可以跳到本界面,界面只要发送消息sendmessage(hwnd,HWND_MSG_CLOSE,0)就退出窗口、其中hwnd是本窗口的窗口句柄。
对于具体窗口界面来讲,主要需要实现下面两部分设计:
参考设计可以看下面的样例代码:
HWND g_ota_ui_hwnd=HWND_WINDOW_NULL;
窗口按键消息入口处理函数
static void ota_ui_ui_onkey(win_msg_t *msg)
{
if(msg->hwnd!=g_ota_ui_hwnd)
{
return;
}
switch(msg->param2)
{
case KEY_CODE_UP:
break;
case KEY_CODE_DOWN:
break;
case KEY_CODE_ENTER:
break;
case KEY_CODE_EXIT:
postmessage(msg->hwnd,HWND_MSG_CLOSE,0);
break;
}
}
绘制界面接口
static void ota_ui_ui_onpaint(win_msg_t *msg)
{
}
OTA窗口消息处理函数
static void ota_ui_ui_msgproc(HWND hwnd,win_msg_t *msg)
{
if(msg==NULL) {
return ;
}
if(hwnd==HWND_WINDOW_NULL)
{
return ;
}
switch(msg->param1)
{
case HWND_MSG_CREATE:
postmessage(hwnd,HWND_MSG_PAINT,0);
break;
case HWND_MSG_CLOSE:
g_ota_ui_hwnd = HWND_WINDOW_NULL;
postmessage(hwnd,HWND_MSG_DESTROY,0);
break;
case HWND_MSG_ONKEY:
if(win_get_fucus_hwnd()!=g_ota_ui_hwnd)break;
ota_ui_ui_onkey(msg);
break;
case HWND_MSG_PAINT:
if(win_get_fucus_hwnd()!=g_ota_ui_hwnd)break;
ota_ui_ui_onpaint(msg);
break;
case HWND_MSG_REDRAW:
postmessage(hwnd,HWND_MSG_PAINT,0);
break;
}
}
窗口创建入口函数
void ota_ui_create(void)
{
memset(&ota_tcb,0,sizeof(ota_tcb));
g_ota_ui_hwnd = win_create((uint8_t *)"ota_uimenu",0,0,WINDOW_SCREEN_WIDTH,WINDOW_SCREEN_HEIGHT,ota_ui_ui_msgproc);
}
本发明中,窗口消息处理函数总入口通过xx_ui_msgproc函数读取消息队列中的消息并进行消息的分派;各窗口通过xx_ui_paint()函数实现窗口绘制,通过xx_ui_key()函数实现对按键消息的响应,通过xx_ui_timer()函数实现对定时器消息的响应。
图8为本发明的定时模块的数据结构图,如图8所示,用户层的定时器消息由定时模块提供,定时模块内注册多个定时器,每个定时器注册时同时为其注册定时器入口函数,多个定时器之间采用双向指针方向连接,以便插入、删除及查找定时器;每个定时器内存动态分配,且每个定时器具有独立唯一定时ID。定时模块通过专门的定时器调度函数来实现每个定时器入口函数的调度:定时器调度函数的算法涉及增加定时器列表中每个定时器的计数器值,在计数器的值达到定时器周期后执行相应的定时器入口函数。
本发明的轻量级GUI管理系统,几个具体的应用实例如下:
1、按键交互的原理
按键交互基本过程是:系统检测到一个按键消息,获取按键消息当前焦点窗口句柄,发送一个按键消息给对应窗口(postmessage),在窗口调度函数里面,把消息派送到对应的窗口消息处理函数去执行,对应的窗口处理函数里面,根据对应按键值做相应的处理。
2、定时刷新界面的情形(类似充电图标显示)
创建一个定时器(设置定时属性周期或单次),时间到给本窗口界面发送一个定时消息,窗口根据定时消息,重新绘制图标。
3、一个界面多窗口的情况
划分每个窗口的管理区域(焦点窗口会盖住非焦点窗口),注册root窗口和主窗口,设置主窗口为焦点窗口,状态栏的paint消息发给root窗口处理函数去处理,主窗口的paint消息发给主窗口消息处理函数去处理。
4、绘图消息的处理
用户在x,y点处画一个汉字,对应的窗口读取汉字点阵内存,根据点阵调用图形驱动中画点函数画出汉字。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。

Claims (8)

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()函数实现对定时器消息的响应;其中,xx代表窗口的名字。
6.如权利要求2所述的轻量级GUI管理系统,其特征在于:所述GUI窗口管理系统同时通过sendmessage机制,直接接收用户层的按键消息、定时器消息及其它消息,并通过调用窗口句柄找到相应窗口中的对应的窗口消息处理函数来执行。
7.如权利要求1所述的轻量级GUI管理系统,其特征在于:用户层的定时器消息由定时模块提供,定时模块内注册多个定时器,每个定时器注册时同时为其注册定时器入口函数,多个定时器之间采用双向指针方向连接,每个定时器内存动态分配,且每个定时器具有独立唯一定时ID。
8.如权利要求7所述的轻量级GUI管理系统,其特征在于:所述定时模块通过定时器调度函数增加定时器列表中每个定时器的计数器值,在计数器值达到定时器周期后执行相应的定时器入口函数。
CN202211098770.5A 2022-09-09 2022-09-09 轻量级gui管理系统 Active CN115185626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211098770.5A CN115185626B (zh) 2022-09-09 2022-09-09 轻量级gui管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211098770.5A CN115185626B (zh) 2022-09-09 2022-09-09 轻量级gui管理系统

Publications (2)

Publication Number Publication Date
CN115185626A CN115185626A (zh) 2022-10-14
CN115185626B true CN115185626B (zh) 2022-12-02

Family

ID=83523870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211098770.5A Active CN115185626B (zh) 2022-09-09 2022-09-09 轻量级gui管理系统

Country Status (1)

Country Link
CN (1) CN115185626B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05298052A (ja) * 1992-04-21 1993-11-12 Fujitsu Ltd ウインドウシステムおよびイベント処理方法
JP4005623B2 (ja) * 2004-05-06 2007-11-07 隆敏 柳瀬 ウィンドウ表示システム、ウィンドウ表示方法、プログラム開発支援装置及びサーバ装置
CN106469045A (zh) * 2015-08-14 2017-03-01 中兴通讯股份有限公司 图形用户界面gui的绘制方法及装置

Also Published As

Publication number Publication date
CN115185626A (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
JP3659062B2 (ja) 計算機システム
US5502839A (en) Object-oriented software architecture supporting input/output device independence
US5335323A (en) Computer human interface with multiapplication display
US5062060A (en) Computer human interface comprising user-adjustable window for displaying or printing information
AU734115B2 (en) Hardware accelerator for an object-oriented programming language
US6560626B1 (en) Thread interruption with minimal resource usage using an asynchronous procedure call
US5721922A (en) Embedding a real-time multi-tasking kernel in a non-real-time operating system
US6330659B1 (en) Hardware accelerator for an object-oriented programming language
JPH07109585B2 (ja) スコープ指令変更処理方法及び装置
CN106775699B (zh) 在异步线程中更新ui的方法及系统
US20140053157A1 (en) Asynchronous execution flow
US5630074A (en) Inter-program communication and scheduling method for personal computers
WO2014110702A1 (zh) 协同并发式消息总线、主动构件组装模型及构件拆分方法
US9367350B2 (en) Meta-scheduler with meta-contexts
US7730500B2 (en) Application programming interface techniques for accessing operating system resources
CN115185626B (zh) 轻量级gui管理系统
JP2003076543A (ja) プログラム生成装置、プログラム生成方法およびその方法をコンピュータに実行させるプログラム
WO2024037132A1 (zh) 工作流处理方法、装置、设备、存储介质和程序产品
JPH0465711A (ja) 表示装置の表示制御方式
CN112506655B (zh) 一种绘图方法、存储介质及应用服务器
JP2990286B2 (ja) マルチスレッド環境の計算機システム
Foley A tutorial on satellite graphics systems
CN112162840A (zh) 一种基于中断重入机制的协程处理及管理方法
CN108572859A (zh) 一种可配置的执行程序系统及其控制方法
WO2014110701A1 (zh) 独立主动构件和可运行主动构件组装模型及构件拆分方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant