一、简介
RT-Thread/GUI是一个图形用户界面(Graphic User Interface),它专为RT-Thread操作系统而开发,并在一些地方采用了RT-Thread特有功能以和RT-Thread无缝的整合起来的。这个图形用户界面组件能够为Rt-Thread上的应用程序提供人机界面交互的功能,例如人机界面设备,设备信息显示,播放器界面等。
二、架构
RT-Thread/GUI采用传统的客户端/服务端(C/S)的结构,但和传统的客户端/服务端构架,把绘画操作放在服务端不同的是,绘画操作完全有客户端自行完成。服务端仅维护着客户端的位置信息。
服务器
在初始化线程中调用rtgui_system_server_init()进行rtgui服务器端的初始化
void rtgui_system_server_init()
{
rt_mutex_init(&_screen_lock, "screen", RT_IPC_FLAG_FIFO);
rtgui_system_image_init(); //初始化图像系统, 其中至少包含硬件DC的注册
rtgui_font_system_init(); //初始化字体系统
/* 从前面液晶的驱动程序得到整个屏幕的大小参数 存在全局变量_mainwin_rect */
rtgui_graphic_driver_get_rect(rtgui_graphic_driver_get_default(),&_mainwin_rect);
rtgui_topwin_init(); //主要是初始化一个双向链表_rtgui_topwin_list
<span style="color:#cc0000;">rtgui_server_init();</span>
rtgui_system_theme_init(); /* init theme */
}
rtgui_server_init()