嵌入式桌面環(huán)境的研究與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-05-12 07:53
【摘要】: 隨著嵌入式應(yīng)用的日益普及,業(yè)界對(duì)嵌入式操作系統(tǒng)用戶界面美觀性等諸多方面提出了更高的要求,而桌面環(huán)境為操作系統(tǒng)提供一個(gè)更加完善的界面以及大量各類整合工具和應(yīng)用程序,由于嵌入式系統(tǒng)軟硬資源的局限性,臺(tái)式機(jī)上成熟、龐大的桌面系統(tǒng)不適合應(yīng)用到嵌入式設(shè)備上。在嵌入式設(shè)備上研究與實(shí)現(xiàn)輕量級(jí)的桌面環(huán)境具有十分重要的現(xiàn)實(shí)意義。 基于圖形系統(tǒng)clearX的嵌入式桌面環(huán)境JLEDE(Jinglun Embedded Desktop Environment),在遵循桌面環(huán)境協(xié)議的基礎(chǔ)上,對(duì)嵌入式桌面環(huán)境進(jìn)行總體設(shè)計(jì),劃分為窗口管理器和桌面管理器兩大功能模塊。 窗口管理器模塊分為窗口管理、窗口堆棧維護(hù)和窗口主題風(fēng)格變換模塊:在窗口管理模塊中負(fù)責(zé)對(duì)不同窗口類型設(shè)置不同的操作方法,處理用戶事件,完成事件分發(fā)和處理;在窗口堆棧維護(hù)模塊中對(duì)不同類型的窗口以及具有不同狀態(tài)的窗口進(jìn)行維護(hù),并且實(shí)現(xiàn)活動(dòng)窗口和焦點(diǎn)窗口的設(shè)置;在窗口主題風(fēng)格變換模塊中實(shí)現(xiàn)用戶對(duì)窗口風(fēng)格的定制,提供窗口主題風(fēng)格變化功能。 桌面管理器模塊分為桌面快捷圖標(biāo)、系統(tǒng)托盤、鼠標(biāo)拖拽管理和剪貼板管理四個(gè)模塊:在桌面快捷圖標(biāo)模塊中設(shè)計(jì)擴(kuò)展控件來支持多個(gè)桌面顯示;在系統(tǒng)托盤模塊中顯示指示特定狀態(tài)的瞬時(shí)圖標(biāo),與長(zhǎng)駐于系統(tǒng)托盤上的圖標(biāo),以及一些消息菜單;在鼠標(biāo)拖拽管理模塊中遵循鼠標(biāo)拖拽協(xié)議(X Drag And Drop),支持用戶進(jìn)行鼠標(biāo)拖拽操作;在剪貼板管理模塊中,基于對(duì)X窗口選擇機(jī)制的分析,支持不同應(yīng)用程序之間的剪貼板管理。
【圖文】:
窗口在X窗口系統(tǒng)的堆棧順序的客戶程序,圖3.1給出了窗口管理器在窗口系統(tǒng)中的地位。它的主要功能包括管理應(yīng)用程序創(chuàng)建的頂層窗口(如移動(dòng)客戶窗口,改變客戶窗口大小、關(guān)閉客戶窗口等操作),維護(hù)頂層窗口堆棧順序,對(duì)頂層窗口進(jìn)行外觀修飾等。圖3.1窗口管理器在窗口系統(tǒng)中的地位
雙向鏈表來記錄活動(dòng)窗口出現(xiàn)的的順序,提升窗口并設(shè)置該窗口為活動(dòng)窗口時(shí),只需在該雙向鏈表中把對(duì)應(yīng)的容器窗口節(jié)點(diǎn)移動(dòng)到鏈表的表頭,同時(shí)改變?nèi)萜鞔翱谠诖翱诙褩V械捻樞。圖3.4給出了ButtonPress事件處理流程圖。圖3.4 ButtonPress事件處理流程2.MotionNotify事件處理模塊判斷當(dāng)前窗口是否為活動(dòng)窗口,如果不是,結(jié)束對(duì)該事件的處理;如果是,判斷鼠標(biāo)位于容器窗口的位置,如果鼠標(biāo)位置位于容器窗口的標(biāo)題欄,則用戶將移動(dòng)窗口,記錄下鼠標(biāo)的坐標(biāo)值,根據(jù)鼠標(biāo)坐標(biāo)值的偏移來移動(dòng)窗口;如果鼠標(biāo)位置位于容器窗口的邊框和四周的邊角,則用戶將改變窗口的大小,記錄下鼠標(biāo)的坐標(biāo)值,根據(jù)鼠標(biāo)坐標(biāo)值的偏移和鼠標(biāo)位于容器窗口的位置來計(jì)算窗口要發(fā)生的寬度和高度的偏移。圖3.5給出了MotionNotify事件處理流程圖。3.ButtonRelease事件處理模塊判斷當(dāng)前窗口是否為活動(dòng)窗口,如果不是,結(jié)束對(duì)該事件的處理;如果是,判斷鼠標(biāo)位于容器窗口的位置,如果鼠標(biāo)位于容器窗口的關(guān)閉按鈕上,則應(yīng)關(guān)閉客戶窗口;如果位于容器窗口的最小化按鈕上
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2009
【分類號(hào)】:TP368.12
【圖文】:
窗口在X窗口系統(tǒng)的堆棧順序的客戶程序,圖3.1給出了窗口管理器在窗口系統(tǒng)中的地位。它的主要功能包括管理應(yīng)用程序創(chuàng)建的頂層窗口(如移動(dòng)客戶窗口,改變客戶窗口大小、關(guān)閉客戶窗口等操作),維護(hù)頂層窗口堆棧順序,對(duì)頂層窗口進(jìn)行外觀修飾等。圖3.1窗口管理器在窗口系統(tǒng)中的地位
雙向鏈表來記錄活動(dòng)窗口出現(xiàn)的的順序,提升窗口并設(shè)置該窗口為活動(dòng)窗口時(shí),只需在該雙向鏈表中把對(duì)應(yīng)的容器窗口節(jié)點(diǎn)移動(dòng)到鏈表的表頭,同時(shí)改變?nèi)萜鞔翱谠诖翱诙褩V械捻樞。圖3.4給出了ButtonPress事件處理流程圖。圖3.4 ButtonPress事件處理流程2.MotionNotify事件處理模塊判斷當(dāng)前窗口是否為活動(dòng)窗口,如果不是,結(jié)束對(duì)該事件的處理;如果是,判斷鼠標(biāo)位于容器窗口的位置,如果鼠標(biāo)位置位于容器窗口的標(biāo)題欄,則用戶將移動(dòng)窗口,記錄下鼠標(biāo)的坐標(biāo)值,根據(jù)鼠標(biāo)坐標(biāo)值的偏移來移動(dòng)窗口;如果鼠標(biāo)位置位于容器窗口的邊框和四周的邊角,則用戶將改變窗口的大小,記錄下鼠標(biāo)的坐標(biāo)值,根據(jù)鼠標(biāo)坐標(biāo)值的偏移和鼠標(biāo)位于容器窗口的位置來計(jì)算窗口要發(fā)生的寬度和高度的偏移。圖3.5給出了MotionNotify事件處理流程圖。3.ButtonRelease事件處理模塊判斷當(dāng)前窗口是否為活動(dòng)窗口,如果不是,結(jié)束對(duì)該事件的處理;如果是,判斷鼠標(biāo)位于容器窗口的位置,如果鼠標(biāo)位于容器窗口的關(guān)閉按鈕上,則應(yīng)關(guān)閉客戶窗口;如果位于容器窗口的最小化按鈕上
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2009
【分類號(hào)】:TP368.12
【參考文獻(xiàn)】
相關(guān)期刊論文 前10條
1 曹毅;李德玉;;基于Qt/Embedded的嵌入式桌面環(huán)境的研究與實(shí)現(xiàn)[J];西南民族大學(xué)學(xué)報(bào)(自然科學(xué)版);2006年06期
2 夏琳,張光顯,張麗娟;基于Linux操作系統(tǒng)的嵌入式GUI及其設(shè)計(jì)改進(jìn)[J];現(xiàn)代電子技術(shù);2004年21期
3 劉興國(guó),陽富民,胡貫榮;嵌入式Linux控件庫的研究與改造[J];計(jì)算機(jī)工程與設(shè)計(jì);2004年05期
4 陳l,
本文編號(hào):2659897
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/2659897.html
最近更新
教材專著