適用于移動終端的GUI設(shè)計與實現(xiàn)
在常見的移動終端等小型手持式設(shè)備上,由于硬件條件等的限制,我們看到的用戶界面都非常簡單,幾乎看不到PC機上華麗美觀的GUI 支持。隨著硬件條件的提高,移動終端的嵌入式系統(tǒng)對輕量級GUI的需求會越來越迫切。
本文引用地址:http://m.butianyuan.cn/article/152498.htm用戶界面是指計算機與其使用者之間的對話接口[1],它為用戶提供與應(yīng)用系統(tǒng)交互的可視化通道,同時為程序員提供了一種編程模式,即GUI負責(zé)系統(tǒng)的可視化界面的生成、管理以及系統(tǒng)與用戶之間的信息交互[2-3],而程序員只需專注于對實際應(yīng)用的分析。
圖1顯示大部分移動終端軟件的系統(tǒng)架構(gòu),由圖可以清晰看出,GUI在移動終端系統(tǒng)中扮演著很重要的角色,它運行在操作系統(tǒng)抽象層(OSAL)之上,為應(yīng)用程序提供基于消息機制的圖形用戶界面編程接口。GUI與其它一些應(yīng)用引擎一起為實現(xiàn)豐富的移動終端應(yīng)用而提供支持,從而將應(yīng)用程序的計算部分與界面分離開來,這樣就充分保證了根據(jù)不同需求快速定制出功能強大界面豐富的應(yīng)用程序界面。
圖1 移動終端軟件架構(gòu)
2. GUI層次結(jié)構(gòu)
從整體結(jié)構(gòu)上看GUI是分層設(shè)計的,其主要成分為層次結(jié)構(gòu)見圖2,它的主要組成部分是 :顯示驅(qū)動、GDI接口、消息隊列和窗口管理四部分。
圖2. GUI層次結(jié)構(gòu)
2.1 顯示驅(qū)動
顯示設(shè)備和打印設(shè)備一同組成圖形設(shè)備,圖形設(shè)備抽象層(GAL)定義了一組不依賴于任何特殊硬件的抽象接口,所有頂層的圖形操作都建立在抽象接口之上。而用于實現(xiàn)這一抽象接口的底層代碼類似操作系統(tǒng)中的驅(qū)動程序。
顯示設(shè)備驅(qū)動作為GUI最底層驅(qū)動,通過顯示設(shè)備驅(qū)動程序接口(DDI)給上層GDI函數(shù)一些基礎(chǔ)的功能和設(shè)施。可以看成是GDI的圖形驅(qū)動程序,并將底層圖形設(shè)備和上層接口分離開來。
DDI用GAL中的函數(shù)標準結(jié)構(gòu)表示,統(tǒng)一成標準的驅(qū)動接口結(jié)構(gòu),保證顯示對窗口透明。主要DDI函數(shù)包括:對顯示設(shè)備進行初始化,管理顯示內(nèi)存使用和為上層GDI提供映射到物理地址空間以及諸如調(diào)色板等物理地址上的相關(guān)處理。
2.2 GDI接口
GUI系統(tǒng)的一個重要組成部分就是GDI,即圖形設(shè)備接口(Graphics Device Interface)。通過GDI,GUI程序就可以在計算機屏幕上,或者其他的顯示設(shè)備上進行圖形輸出,包括基本繪圖和文本輸出。
GDI重要函數(shù)包括:圖形設(shè)備上下文管理、繪圖函數(shù)和使用GDI對象的函數(shù)
2.2.1圖形設(shè)備上下文管理函數(shù)
評論