基于EP7312的新型嵌入式系統(tǒng)的實現(xiàn)
通過響應(yīng)鼠標(biāo)事件將圖形和相應(yīng)的事件關(guān)聯(lián)起來。 在viewml應(yīng)用層中原有兩個函數(shù)static int send(fl_widget* o, int event) :向http發(fā)送請求并將請求事例放入隊列;int vmlappwindow::handle(int event):調(diào)用線程對事例隊列進(jìn)行處理。除了實例化上面定義的函數(shù),在這里還加入處理網(wǎng)頁的保存,后退,前進(jìn)的函數(shù)都要用到的函數(shù)int vmlappwindow::temp(int event),其功能是臨時保存網(wǎng)頁。其處理流程為: (1)在處理事例隊列為非空時,從隊列中取出一處理過的http請求 (2)將http請求結(jié)果用html三步:tokenizer , htnl-parser , html-layout進(jìn)行處理 (3)把http處理的結(jié)果加入臨時保存隊列中 (4)從處理事例隊列中刪除此請求結(jié)果 隊列采用鏈表實現(xiàn),當(dāng)需要從當(dāng)前頁面后退時,其處理流程為: (1)捕獲鼠標(biāo)事件 (2)從隊首搜索至工作指針的下一個元素為當(dāng)前指針時,當(dāng)前指針后退 (3)將當(dāng)前指針?biāo)赶虻脑卣{(diào)用html引擎處理 前進(jìn)和刷新功能實現(xiàn)流程與后退類似,這里就不贅敘了。保存當(dāng)前htm法略微復(fù)雜些,因為在保存頁面時還要同時保存頁面中的圖像文件,算法如下: (1)輸入存盤路徑和文件名 (2)對文件名進(jìn)行自動處理如加上后綴htm,創(chuàng)建一個目錄,以files為后綴存放圖形文件 (3)從臨時保存隊列中取當(dāng)前指針,指針為非頭指針時取其所指向html文件,處理文件。 (4)將文件存入磁盤 基于嵌入式系統(tǒng)的硬件條件有限,無存儲量大的磁盤等設(shè)備.,且flash或rom等存儲介質(zhì)的價格相對于臺式機(jī)上使用的硬盤﹑光盤等是比較昂貴的 。所以嵌入式系統(tǒng)只能以小巧且高效來贏得市場。完善了窗口功能的系統(tǒng)完全能滿足大部分用戶的應(yīng)用需求了。 4 結(jié)束語 參考文獻(xiàn) |