天天看點

DJYGUI系列文章一:DJYGUI圖形系統介紹

作者:DJYOS王建忠

1 DJYGUI介紹

DJYGUI在2009年已經建構初代架構,在2010年到2012年開發和實作。DJYGUI是運作在DJYOS的一個圖形系統,包括GK(圖形核心)、GKLIB(GK函數庫)和GDD(圖形裝飾平台)三大元件。圖形系統子產品架構圖,如圖1-1:

DJYGUI系列文章一:DJYGUI圖形系統介紹

圖1-1 DJYGUI圖形引擎子產品架構圖

DJYGUI是完全和DJYOS核心比對的圖形系統,DJYOS的強大實時性和類腦事件排程屬性,使DJYGUI具有一般圖形系統不具備的一些功能,後續陸續詳細介紹。

在DJYGUI系統中,總體架構及層次關系如圖 1-2所示。

DJYGUI系列文章一:DJYGUI圖形系統介紹

圖 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所示:

DJYGUI系列文章一:DJYGUI圖形系統介紹

圖 4-1 GDD在Djyos系統中層次示意圖

繼續閱讀