论文部分内容阅读
近年来,嵌入式系统得到迅猛的发展,嵌入式技术的研究成为当今的一个热点话题。随着市场需求的不断扩大及硬件成本的下降,越来越多的嵌入式系统开始提供方便用户操作的图形用户界面。嵌入式系统的开发者希望能利用一种成熟的图形中间件缩短用户界面开发的时间,提高界面的开发效率。本文对国内外比较成熟的几种嵌入式图形中间件进行了比较,分析了中间件的整体架构及子层的功能,深入的研究了嵌入式图形中间件的消息机制、剪切域原理、窗口结构和管理等技术,并在后面的章节中详细介绍了本文所研究的一种嵌入式图形中间件—EplGUI的实现过程。传统嵌入式图形中间件往往由PC上的GUI精简而来,本文分析了这种中间件结构应用于资源有限的嵌入式设备上时的种种弊端,将消息机制与面向对象技术进行有机的结合,提出了一种新的中间件结构并应用于EplGUI,使得在主窗口级别的控件不再拘泥于固定而又冗长的某种控件结构体,在保证效率的同时又占用极少的内存。对于控件数非常多而又呈规则排列的子窗口,允许其定义自己的消息路由函数从而大大提高消息分发的速度。为了在嵌入式设备上显示不规则窗口,本文对Leonov的多边形布尔运算算法进行改进,修正了应用于多边形窗口剪切域时包含多于边界的情况,可以用于高端的嵌入式设备实现复杂形状的窗口。针对中低端嵌入式设备使用的矩形剪切域计算及存储量较大的问题,本文提出了一种平均时间和空间复杂度较低的剪切域切换算法,该算法简单实用,可有效保障活跃窗口的切换效率并且节省内存。最后,本文详细介绍了EplGUI中各种控件的实现,对于简单控件可以仅仅响应少数消息而无需拥有复杂的窗口结构,对于复杂控件可以采用面向对象技术从已有的控件进行扩展得到。针对嵌入式系统中使用最多的列表框,本文提出的数据处理抽象层可以有效减少内存碎片,提高嵌入式系统的稳定性。