專利名稱:嵌入式gui環(huán)境下實(shí)現(xiàn)輸入法疊加的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式系統(tǒng)技術(shù),特別涉及嵌入式系統(tǒng)中輸入法的技術(shù)。
背景技術(shù):
嵌入式系統(tǒng)一般都有圖形用戶接口GUI,且嵌入式系統(tǒng)LCD顯示驅(qū)動(dòng)都有一個(gè) FrameBuf f er用于直接寫屏,F(xiàn)rameBuf f er是linux內(nèi)核當(dāng)中的一種驅(qū)動(dòng)程序接口 ,這種接口 將顯示設(shè)備抽象為幀緩沖區(qū)。因此應(yīng)該說是一種操作圖形的設(shè)備,可以稱為幀緩沖設(shè)備,但 有些GUI功能很弱,如不支持基本控件(沒有編輯框)、沒有輸入法、在電視上顯示刷新過 快造成閃屏等等問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題,就是為了解決上述嵌入式系統(tǒng)在GUI環(huán)境下沒有輸入法的 缺點(diǎn),提供一種可以在不修改原GUI的情況下擴(kuò)充輸入法的嵌入式GUI環(huán)境下實(shí)現(xiàn)輸入法疊加 的方法。
本發(fā)明解決其技術(shù)問題,采用的技術(shù)方案是,嵌入式GUI環(huán)境下實(shí)現(xiàn)輸入法疊加的方法 ,其特征在于,包括以下步驟
a. 在內(nèi)存中分配一塊區(qū)域作為虛擬幀緩沖設(shè)備用來代替原GUI圖層物理顯示地址的幀緩 沖設(shè)備(即物理幀緩沖設(shè)備),GUI繪圖結(jié)果直接送到虛擬幀緩沖設(shè)備;
b. 在內(nèi)存中分配一塊區(qū)域給輸入法圖層,稱為輸入法幀緩沖設(shè)備;
c. GUI繪圖結(jié)束后,判斷輸入法是否處于打開狀態(tài),若不是則進(jìn)入d步驟,若是則進(jìn)入e 步驟;
d. 將虛擬幀緩沖設(shè)備數(shù)據(jù)送到原GUI圖層物理顯示地址幀緩沖設(shè)備,再進(jìn)入f步驟;
e. 將虛擬幀緩沖設(shè)備數(shù)據(jù)送到原GUI圖層物理顯示地址的幀緩沖設(shè)備并將輸入法幀緩沖 設(shè)備數(shù)據(jù)送到原GUI圖層物理顯示地址的幀緩沖設(shè)備,再進(jìn)入f步驟;
f. 對(duì)原GUI圖層物理顯示地址的幀緩沖設(shè)備的數(shù)據(jù)進(jìn)行顯示; 進(jìn)一步的,步驟a中所述虛擬幀緩沖設(shè)備的大小計(jì)算公式為
虛擬幀緩沖設(shè)備大小=屏幕寬X屏幕高X每像素字節(jié)數(shù); 具體的,步驟b所述輸入法幀緩沖設(shè)備的大小計(jì)算公式為 輸入法幀緩沖設(shè)備大小=輸入法窗口寬X輸入法窗口高X每像素字節(jié)數(shù);
再進(jìn)一步的,在輸入法實(shí)現(xiàn)時(shí)使用GUI的中英文字庫。
本發(fā)明的有益效果是,通過以上步驟可以增加一個(gè)帶繪圖引擎的輸入法,通過和原GUI 圖層疊加實(shí)現(xiàn)顯示輸出,從而達(dá)到增加輸入法的目的,這樣做可以不修改原GUI接口就增加 了新的輸入功能,改動(dòng)小,易實(shí)現(xiàn)。
圖l為實(shí)施例的系統(tǒng)流程具體實(shí)施例方式
下面結(jié)合附圖及實(shí)施例,詳細(xì)描述本發(fā)明的技術(shù)方案。
本發(fā)明提供了一種可以在嵌入式系統(tǒng)中不修改原GUI的情況下擴(kuò)充輸入法的方法,首先 在內(nèi)存中分配一塊區(qū)域作為虛擬幀緩沖設(shè)備用來代替原GUI圖層物理顯示地址的幀緩沖設(shè)備 ,GUI繪圖結(jié)果直接送到虛擬幀緩沖設(shè)備,并在內(nèi)存中分配一塊區(qū)域給輸入法圖層,稱為輸 入法幀緩沖設(shè)備,再在GUI繪圖結(jié)束后,判斷輸入法是否處于打開狀態(tài),若不是則僅將虛擬 幀緩沖設(shè)備數(shù)據(jù)送到原GUI圖層物理顯示地址的幀緩沖設(shè)備,若是則將虛擬幀緩沖設(shè)備數(shù)據(jù) 送到原GUI圖層物理顯示地址的幀緩沖設(shè)備并將輸入法幀緩沖設(shè)備數(shù)據(jù)送到原GUI圖層物理顯 示地址的幀緩沖設(shè)備,最后再按現(xiàn)有技術(shù)對(duì)原GUI圖層物理顯示地址的幀緩沖設(shè)備的數(shù)據(jù)進(jìn) 行顯示。
實(shí)施例
本例提供一種嵌入式GUI環(huán)境下實(shí)現(xiàn)輸入法疊加的方法,并在輸入法實(shí)現(xiàn)時(shí)使用GUI的中 英文字庫,其系統(tǒng)流程圖如圖l。
首先,將原GUI圖層物理顯示地址的幀緩沖設(shè)備用一塊內(nèi)存地址代替,本例不直接使用 GUI圖層的物理顯示地址的幀緩沖設(shè)備寫屏,而在內(nèi)存中分配一塊區(qū)域,可稱為虛擬幀緩沖 設(shè)備,GUI繪圖結(jié)果直接送到虛擬幀緩沖設(shè)備,這塊內(nèi)存的大小計(jì)算公式為
虛擬幀緩沖設(shè)備大小=屏幕寬X屏幕高X每像素字節(jié)數(shù)
輸入法圖層也是在內(nèi)存中分配,這塊區(qū)域可稱為輸入法幀緩沖設(shè)備,其大小的計(jì)算公式
為
輸入法幀緩沖設(shè)備大小=輸入法窗口寬X輸入法窗口高X每像素字節(jié)數(shù);
然后當(dāng)GUI繪圖結(jié)束后,判斷輸入法是否處于打開狀態(tài),如果沒有打開則僅將虛擬幀緩 沖設(shè)備數(shù)據(jù)送到原GUI圖層物理顯示地址幀緩沖設(shè)備,如果輸入法打開則將虛擬幀緩沖設(shè)備 數(shù)據(jù)送到原GUI圖層物理顯示地址幀緩沖設(shè)備再將輸入法幀緩沖設(shè)備數(shù)據(jù)送到原GUI圖層物理 顯示地址的幀緩沖設(shè)備,輸入法狀態(tài)可用一個(gè)變量如IsImeOpened標(biāo)識(shí),這樣關(guān)閉和打開輸
入法只需要將此變量置為1或0就可以,實(shí)現(xiàn)起來比較簡(jiǎn)單,且判斷起來比較方便,最后按現(xiàn) 有技術(shù)對(duì)原GUI圖層物理顯示地址的幀緩沖設(shè)備的數(shù)據(jù)進(jìn)行顯示。輸入法引擎和GUI繪圖引擎 可共享部分變量甚至函數(shù),以節(jié)省內(nèi)存消耗,如在輸入法實(shí)現(xiàn)時(shí)使用GUI的中英文字庫。
權(quán)利要求
1.嵌入式GUI環(huán)境下實(shí)現(xiàn)輸入法疊加的方法,其特征在于,包括以下步驟a.在內(nèi)存中分配一塊區(qū)域作為虛擬幀緩沖設(shè)備用來代替原GUI圖層物理顯示地址的幀緩沖設(shè)備,GUI繪圖結(jié)果直接送到虛擬幀緩沖設(shè)備;b.在內(nèi)存中分配一塊區(qū)域給輸入法圖層,稱為輸入法幀緩沖設(shè)備;c.GUI繪圖結(jié)束后,判斷輸入法是否處于打開狀態(tài),若不是則進(jìn)入d步驟,若是則進(jìn)入e步驟;d.將虛擬幀緩沖設(shè)備數(shù)據(jù)送到原GUI圖層物理顯示地址的幀緩沖設(shè)備,再進(jìn)入f步驟;e.將虛擬幀緩沖設(shè)備數(shù)據(jù)送到原GUI圖層物理顯示地址的幀緩沖設(shè)備并將輸入法幀緩沖設(shè)備數(shù)據(jù)送到原GUI圖層物理顯示地址的幀緩沖設(shè)備,再進(jìn)入f步驟;f.對(duì)原GUI圖層的物理顯示地址幀緩沖設(shè)備的數(shù)據(jù)進(jìn)行顯示。
2.根據(jù)權(quán)利要求1所述嵌入式GUI環(huán)境下實(shí)現(xiàn)輸入法疊加的方法,其 特征在于,步驟a中所述虛擬幀緩沖設(shè)備的大小計(jì)算公式為 虛擬幀緩沖設(shè)備大小=屏幕寬X屏幕高X每像素字節(jié)數(shù)。
3.根據(jù)權(quán)利要求1所述嵌入式GUI環(huán)境下實(shí)現(xiàn)輸入法疊加的方法,其 特征在于,步驟b所述輸入法幀緩沖設(shè)備的大小計(jì)算公式為輸入法幀緩沖設(shè)備大小=輸入法窗口寬X輸入法窗口高X每像素字節(jié)數(shù)。
4.根據(jù)權(quán)利要求l、 2或3所述嵌入式GUI環(huán)境下實(shí)現(xiàn)輸入法疊加的方 法,其特征在于,在輸入法實(shí)現(xiàn)時(shí)使用GUI的中英文字庫。
全文摘要
本發(fā)明涉及嵌入式系統(tǒng)技術(shù),解決了嵌入式系統(tǒng)在GUI環(huán)境下沒有輸入法的缺點(diǎn),提供了一種嵌入式GUI環(huán)境下實(shí)現(xiàn)輸入法疊加的方法,其技術(shù)方案概括為首先在內(nèi)存中分配一塊區(qū)域作為虛擬幀緩沖設(shè)備用來代替原GUI圖層物理顯示地址的幀緩沖設(shè)備,并在內(nèi)存中分配一塊區(qū)域給輸入法圖層,再在GUI繪圖結(jié)束后,判斷輸入法是否打開,若不是則僅將虛擬幀緩沖設(shè)備數(shù)據(jù)送到物理幀緩沖設(shè)備,若是則將虛擬幀緩沖設(shè)備數(shù)據(jù)及輸入法幀緩沖設(shè)備數(shù)據(jù)都送到物理幀緩沖設(shè)備,最后按現(xiàn)有技術(shù)對(duì)數(shù)據(jù)進(jìn)行顯示。其有益效果是,改動(dòng)小,易實(shí)現(xiàn),適用于帶GUI的嵌入式系統(tǒng)。
文檔編號(hào)G06F9/44GK101344849SQ200810304138
公開日2009年1月14日 申請(qǐng)日期2008年8月22日 優(yōu)先權(quán)日2008年8月22日
發(fā)明者任子義 申請(qǐng)人:四川長虹電器股份有限公司