嵌入式gui环境下实现输入法叠加的方法

文档序号:6472545阅读:306来源:国知局
专利名称:嵌入式gui环境下实现输入法叠加的方法
技术领域
本发明涉及嵌入式系统技术,特别涉及嵌入式系统中输入法的技术。
背景技术
嵌入式系统一般都有图形用户接口GUI,且嵌入式系统LCD显示驱动都有一个 FrameBuf f er用于直接写屏,FrameBuf f er是linux内核当中的一种驱动程序接口 ,这种接口 将显示设备抽象为帧缓冲区。因此应该说是一种操作图形的设备,可以称为帧缓冲设备,但 有些GUI功能很弱,如不支持基本控件(没有编辑框)、没有输入法、在电视上显示刷新过 快造成闪屏等等问题。

发明内容
本发明所要解决的技术问题,就是为了解决上述嵌入式系统在GUI环境下没有输入法的 缺点,提供一种可以在不修改原GUI的情况下扩充输入法的嵌入式GUI环境下实现输入法叠加 的方法。
本发明解决其技术问题,采用的技术方案是,嵌入式GUI环境下实现输入法叠加的方法 ,其特征在于,包括以下步骤
a. 在内存中分配一块区域作为虚拟帧缓冲设备用来代替原GUI图层物理显示地址的帧缓 冲设备(即物理帧缓冲设备),GUI绘图结果直接送到虚拟帧缓冲设备;
b. 在内存中分配一块区域给输入法图层,称为输入法帧缓冲设备;
c. GUI绘图结束后,判断输入法是否处于打开状态,若不是则进入d步骤,若是则进入e 步骤;
d. 将虚拟帧缓冲设备数据送到原GUI图层物理显示地址帧缓冲设备,再进入f步骤;
e. 将虚拟帧缓冲设备数据送到原GUI图层物理显示地址的帧缓冲设备并将输入法帧缓冲 设备数据送到原GUI图层物理显示地址的帧缓冲设备,再进入f步骤;
f. 对原GUI图层物理显示地址的帧缓冲设备的数据进行显示; 进一步的,步骤a中所述虚拟帧缓冲设备的大小计算公式为
虚拟帧缓冲设备大小=屏幕宽X屏幕高X每像素字节数; 具体的,步骤b所述输入法帧缓冲设备的大小计算公式为 输入法帧缓冲设备大小=输入法窗口宽X输入法窗口高X每像素字节数;
再进一步的,在输入法实现时使用GUI的中英文字库。
本发明的有益效果是,通过以上步骤可以增加一个带绘图引擎的输入法,通过和原GUI 图层叠加实现显示输出,从而达到增加输入法的目的,这样做可以不修改原GUI接口就增加 了新的输入功能,改动小,易实现。


图l为实施例的系统流程具体实施例方式
下面结合附图及实施例,详细描述本发明的技术方案。
本发明提供了一种可以在嵌入式系统中不修改原GUI的情况下扩充输入法的方法,首先 在内存中分配一块区域作为虚拟帧缓冲设备用来代替原GUI图层物理显示地址的帧缓冲设备 ,GUI绘图结果直接送到虚拟帧缓冲设备,并在内存中分配一块区域给输入法图层,称为输 入法帧缓冲设备,再在GUI绘图结束后,判断输入法是否处于打开状态,若不是则仅将虚拟 帧缓冲设备数据送到原GUI图层物理显示地址的帧缓冲设备,若是则将虚拟帧缓冲设备数据 送到原GUI图层物理显示地址的帧缓冲设备并将输入法帧缓冲设备数据送到原GUI图层物理显 示地址的帧缓冲设备,最后再按现有技术对原GUI图层物理显示地址的帧缓冲设备的数据进 行显示。
实施例
本例提供一种嵌入式GUI环境下实现输入法叠加的方法,并在输入法实现时使用GUI的中 英文字库,其系统流程图如图l。
首先,将原GUI图层物理显示地址的帧缓冲设备用一块内存地址代替,本例不直接使用 GUI图层的物理显示地址的帧缓冲设备写屏,而在内存中分配一块区域,可称为虚拟帧缓冲 设备,GUI绘图结果直接送到虚拟帧缓冲设备,这块内存的大小计算公式为
虚拟帧缓冲设备大小=屏幕宽X屏幕高X每像素字节数
输入法图层也是在内存中分配,这块区域可称为输入法帧缓冲设备,其大小的计算公式

输入法帧缓冲设备大小=输入法窗口宽X输入法窗口高X每像素字节数;
然后当GUI绘图结束后,判断输入法是否处于打开状态,如果没有打开则仅将虚拟帧缓 冲设备数据送到原GUI图层物理显示地址帧缓冲设备,如果输入法打开则将虚拟帧缓冲设备 数据送到原GUI图层物理显示地址帧缓冲设备再将输入法帧缓冲设备数据送到原GUI图层物理 显示地址的帧缓冲设备,输入法状态可用一个变量如IsImeOpened标识,这样关闭和打开输
入法只需要将此变量置为1或0就可以,实现起来比较简单,且判断起来比较方便,最后按现 有技术对原GUI图层物理显示地址的帧缓冲设备的数据进行显示。输入法引擎和GUI绘图引擎 可共享部分变量甚至函数,以节省内存消耗,如在输入法实现时使用GUI的中英文字库。
权利要求
1.嵌入式GUI环境下实现输入法叠加的方法,其特征在于,包括以下步骤a.在内存中分配一块区域作为虚拟帧缓冲设备用来代替原GUI图层物理显示地址的帧缓冲设备,GUI绘图结果直接送到虚拟帧缓冲设备;b.在内存中分配一块区域给输入法图层,称为输入法帧缓冲设备;c.GUI绘图结束后,判断输入法是否处于打开状态,若不是则进入d步骤,若是则进入e步骤;d.将虚拟帧缓冲设备数据送到原GUI图层物理显示地址的帧缓冲设备,再进入f步骤;e.将虚拟帧缓冲设备数据送到原GUI图层物理显示地址的帧缓冲设备并将输入法帧缓冲设备数据送到原GUI图层物理显示地址的帧缓冲设备,再进入f步骤;f.对原GUI图层的物理显示地址帧缓冲设备的数据进行显示。
2.根据权利要求1所述嵌入式GUI环境下实现输入法叠加的方法,其 特征在于,步骤a中所述虚拟帧缓冲设备的大小计算公式为 虚拟帧缓冲设备大小=屏幕宽X屏幕高X每像素字节数。
3.根据权利要求1所述嵌入式GUI环境下实现输入法叠加的方法,其 特征在于,步骤b所述输入法帧缓冲设备的大小计算公式为输入法帧缓冲设备大小=输入法窗口宽X输入法窗口高X每像素字节数。
4.根据权利要求l、 2或3所述嵌入式GUI环境下实现输入法叠加的方 法,其特征在于,在输入法实现时使用GUI的中英文字库。
全文摘要
本发明涉及嵌入式系统技术,解决了嵌入式系统在GUI环境下没有输入法的缺点,提供了一种嵌入式GUI环境下实现输入法叠加的方法,其技术方案概括为首先在内存中分配一块区域作为虚拟帧缓冲设备用来代替原GUI图层物理显示地址的帧缓冲设备,并在内存中分配一块区域给输入法图层,再在GUI绘图结束后,判断输入法是否打开,若不是则仅将虚拟帧缓冲设备数据送到物理帧缓冲设备,若是则将虚拟帧缓冲设备数据及输入法帧缓冲设备数据都送到物理帧缓冲设备,最后按现有技术对数据进行显示。其有益效果是,改动小,易实现,适用于带GUI的嵌入式系统。
文档编号G06F9/44GK101344849SQ200810304138
公开日2009年1月14日 申请日期2008年8月22日 优先权日2008年8月22日
发明者任子义 申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1