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系統中層次示意圖