<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式linux系統(tǒng)GUI設(shè)計(jì)方案

          嵌入式linux系統(tǒng)GUI設(shè)計(jì)方案

          作者: 時(shí)間:2010-05-19 來源:網(wǎng)絡(luò) 收藏


          此外,F(xiàn)rameBuffer設(shè)備還提供了若干ioctl命令,通過這些命令可以獲得顯示設(shè)備的一些固定信息(比如顯示內(nèi)存大小)以及與顯示模式相關(guān)的可變信息(比如分辨率、象素結(jié)構(gòu)、掃描線的字節(jié)寬度),同時(shí)可獲得偽彩色模式下的調(diào)色板信息等。

          3 的自主開發(fā)

          的總體思想是把所有操作都由對象和消息驅(qū)動,通過對現(xiàn)有的分析來對多種應(yīng)用根據(jù)GUI的要求進(jìn)行總結(jié),然后抽象出各種組件類。GUI的所有組件和數(shù)據(jù)都被成對象,組件對象通過消息來通信。嵌入式GUI在消息驅(qū)動下可形成整體并構(gòu)成。其整體框架和體系結(jié)構(gòu)如圖2所示。



          系統(tǒng)中的所有消息節(jié)點(diǎn)將構(gòu)成空閑隊(duì)列和消息隊(duì)列,其中消息隊(duì)列存放當(dāng)前EGUI系統(tǒng)中沒有處理的消息。消息隊(duì)列由消息管理器進(jìn)行操作和管理。圖2中的輸入設(shè)備抽象層、操作系統(tǒng)抽象層和組件對象集合都是消息發(fā)生器,它們都會產(chǎn)生EGUI消息。調(diào)用消息管理器的操作可將生成的消息放入到消息隊(duì)列中。消息管理器用于管理消息隊(duì)列和空閑隊(duì)列,當(dāng)有消息產(chǎn)生時(shí),消息管理器將執(zhí)行消息入隊(duì)PUSH ()操作,其處理過程是先從空閑隊(duì)列中摘下一個(gè)節(jié)點(diǎn),形成一個(gè)消息節(jié)點(diǎn),再將它掛到消息隊(duì)列的隊(duì)尾。桌面對象管理器負(fù)責(zé)分發(fā)消息,它可通過調(diào)用消息管理器的出隊(duì)操作POP()來取得待處理的消息,處理過程是將消息隊(duì)列的第一個(gè)消息節(jié)點(diǎn)摘下,并取得該消息節(jié)點(diǎn)的信息,然后將該消息節(jié)點(diǎn)掛到空閑隊(duì)列的隊(duì)尾。桌面對象管理器取得消息后,將按照一定的策略對取得的消息進(jìn)行分發(fā),并讓接收該消息的組件對象中的消息處理函數(shù)來處理該消息。分發(fā)消息時(shí),如果消息指定了接收對象,則將消息路由到接收對象;而非鍵盤的系統(tǒng)消息。將被路由到桌面對象管理器的第一個(gè)子對象;對于用戶定義的消息,系統(tǒng)會將其路由到指定的對象。而組件對象處理消息時(shí),如果處理操作要改變屏幕數(shù)據(jù),組件對象將調(diào)用繪圖操作Draw重繪自己的外觀。整個(gè)系統(tǒng)就是這樣不斷地產(chǎn)生消息、分發(fā)消息、處理消息,從而形成一個(gè)無限循環(huán),同時(shí)驅(qū)動EGUI運(yùn)行。

          4 結(jié)束語

          針對當(dāng)前嵌入式GUI的特點(diǎn),本文給出了可支持漢字顯示、鍵盤輸入的多線程嵌入式GUI系統(tǒng)的方法。該方法設(shè)計(jì)的系統(tǒng)采用窗口模式,而且便于操作,同時(shí)具有可視化界面、操作靈活、資源占用少等優(yōu)點(diǎn),并可支持JPG格式的圖像文件。

          本文引用地址:http://www.ex-cimer.com/article/151859.htm
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();