新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 恰當選擇嵌入式Linux環境下的GUI系統

        恰當選擇嵌入式Linux環境下的GUI系統

        作者: 時間:2012-04-05 來源:網絡 收藏

        3. MiniGUI和Micro-Windows的比較

        MiniGUI和MicroWindows均為自由軟件,但這兩個系統的技術路線卻有所不同。MiniGUI的策略是建立在比較成熟的圖形引擎之上,比如Svgalib和LibGGI,開發的重點在于窗口系統、圖形接口之上。而 MicroWindows的開發重點則在底層的圖形引擎之上,所以可以對裸顯示器直接操作,而窗口系統和圖形接口方面的功能還稍有欠缺。比如說,MiniGUI有一套用來支持多字符集和多編碼的函數接口,可以支持各種的字符集,包括GB、BIG5、UNI-CODE等,而 MicroWindows在多字符支持上尚沒有統一接口。

        鏈接

        X Window System的分層架構

        ● X Server

        X Window System架構上有一項特點是別的所沒有的,這個特點就是Client/Server架構,注意這里和一般我們所熟知的某某服務器(Server端)跟PC端(Client端)相連接的情形是不同的。惟一類似的是X Window System本身也是采用網路架構設計。具體而簡單一點的說明就是,X Client可以看作我們在X上執行的軟件,X Server則是負責顯示及傳遞使用者輸入事件(包括鍵盤、鼠標等硬件裝置的輸入)。

        ● Graphic Library

        我們可以把一幅圖案想象成有成千上萬個細微小點所組成,這種小點的單位通常為pixel,在同一平方單位里這些小點數越高圖案就越清晰、畫質就越好,也就是說分辨率或解析率高。事實上我們要設計的視窗當然不可能是這樣一點一點地畫上去的,這樣太過浪費時間,基于這種觀念我們就設計出高階一點的函數來幫助我們解決這個繁瑣的步驟,例如各類視窗編程里用到的畫點、畫線、畫矩形、畫圓形、畫不規則形、上色等函數。透過這些函數是的程序設計者不用去管畫一條線要幾個點以及如何讓顯示器顯示等林林總總低階的工作,我們稱繪圖相關的一組函數庫為GUI的基本 Graphic Library。

        ● Toolkits

        有了點、線、面的函數之后,雖然已經去除了大半的重復無聊工作,但是就開發視窗程序來說,還是顯得非常沒有效率,怎么辦呢?只有繼續將構成視窗的抽象元件,如按鈕、卷軸、組合框等各類控件抽離出來,重新定義一組更高階的函數庫,在配合上聯系的語法函數就成立Toolkits這類的東西,目前流行的有QT、GTK+等。

        ● Window Manager

        有了Toolkits,我們可以很輕松地建立視窗模塊(X Client),但是每個視窗模塊只負責自己模塊內的事務,那么不同視窗間的溝通、協調,例如視窗的切換、放大、縮小等,就沒有模塊管理了,于是視窗管理員(Window Manager)就應運而生了。

        ● Internationalization

        國際化通常是我們東方語系國家的人比較關心的議題,但是很多軟件一開始都由西方國家所主導開發,因此這點常常受到忽略,這個問題牽扯的層面很多,上從語言的顯示、輸入、中止語言習慣,下到文字位元的處理,完整的解決是必須從頭到腳徹底配合才能達成,只處理一半都只能說是一個蹩腳的系統。

        隨著東方國家使用GUN/Linux的人口越來越多,I18N(i-eighteen- letters-n的縮寫)也日益受到重視,目前底層libc部分已經有完整的支持,剩下來便是的問題,由于處理雙位元所耗的資源較大,西方國家主導的系統很多情況下,經過一些取舍,I18N就被犧牲掉了,整體而言Embedded Linux 在I18N的程度通常都沒有PC端的好,只有在需求時才會使用。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 稻城县| 年辖:市辖区| 万年县| 岳池县| 北川| 定南县| 琼中| 安陆市| 麻江县| 东山县| 湄潭县| 柳江县| 平和县| 绩溪县| 苏尼特右旗| 白朗县| 杨浦区| 安国市| 塘沽区| 道孚县| 阳东县| 阜南县| 同心县| 自治县| 黑山县| 忻城县| 建平县| 耒阳市| 惠安县| 天峻县| 咸宁市| 荔浦县| 南投市| 蚌埠市| 田阳县| 中江县| 雅安市| 崇文区| 太仓市| 盘锦市| 板桥市|