恰當選擇嵌入式Linux環(huán)境下的GUI系統
3. MiniGUI和Micro-Windows的比較
MiniGUI和MicroWindows均為自由軟件,但這兩個(gè)系統的技術(shù)路線(xiàn)卻有所不同。MiniGUI的策略是建立在比較成熟的圖形引擎之上,比如Svgalib和LibGGI,開(kāi)發(fā)的重點(diǎn)在于窗口系統、圖形接口之上。而 MicroWindows的開(kāi)發(fā)重點(diǎn)則在底層的圖形引擎之上,所以可以對裸顯示器直接操作,而窗口系統和圖形接口方面的功能還稍有欠缺。比如說(shuō),MiniGUI有一套用來(lái)支持多字符集和多編碼的函數接口,可以支持各種的字符集,包括GB、BIG5、UNI-CODE等,而 MicroWindows在多字符支持上尚沒(méi)有統一接口。
鏈接
X Window System的分層架構
● X Server
X Window System架構上有一項特點(diǎn)是別的GUI系統所沒(méi)有的,這個(gè)特點(diǎn)就是Client/Server架構,注意這里和一般我們所熟知的某某服務(wù)器(Server端)跟PC端(Client端)相連接的情形是不同的。惟一類(lèi)似的是X Window System本身也是采用網(wǎng)路架構設計。具體而簡(jiǎn)單一點(diǎn)的說(shuō)明就是,X Client可以看作我們在X上執行的軟件,X Server則是負責顯示及傳遞使用者輸入事件(包括鍵盤(pán)、鼠標等硬件裝置的輸入)。
● Graphic Library
我們可以把一幅圖案想象成有成千上萬(wàn)個(gè)細微小點(diǎn)所組成,這種小點(diǎn)的單位通常為pixel,在同一平方單位里這些小點(diǎn)數越高圖案就越清晰、畫(huà)質(zhì)就越好,也就是說(shuō)分辨率或解析率高。事實(shí)上我們要設計的視窗當然不可能是這樣一點(diǎn)一點(diǎn)地畫(huà)上去的,這樣太過(guò)浪費時(shí)間,基于這種觀(guān)念我們就設計出高階一點(diǎn)的函數來(lái)幫助我們解決這個(gè)繁瑣的步驟,例如各類(lèi)視窗編程里用到的畫(huà)點(diǎn)、畫(huà)線(xiàn)、畫(huà)矩形、畫(huà)圓形、畫(huà)不規則形、上色等函數。透過(guò)這些函數是的程序設計者不用去管畫(huà)一條線(xiàn)要幾個(gè)點(diǎn)以及如何讓顯示器顯示等林林總總低階的工作,我們稱(chēng)繪圖相關(guān)的一組函數庫為GUI的基本 Graphic Library。
● Toolkits
有了點(diǎn)、線(xiàn)、面的函數之后,雖然已經(jīng)去除了大半的重復無(wú)聊工作,但是就開(kāi)發(fā)視窗程序來(lái)說(shuō),還是顯得非常沒(méi)有效率,怎么辦呢?只有繼續將構成視窗的抽象元件,如按鈕、卷軸、組合框等各類(lèi)控件抽離出來(lái),重新定義一組更高階的函數庫,在配合上聯(lián)系的語(yǔ)法函數就成立Toolkits這類(lèi)的東西,目前流行的有QT、GTK+等。
● Window Manager
有了Toolkits,我們可以很輕松地建立視窗模塊(X Client),但是每個(gè)視窗模塊只負責自己模塊內的事務(wù),那么不同視窗間的溝通、協(xié)調,例如視窗的切換、放大、縮小等,就沒(méi)有模塊管理了,于是視窗管理員(Window Manager)就應運而生了。
● Internationalization
國際化通常是我們東方語(yǔ)系國家的人比較關(guān)心的議題,但是很多軟件一開(kāi)始都由西方國家所主導開(kāi)發(fā),因此這點(diǎn)常常受到忽略,這個(gè)問(wèn)題牽扯的層面很多,上從語(yǔ)言的顯示、輸入、中止語(yǔ)言習慣,下到文字位元的處理,完整的解決是必須從頭到腳徹底配合才能達成,只處理一半都只能說(shuō)是一個(gè)蹩腳的系統。
隨著(zhù)東方國家使用GUN/Linux的人口越來(lái)越多,I18N(i-eighteen- letters-n的縮寫(xiě))也日益受到重視,目前底層libc部分已經(jīng)有完整的支持,剩下來(lái)便是GUI系統的問(wèn)題,由于處理雙位元所耗的資源較大,西方國家主導的系統很多情況下,經(jīng)過(guò)一些取舍,I18N就被犧牲掉了,整體而言Embedded Linux GUI系統在I18N的程度通常都沒(méi)有PC端的好,只有在需求時(shí)才會(huì )使用。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論