<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 恰當選擇嵌入式Linux環(huán)境下的GUI系統

恰當選擇嵌入式Linux環(huán)境下的GUI系統

作者: 時(shí)間:2012-04-05 來(lái)源:網(wǎng)絡(luò ) 收藏

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)是別的所沒(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)便是的問(wèn)題,由于處理雙位元所耗的資源較大,西方國家主導的系統很多情況下,經(jīng)過(guò)一些取舍,I18N就被犧牲掉了,整體而言Embedded Linux 在I18N的程度通常都沒(méi)有PC端的好,只有在需求時(shí)才會(huì )使用。

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

上一頁(yè) 1 2 3 4 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>