1 DJYGUI介绍
DJYGUI在2009年已经构建初代框架,在2010年到2012年开发和实现。DJYGUI是运行在DJYOS的一个图形系统,包括GK(图形内核)、GKLIB(GK函数库)和GDD(图形装饰平台)三大组件。图形系统模块框架图,如图1-1:
图1-1 DJYGUI图形引擎模块框架图
DJYGUI是完全和DJYOS内核匹配的图形系统,DJYOS的强大实时性和类脑事件调度属性,使DJYGUI具有一般图形系统不具备的一些功能,后续陆续详细介绍。
在DJYGUI系统中,总体架构及层次关系如图 1-2所示。
图 1-2 DJYGUI总体架构
2 DJYGUI图形内核介绍–GK
GK(GUI KERNEL,即图形内核)是DJYGUI多窗口支持的底层核心,大部分的图形操作如剪切域、多窗口层叠、基本显示等都是在这里完成,它不是一堆显示函数的集合,而是一套比较完善的图形支持系统。
GK提供图形操作的大部分功能,如多窗口管理、多显示器、镜像显示、色彩管理、窗口ROP属性和多种缓冲方式等,同时支持基本的图形绘制,如点、直线、圆、曲线、矩形填充和位图等。因此,GK和GKLIB相结合,形成了一个精致而强大的图形支持系统,特别适合于资源紧张的嵌入式系统,能够为应用程序提供完成中等复杂程度的图形编程。如果系统资源比较丰富,要实现复杂的图形功能,建议再把GDD模块加上。
3 DJYGUI图形内核函数库-GKLib
GKLib是在GK纸上的一系列函数库,用于底层绘制共性图形。
4 DJYGUI图形装饰平台介绍-GDD
GDD(The Graphics decorate designer,图形装饰设计师)是建立在Djyos内核与GK(GUI Kernel)之上的一套图形支持系统。它可向用户提供图形绘制,文字显示,窗口/控件管理,窗口定时器,消息通讯机制,以及对外部输入事件(键盘,鼠标)的处理功能。
在整个系统中,它们的层次关系如图 4-1所示:
图 4-1 GDD在Djyos系统中层次示意图