一种用户操作区域反遮挡的装置和方法

文档序号:6571961阅读:128来源:国知局
专利名称:一种用户操作区域反遮挡的装置和方法
技术领域
本发明涉及计算机软件领域,尤其涉及一种便于用户操作被遮挡区域的装置和方法。
背景技术
GUI(图形用户界面)的工作原理绘制原理按层绘制,较低的层先绘制,较高的层后绘制。如果两个层重叠,后绘制的层覆盖先绘制的层。我们说,较高的层遮挡了较低的层。如图1所示,GUI的窗体系统中,背景和每个窗体都是层,它们是按从低向高的顺序进行绘制。如图2所示,GUI的文档视图中,背景和每个对象都是层,它们也是按从低向高的顺序进行绘制。
点击测试原理按层点击测试,较高的层先测试,较低的层后测试。如果两个层重叠,先测试的层优先于后测试的层。我们同样说,较高的层遮挡了较低的层。如图3所示,GUI的窗体系统中,背景和每个窗体都是层,它们是按从高向低的顺序进行点击测试。如图4所示,GUI的文档视图中,背景和每个对象都是层,它们也是按从高向低的顺序进行点击测试。
GUI的用户操作区域用户操作区域是指用户控制目标所在的空间,如前景窗体所在区域、焦点控件所在区域、光标附近区域、选中对象所在区域等。为了便于用户进行操作,用户操作区域可以包含用户控制目标的临近空间。GUI的窗体系统中,标识了哪一个窗体接受用户控制,这个窗体叫前景窗体。错误!未找到引用源。示意性地给出了前景窗体所在的用户操作区域。图中的用户操作区域被置顶窗体遮挡。GUI的文档视图中,通常用一个闪烁的色块代表用户输入文字的位置,这个色块叫光标。错误!未找到引用源。示意性地给出了光标附近的用户操作区域。图中的用户操作区域被文档对象遮挡。GUI的文档视图中,某些操作与选择的对象(包含文字)相关,选择的对象简称选中对象。错误!未找到引用源。示意性地给出了选中对象所在的用户操作区域。图中的用户操作区域被文档对象遮挡。如果选中对象包含多个对象,则用户操作区域是多个子区域的合并区域。用户操作区域存在被遮挡情况,在遮挡位置,用户看不到用户操作区域的内容,用户操作被干扰。另一方面,指点输入设备操作依靠点击测试来判断目标。在遮挡位置,用户操作区域之上的对象(包括窗体)会优先处理指点输入设备操作,用户操作无法作用于正确目标。

发明内容
本发明目的在于克服现有技术中的不足,提供一种当用户操作区域被遮挡时实现反遮挡的装置和方法,从而方便用户操作。
为了解决上述技术问题,通过以下技术方案实现一种用户操作区域反遮挡的装置,其包括有相互连接的计算机输入设备、显示设备、处理单元,以及图形用户界面绘制模块、图层位置数据模块和用户操作目标数据模块;图形用户界面绘制模块用于绘制计算机程序的图形用户界面,如绘制计算机程序的窗体、菜单、工具栏以及文档视图;图层位置数据模块用于存放图层的位置信息,如图层顺序,图层覆盖区域;用户操作目标数据模块用于存放代表用户操作目标的数据或其引用,如焦点位置,输入光标位置,选择区域,选中对象;另外,该装置还包括用户操作区域计算模块、区域被遮挡检测模块和区域反遮挡层选择模块,其中用户操作区域计算模块用于计算用户操作目标覆盖的区域,计算的结果通常还包括用户操作目标的临近空间;区域被遮挡检测模块用于检测某个图层的一个区域是否被该图层之上的图层所遮挡;区域反遮挡层选择模块用于找到或创建一个图层,使得这个图层的某个区域不会被遮挡。
本发明还揭露一种用户操作区域反遮挡的方法,该方法包括如下步骤a.用户操作区域计算模块根据用户操作目标数据模块中的数据计算一个用户操作区域;b.区域被遮挡检测模块根据图层位置数据模块中的数据测试用户操作区域是否被用户操作目标所在图层之上的图层遮挡;如果是进入步骤c,否则进入步骤e;c.区域反遮挡层选择模块根据图层位置数据模块中的数据选择或创建一个图层,使得这个图层位于所有遮挡用户操作区域的图层之上;d.图形用户界面绘制模块在区域反遮挡层选择模块的输出图层中绘制用户操作区域;e.结束。
本发明用户操作区域反遮挡的方法可以克服现有技术中用户的操作区域被遮挡的问题,通过在最顶层从新绘制用户的操作区域,一方面使用户可正常操作,另一方面,由于只显示用户的操作区域,而非整个用户操作窗体或者对象,也兼顾了其他用户所需的现实区域正常显示。


图1窗体系统的绘制顺序示意图;图2文档视图的绘制顺序示意图;图3窗体系统的点击测试顺序示意图;图4文档视图的点击测试顺序示意图;图5前景窗体与用户操作区域的关系示意图;图6光标与用户操作区域的关系示意图;图7选中对象与用户操作区域的关系示意图;图8是本发明方法第一实施例流程图;图9是本发明方法第二实施例流程图。
具体实施例方式
一种用户操作区域反遮挡的装置,包括有相互连接的计算机输入设备、显示设备、处理单元,以及图形用户界面绘制模块、图层位置数据模块、用户操作目标数据模块,其中
图形用户界面绘制模块,用于绘制计算机程序的图形用户界面,如绘制计算机程序的窗体、菜单、工具栏以及文档视图等;图层位置数据模块,用于存放图层的位置信息,如图层顺序,图层覆盖区域等;用户操作目标数据模块,用于存放代表用户操作目标的数据或其引用,如焦点位置,输入光标位置,选择区域,选中对象等;另外,所述用户操作区域反遮挡的装置还包括有用户操作区域计算模块,用于计算用户操作目标覆盖的区域,计算的结果通常还包括用户操作目标的临近空间;区域被遮挡检测模块,用于检测某个图层的一个区域是否被该图层之上的图层所遮挡;区域反遮挡层选择模块,用于找到或创建一个图层,使得这个图层的某个区域不会被遮挡;最后,在上述装置中,还包括有以下附加的模块指点设备输入模块,用于获得指点设备的输入;图层点击测试模块,用于测试某个点是否属于某个图层;图层指点输入处理模块,用于根据指点设备的输入对某个图层作出相应的处理。
下面以两个具体实施例介绍本发明用户操作区域反遮挡方法实施例一参见图8,该实施例方法包括如下步骤1、由用户操作区域计算模块根据用户操作目标数据模块中的数据计算一个用户操作区域,该用户操作区域的具体大小由程序开发人员根据不同情况设定,例如,如果用户进行文字输入,该用户操作区域可以只设定为光标附近两行三列即可,只要满足用户能看到自己输入的文字就行了;2、区域被遮挡检测模块根据图层位置数据模块中的数据测试用户操作区域是否被用户操作目标所在图层之上的图层遮挡;如果是进入步骤3,否则进入步骤5;具体判断操作区域是否被某一图层遮挡,可通过比较两者的外围端点坐标来完成;3、区域反遮挡层选择模块根据图层位置数据模块中的数据选择或创建一个图层,使得这个图层位于所有遮挡用户操作区域的图层之上;在该步骤中,可以选择一个已有图层,也可以从新建立一个新图层,不论是选择一个图层还是新创建一个图层必须位于原来遮挡操作区域的图层纸上;4、图形用户界面绘制模块在区域反遮挡层选择模块的输出图层中绘制用户操作区域;即从新创建一个用户操作区域,从用户的角度来看就相当于用户操作区域没有被遮挡;5、结束。
应用上述典型流程的时机,可以是在用户操作区域的位置、大小等改变时,在用户操作区域之上的图层的数量、顺序、位置、大小、裁剪区等改变时,在用户操作区域的显示内容改变时,在用户操作区域重绘时,在空闲期等等,但不限于上述时机。
另外,在开始流程时还可以进一步包括判断应用程序是否活动的步骤,是进入过程1,如果否进入过程5。
实施例二参见图9,该实施例方法包括如下步骤1、由用户操作区域计算模块根据用户操作目标数据模块中的数据计算一个用户操作区域,该用户操作区域的具体大小由程序开发人员根据不同情况设定,例如,如果用户进行文字输入,该用户操作区域可以只设定为光标附近两行三列即可,只要满足用户能看到自己输入的文字就行了;2、区域被遮挡检测模块根据图层位置数据模块中的数据测试用户操作区域是否被用户操作目标所在图层之上的图层遮挡;如果是进入步骤3,否则进入步骤5;具体判断操作区域是否被某一图层遮挡,可通过比较两者的外围端点坐标来完成;3、区域反遮挡层选择模块根据图层位置数据模块中的数据选择或创建一个图层,使得这个图层位于所有遮挡用户操作区域的图层之上;在该步骤中,可以选择一个已有图层,也可以从新建立一个新图层,不论是选择一个图层还是新创建一个图层必须位于原来遮挡操作区域的图层纸上;4、图形用户界面绘制模块在区域反遮挡层选择模块的输出图层中绘制用户操作区域;即从新创建一个用户操作区域,从用户的角度来看就相当于用户操作区域没有被遮挡;5、指点设备输入模块获得指点设备的输入;6、图层点击测试模块测试指点设备的输入点是否在图层L上,是执行7,否执行8;7、图层指点输入处理模块根据指点设备的输入对用户操作目标所在图层作出相应的处理;8、结束。
通过增加了上述步骤5-7,不仅使被遮挡的用户操作区域可视,同时也使用户方便操作该区域。
以上步骤仅用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种用户操作区域反遮挡的装置,其包括有相互连接的计算机输入设备、显示设备、处理单元,以及图形用户界面绘制模块、图层位置数据模块和用户操作目标数据模块;图形用户界面绘制模块用于绘制计算机程序的图形用户界面,如绘制计算机程序的窗体、菜单、工具栏以及文档视图;图层位置数据模块用于存放图层的位置信息,如图层顺序,图层覆盖区域;用户操作目标数据模块用于存放代表用户操作目标的数据或其引用,如焦点位置,输入光标位置,选择区域,选中对象;其特征在于该装置还包括用户操作区域计算模块、区域被遮挡检测模块和区域反遮挡层选择模块,其中用户操作区域计算模块用于计算用户操作目标覆盖的区域,计算的结果通常还包括用户操作目标的临近空间;区域被遮挡检测模块用于检测某个图层的一个区域是否被该图层之上的图层所遮挡;区域反遮挡层选择模块用于找到或创建一个图层,使得这个图层的某个区域不会被遮挡。
2.根据权利要求1所述的用户操作区域反遮挡的装置,其特征在于,其还包括用于获得指点设备输入的指点设备输入模块;用于测试某个点是否属于某个图层的图层点击测试模块;用于根据指点设备的输入对某个图层作出相应处理的图层指点输入处理模块。
3.一种用户操作区域反遮挡的方法,其特征在于,其包括如下步骤a.用户操作区域计算模块根据用户操作目标数据模块中的数据计算一个用户操作区域;b.区域被遮挡检测模块根据图层位置数据模块中的数据测试用户操作区域是否被用户操作目标所在图层之上的图层遮挡;如果是进入步骤c,否则进入步骤e;c.区域反遮挡层选择模块根据图层位置数据模块中的数据选择或创建一个图层,使得这个图层位于所有遮挡用户操作区域的图层之上;d.图形用户界面绘制模块在区域反遮挡层选择模块的输出图层中绘制用户操作区域;e.结束。
4.根据权利要求3所述的用户操作区域反遮挡的方法,其特征在于,区域反遮挡层选择模块使用以下方法创建一个图层,作为输出图层步骤c1选择图层位置数据模块中最顶的图层;步骤c2判断选中的图层是否遮挡用户操作区域,是执行步骤c4,否执行步骤c3;步骤c3选择当前选中的图层之下的一个图层,然后执行步骤c2;步骤c4在当前选中的图层之上创建一个图层,作为输出图层。
5.根据权利要求3或4所述的用户操作区域反遮挡的方法,其特征在于,在步骤a之前还包括判断应用程序是否活动的步骤,如果应用程序活动进入过程a,否则进入过程e。
6.根据权利要求3或4所述的用户操作区域反遮挡的方法,其特征在于,在步骤d和e之间还包括如下步骤de1指点设备输入模块获得指点设备的输入;de2图层点击测试模块测试指点设备的输入点是否在区域反遮挡层选择模块的输出图层上;de3图层指点输入处理模块根据指点设备的输入对用户操作目标所在图层作出相应的处理。
全文摘要
本发明涉及计算机软件领域,尤其涉及一种便于用户操作被遮挡区域的装置和方法。本发明方法包括如下步骤a.用户操作区域计算模块根据用户操作目标数据模块中的数据计算一个用户操作区域;b.区域被遮挡检测模块根据图层位置数据模块中的数据测试用户操作区域是否被用户操作目标所在图层之上的图层遮挡;如果是进入步骤c,否则进入步骤e;c.区域反遮挡层选择模块根据图层位置数据模块中的数据选择或创建一个图层,使得这个图层位于所有遮挡用户操作区域的图层之上;d.图形用户界面绘制模块在区域反遮挡层选择模块的输出图层中绘制用户操作区域;e.结束。本发明方法可以克服现有技术中用户的操作区域被遮挡的问题,通过在最顶层从新绘制用户的操作区域,使用户可正常操作。
文档编号G06F9/44GK101059756SQ20071002804
公开日2007年10月24日 申请日期2007年5月16日 优先权日2007年5月16日
发明者梁杰峰, 晁云曈 申请人:珠海金山软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1