CN101667123B - 一种不规则窗口实现方法及装置 - Google Patents
一种不规则窗口实现方法及装置 Download PDFInfo
- Publication number
- CN101667123B CN101667123B CN2009101902774A CN200910190277A CN101667123B CN 101667123 B CN101667123 B CN 101667123B CN 2009101902774 A CN2009101902774 A CN 2009101902774A CN 200910190277 A CN200910190277 A CN 200910190277A CN 101667123 B CN101667123 B CN 101667123B
- Authority
- CN
- China
- Prior art keywords
- window
- irregular
- attribute
- buffer zone
- video memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种不规则窗口实现方法及移动手持设备,所述方法用于移动手持设备上基于GUI系统实现不规则窗口,包括不规则窗口创建步骤和不规则窗口刷新步骤,不规则窗口创建步骤包括:检测用户对窗口属性的设置,当检测到窗口被设置为不规则属性时,为被设置为不规则属性的窗口分配缓存区域,将所述窗口的绘制数据存储在所述缓存区域内;接收用户对所述窗口形状的编辑,将所述编辑内容更新到所述缓存区域中;所述不规则窗口刷新步骤包括根据所述窗口的全局剪切域信息,将不规则窗口的缓存区域内的窗口绘制数据更新到显存,从而在移动手持设备上实现了不规则窗口。
Description
技术领域
本发明涉及一种移动手持设备,尤其涉及在移动手持设备上基于GUI系统的不规则窗口实现方法。
背景技术
随着嵌入式设备硬件性能的提升和图形用户界面系统技术的发展,人们越来越喜爱可视化的人机界面交互形式,因而GUI系统得到了很大的发展。在移动手持设备上可以应用的嵌入式GUI系统有很多,例如GTK、QT、MiniGui等。
在众多的移动手持设备上人们所看到的窗口几乎都是传统的矩形外观,而一个不规则的窗口、花样各异的窗口,别出心裁的特效,会给用户带来了视觉上的巨大冲击。
在GUI系统中有窗口栈和剪切域的概念,窗口栈用于对窗口的管理,剪切域用于窗口大小形状的表示。现行的GUI系统中窗口均是一个矩形区域,在内部也是使用一系列的矩形进行表示的,由此产生了窗口剪切域的概念,即窗口的形状可以用很多个矩形组合而成。但是该方法不能够有效的表示出一个不规则窗口,当窗口形状很复杂时很难用有限矩形精确表示,而且存储表示窗口形状的矩形也需要大量的空间。
发明内容
本发明要解决的主要技术问题是,提供一种不规则窗口实现方法及移动手持设备,以GUI系统为基础,在移动手持设备上实现不规则窗口。
为解决上述技术问题,本发明提供一种不规则窗口实现方法,用于移动手持设备上基于GUI系统实现不规则窗口,所述方法包括不规则窗口创建步骤和不规则窗口刷新步骤,所述不规则窗口创建步骤包括:
检测用户对窗口属性的设置;
当检测到窗口被设置为不规则属性时,为被设置为不规则属性的窗口 分配缓存区域,将所述不规则窗口窗口的绘制数据存储在所述缓存区域内;
接收用户对所述窗口形状的编辑,将所述编辑内容更新到所述缓存区域中;
所述不规则窗口刷新步骤包括:根据所述窗口的全局剪切域信息,将不规则窗口的缓存区域内的窗口绘制数据更新到显存。
为简化剪切域的计算,所述方法还包括:
将具有不规则属性的窗口加入窗口栈,所有窗口全局剪切域的更新计算按照以下规则进行:
(1)禁止具有不规则属性的窗口对窗口栈中位于其下的窗口进行剪切;
(2)具有不规则属性的窗口仅被窗口栈中位于其上的普通窗口剪切;
(3)其余情况下进行窗口剪切。
其中,所述不规则窗口刷新步骤包括:
对窗口的更新是否为不规则窗口的主动更新进行判断;
当不规则窗口主动更新时,根据所述窗口的全局剪切域信息,将所述不规则窗口的缓存区域内的窗口绘制数据更新到显存;
在窗口栈中查找位于该刷新窗口之上的所有不规则窗口并判断该刷新窗口的刷新区域是否与其上的不规则窗口的全局剪切域相交,如果相交,则按照窗口栈中由下至上的顺序依次取该刷新窗口之上的不规则窗口的缓存区域中对应于该相交区域的绘制数据更新到显存。
所述接收用户对所述窗口形状的编辑,将所述编辑内容更新到所述缓存区域的步骤包括关键色编辑步骤或掩膜编辑步骤。
本发明的进一步改进是:还包括透明窗口的创建步骤;当采用关键色编辑步骤时,所述透明窗口的创建步骤包括:接收用户指定的透明度值,将该透明度值作为该不规则窗口的透明度值;当采用掩膜编辑步骤时,所述透明窗口的创建步骤包括:将用户指定的掩模图像中的每一点对应的0-255之间的值作为该不规则窗口的透明度值。
在所述透明窗口的创建步骤之后还包括透明窗口的更新步骤,所述透明窗口的更新步骤包括:
对需要更新的窗口是否为透明窗口进行判断;
当需要更新的窗口是非透明窗口时,将该需要更新的窗口的绘制数据更新到显存,在窗口栈中查找位于该更新的窗口之上且全局剪切域与该更 新的窗口的刷新区域相交的所有透明窗口,取该更新的窗口之上的相交的透明窗口的缓存区域中对应于该相交区域的数据更新到显存;
当需要更新的窗口是透明窗口时,在窗口栈中查找位于该需要更新的透明窗口之下且全局剪切域与该更新的窗口的刷新区域相交的所有窗口,先取该需要更新的透明窗口之下的其他窗口的相交区域的绘制数据更新到显存,然后再将需要更新的透明窗口的缓存区域中的绘制数据更新到显存。
本发明还提供一种移动手持设备,包括不规则窗口创建模块和不规则窗口刷新模块,所述不规则窗口创建模块包括:
检测单元,用于检测用户对窗口属性的设置;
缓存分配及存储单元,用于当检测单元检测到窗口被设置为不规则属性时为被设置为不规则属性的窗口分配缓存区域,并将所述窗口的绘制数据存储在所述缓存区域内;
窗口形状编辑单元,用于接收用户对所述窗口形状的编辑,将所述编辑内容更新到所述缓存区域中;
所述不规则窗口刷新模块用于根据所述窗口的全局剪切域信息,将不规则窗口的缓存区域内的窗口绘制数据更新到显存。
本发明通过对具有不规则属性的窗口分配缓存区域的方法,使所述窗口的所有绘制数据都先缓存在缓存区域,然后再拷贝到显存,从而允许用户对需要的不规则窗口进行编辑和对不规则窗口进行更新,实现了不规则窗口,给用户以全新的视觉体验。
通过对不规则窗口加入窗口栈时剪切域算法的规定,简化了不规则窗口的剪切域的计算复杂程度,使不规则窗口的实现更加简便。
本发明在实现不规则窗口的基础上,通过对透明度值的设置,实现了窗口的透明化,使用户更加喜爱。
附图说明
图1为本发明一种实施例中不规则窗口的创建模块结构示意图;
图2为本发明一种实施例中不规则窗口刷新模块结构示意图;
图3为本发明一种实施例中不规则窗口的创建流程图;
图4为使用掩膜图像的不规则窗口实现原理图;
图5为本发明一种实施例中不规则窗口的更新流程图;
图6为本发明一种实施例中透明窗口的更新模块结构示意图;
图7为本发明一种实施例中透明窗口的更新流程图;
图8为本发明一种实施例中透明窗口的更新示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
目前,很多移动手持设备上装有嵌入式GUI系统,本发明基于GUI系统,利用对窗口栈和剪切域的管理,实现不规则窗口的显示。
本发明中的普通窗口指通常的窗口,不规则窗口是指不同于通常的窗口,如果通常的窗口为矩形,则不规则窗口是指非矩形的窗口,例如圆形、椭圆形或星形的窗口。如果通常的窗口为圆形,则不规则窗口是指非圆形的窗口。
实施例一:
请参考图1,移动手持设备包括不规则窗口创建模块10和不规则窗口刷新模块20,不规则窗口创建模块10具体包括检测单元11、缓存分配及存储单元12和窗口形状编辑单元13。检测单元11用于检测用户对窗口属性的设置;缓存分配及存储单元12用于当检测单元11检测到窗口被设置为不规则属性时为该窗口分配缓存区域,并将所述窗口的绘制数据存储在所述缓存区域内;窗口形状编辑单元13用于接收用户对所述窗口形状的编辑,将所述编辑内容更新到所述缓存区域中;不规则窗口刷新模块20用于根据所述窗口的全局剪切域信息,将不规则窗口的缓存区域内的窗口绘制数据更新到显存。
其中,所述窗口形状编辑单元包括关键色编辑单元或掩膜编辑单元;所述关键色编辑单元用于接收用户指定的关键色,根据用户的操作,采用关键色对所述窗口进行填充,并将对所述窗口的填充数据更新到所述缓存区域中;所述掩膜编辑单元用于接收用户指定的与所述窗口大小相同的掩膜图像,根据用户的操作,在掩膜图像中标识出属于不规则窗口的部分,将标识部分更新到所述缓存区域中,所述掩膜图像为二值的黑白图像、256色灰度图像或带alpha通道的彩色图像。
在检测单元11检测到窗口被设置为不规则属性后,第一更新单元将具有不规则属性的窗口加入窗口栈,所有窗口全局剪切域的更新计算按照以下规则进行:
(1)具有不规则属性的窗口不对窗口栈中位于其下的窗口进行剪切;
(2)具有不规则属性的窗口不被窗口栈中位于其上的不规则窗口剪切;
(3)其余情况下进行窗口剪切。
所述不规则窗口刷新模块如图2所示,包括第一判断单元21、第二更新单元22、第一查找单元23和第二判断单元24。第一判断单元21用于判断是否为不规则窗口的主动更新;第二更新单元22用于在判断结果为不规则窗口的主动更新时根据所述窗口的全局剪切域信息,将需要刷新的不规则窗口的绘制数据更新到显存;第一查找单元23用于在窗口刷新后在窗口栈中查找位于该刷新窗口之上的所有不规则窗口;第二判断单元24用于判断该刷新窗口的刷新区域是否与其上的不规则窗口的全局剪切域相交,如果相交,则控制第二更新单元22按照窗口栈中由下至上的顺序依次取该刷新窗口之上的不规则窗口的缓存区域中对应于该相交区域的绘制数据更新到显存。
当所述窗口形状编辑单元13为关键色编辑单元时,所述第二更新单元用于将所述缓存区域中未填充关键色的点的绘制数据拷贝到显存。当所述窗口形状编辑单元13为掩膜编辑单元时,第二更新单元用于根据掩模图像的相应点的信息决定所述缓存区域中该点的绘制数据是否拷贝或融合后拷贝;如果掩模图像中相应点的颜色值为0,则不将所述缓存区域中对应点的颜色值拷贝到显存;如果掩模图像中相应点的颜色值介于0-255之间,则取屏幕上的对应点与所述缓存区域中对应点的颜色值按照alpha融合公式进行融合,将融合后的颜色值拷贝到显存;如果掩模图像中相应点的颜色值为255,则直接将所述缓存区域中对应点的颜色值拷贝到显存。
基于以上移动手持设备的不规则窗口实现方法如下。
本实施例中,基于GUI系统创建不规则窗口先作以下规定:
1、窗口的属性可编辑,用户可以通过给窗口指定一个扩展的不规则属性,用于表示该窗口是一个不规则的窗口;
2、对于具有不规则窗口属性的窗口,为其创建出一块缓存区域,该缓存区域用于保存窗口绘制的数据内容;
3、具有不规则窗口属性的窗口加入窗口栈时,所有窗口全局剪切域的更新计算按照这样的规则进行:(1)具有不规则属性的窗口不对窗口栈中位于其下的窗口进行剪切;(2)具有不规则属性的窗口不被窗口栈中位于其上的不规则窗口剪切;(3)其余情况按正常流程进行窗口剪切域的计算;
4、窗口进行绘制操作时,需将绘制的数据先写到为其创建的缓存区域内,然后再更新到显存,显示到屏幕上。
创建不规则窗口的流程如图3所示,包括以下步骤:
步骤31,检测用户对窗口属性的设置,用户通过给窗口指定一个扩展的不规则属性,可以指定一个窗口为不规则窗口。当检测到窗口被设置为不规则属性时,执行步骤32。
步骤32,为被设置为不规则属性的窗口分配一个缓存区域,将所述窗口的绘制数据存储在所述缓存区域内,然后执行步骤33。
步骤33,接收用户对所述窗口形状的编辑,将所述编辑内容更新到所述缓存区域中,然后执行步骤34。
步骤33对窗口的形状进行编辑包括两种编辑方法,一种是关键色编辑方法,另一种是掩膜编辑方法。
(一)关键色编辑方法
即指定关键色,通过关键色的填充来表示窗口的具体形状。
1、由用户指定一种窗口绘制过程中不可能使用的任一种颜色值作为关键色(例如透明色),此处使用关键色是为了区分窗口缓存中的那些点是可见的,哪些是不可见的;关键色的值可以根据经验选择一种不常用的颜色。
2、使用指定的关键色填充用于保存不规则窗口绘制数据的缓存。根据用户的操作,采用关键色对所述窗口进行填充,并将对所述窗口的填充数据更新到所述缓存区域中。
(二)掩膜编辑方法
1、由用户指定一个与窗口大小一致的掩模图像,由掩膜图像来标志出了窗口的具体形状。该掩模图像可以是一个二值的黑白图像、256色灰度图像或是32位的带alpha通道的彩色图像。
2、根据用户的操作,在掩膜图像中标识出属于不规则窗口的部分。
3、将标识部分更新到所述缓存区域中。
掩膜编辑方法的原理如附图4所示。如果要实现附图4中B形状的一个窗口,那么需要指定一个与窗口形状A相同大小的掩模图像,在掩模图像M中标识出属于窗口的那些点,例如,不规则窗口为椭圆形,则在掩模图像M中标出椭圆形,该椭圆形内部的那块区域即为不规则窗口B。
为窗口指定了描述形状的信息后,最后的处理就是不规则窗口内容数据向显存的更新,称为窗口的主动更新,执行步骤34、35。
步骤34,将具有不规则属性的窗口加入窗口栈,所有窗口全局剪切域的更新计算按照以下规则进行:
(1)具有不规则属性的窗口不对窗口栈中位于其下的窗口进行剪切;
(2)具有不规则属性的窗口不被窗口栈中位于其上的不规则窗口剪切;
(3)其余情况进行窗口剪切。
步骤35,根据所述窗口的全局剪切域信息,将所述缓存区域内的窗口绘制数据更新到显存,以便显示在屏幕上。
在创建不规则窗口后,当普通窗口或不规则窗口需要刷新时执行不规则窗口刷新步骤,其流程如附图5所示,包括以下流程:
步骤51、判断要更新的窗口是否为不规则窗口的主动更新,不规则窗口编辑完后要求更新,此时的更新是不规则窗口的主动更新,如果是则执行步骤52,否则执行步骤53。
步骤52,根据所述窗口的全局剪切域信息,将所述不规则窗口的缓存区域内的窗口绘制数据更新到显存,具体更新方法如下:
在步骤52中,如果为窗口指定了关键色,在将缓存区域内的窗口绘制数据拷贝到显存的过程中,如遇到某一点颜色值为关键色则不拷贝,仅将所述缓存区域中未填充关键色的点的绘制数据拷贝到显存。
如果为窗口指定了掩模图像,则根据掩模图像的相应点的信息决定该点是否拷贝或融合后拷贝。根据掩模图像的相应点的信息决定所述缓存区域中该点的绘制数据是否拷贝或融合后拷贝;如果掩模图像中相应点的颜色值为0,则不将所述缓存区域中对应点的颜色值拷贝到显存;如果掩模图像中相应点的颜色值介于0-255之间,则取屏幕上的对应点与所述缓存区域中对应点的颜色值按照alpha融合公式进行融合,将融合后的颜色值拷贝到显存;如果掩模图像中相应点的颜色值为255,则直接将所述缓存区域中对应点的颜色值拷贝到显存。
将所述不规则窗口的缓存区域内的窗口绘制数据更新到显存后执行步骤53。
步骤53,在窗口栈中查找位于该刷新窗口之上的所有不规则窗口,如果找到,则执行步骤54,否则结束窗口刷新。
步骤54,判断该刷新窗口的刷新区域是否与其上的不规则窗口的全局剪切域相交;如果相交则执行步骤55,否则结束窗口刷新。
步骤55,按照窗口栈中由下至上的顺序依次取该刷新窗口之上的不规 则窗口的缓存区域中对应于该相交区域的绘制数据更新到显存,更新时可采用步骤52中的方法。
实施例二:
在实现不规则窗口的基础上,如果再给不规则的窗口加上半透明的效果,即透明窗口,用户会更加喜爱。所谓透明窗口即是可以透过该窗口模糊的看到它下面被覆盖窗口的内容,它是上下两窗口的数据混合的结果。这种效果在PC机上的应用较为广泛,但在手持设备上要实现这种效果存在着一定的难度,原因主要是在没有surface机制支持的GUI系统中,只能通过各个窗口的重新绘制才能最终实现这种效果,而窗口重绘操作又是一个相对耗时的过程。
本实施例在实现不规则窗口的基础上,通过用户的设置,可实现窗口的透明效果,其基本方法是:
1、新创建不规则的窗口后,可以为不规则窗口指定关键色,再为其附加指定了一个窗口的透明度值,该值决定窗口的整体透明度;或者为窗口指定一带有alpha通道值的彩色图像,该掩模图像的每一点对应的描述了窗口中某一点的透明度值。
因此,本实施例移动手持设备除了包括不规则窗口创建模块和不规则窗口刷新模块外,还包括透明窗口创建模块。当所述窗口形状编辑单元为关键色编辑单元时,所述透明窗口的创建模块用于接收用户指定的透明度值,将该透明度值作为该不规则窗口的透明度值;当所述窗口形状编辑单元为掩膜编辑单元时,所述透明窗口的创建模块用于将用户指定的掩模图像中的每一点对应的0-255之间的值作为该不规则窗口的透明度值。
本实施例移动手持设备还包括用于在透明窗口创建后进行窗口刷新的透明窗口更新模块,如图6所示,所述透明窗口更新模块包括第三判断单元61、第三更新单元62、第二查找单元63、第四更新单元65、第三查找单元66、和第五更新单元68。第三判断单元61用于判断需要更新的窗口是否为透明窗口;第三更新单元62与第三判断单元61相连,用于在第三判断单元61的判断结果是非透明窗口时,将该需要更新的非透明窗口的绘制数据更新到显存;第二查找单元63与第三更新单元62相连,用于在窗口栈中查找位于该更新的非透明窗口之上且全局剪切域与该更新的窗口的刷新区域相交的所有透明窗口;第四更新单元65与第二查找单元63相连,用于在第二查找单元63找到符合条件的窗口后取该更新的非透明窗口之上的透明窗口的缓存区域中对应于该相交区域的数据更新到显存。第三 查找单元66与第三判断单元61相连,用于在第三判断单元61的判断结果是透明窗口时在窗口栈中查找位于该需要更新的透明窗口之下且全局剪切域与该更新的窗口的刷新区域相交的所有窗口,查找不到时控制第三更新单元62对该需要更新的透明窗口进行更新;第五更新单元68与第三查找单元66相连,用于在第三查找单元66找到符合条件的窗口后先取该需要更新的透明窗口之下的其他窗口的相交区域的绘制数据更新到显存,然后再将需要更新的透明窗口的缓存区域中的绘制数据更新到显存。
基于上述移动手持设备,创建透明窗口的更新原理如下:
当非透明窗口更新时,需要查找窗口栈中所有位于该窗口之上的所有透明窗口,并判断普通窗口的刷新区域是否与透明窗口的全局剪切区域相交,如果相交则取透明窗口缓存中对应于该区域的数据与显存中对应区域的数据,根据透明度值融合处理后再更新到显存中。
当透明窗口自身需要更新时,则需要先取出被其覆盖的可见窗口的内容更新到显存中,然后再按非透明窗口更新时的情形更新该透明窗口的数据到显存中。
流程如图7所示,包括以下步骤:
步骤71,当有窗口需要更新时,判断需要更新的窗口是否为透明窗口,如果不是透明窗口则执行步骤72,如果是透明窗口则执行步骤76;
步骤72,先将该需要更新的窗口的绘制数据更新到显存,然后执行步骤73。
步骤73,在窗口栈中查找位于该更新的非透明窗口之上的所有透明窗口,如果找到则执行步骤74,否则结束窗口更新。
步骤74,判断该更新的非透明窗口的刷新区域是否与其上的透明窗口的全局剪切域相交;如果相交则执行步骤75,否则结束窗口更新。
步骤75,取该更新的窗口之上的透明窗口的缓存区域中对应于该相交区域的数据更新到显存,结束窗口的更新。
步骤76,在窗口栈中查找位于该需要更新的透明窗口之下的所有窗口,如果找到,则执行步骤77,否则执行步骤72。
步骤77,判断该需要更新的透明窗口的刷新区域是否与其下的其他窗口的全局剪切域相交;如果相交则执行步骤78,否则执行步骤72。
步骤78,先取该需要更新的透明窗口之下的其他窗口的相交区域的绘制数据更新到显存,然后再将需要更新的透明窗口的缓存区域中的绘制数据更新到显存,结束窗口更新。
如图8所示,当透明窗口C需要更新时,需要先将透明窗口C下面的窗口A与窗口C相交区域、窗口B与窗口C相交区域的数据更新到显存,而后再更新C窗口的缓存数据到显存中。然后按照窗口栈中由下至上的顺序依次更新位于窗口C之上的所有透明窗口。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (14)
1.一种不规则窗口实现方法,用于移动手持设备上基于GUI系统实现不规则窗口,所述方法包括不规则窗口创建步骤和不规则窗口刷新步骤,其特征在于,所述不规则窗口创建步骤包括:
检测用户对窗口属性的设置;
当检测到窗口被设置为不规则属性时,为被设置为不规则属性的窗口分配缓存区域,将所述不规则属性的窗口的绘制数据存储在所述缓存区域内;
接收用户对所述不规则属性的窗口形状的编辑,将编辑内容更新到所述缓存区域中;
所述不规则窗口刷新步骤包括:根据所述不规则属性的窗口的全局剪切域信息,将不规则属性的窗口的缓存区域内的窗口绘制数据更新到显存。
2.如权利要求1所述的不规则窗口实现方法,其特征在于,还包括:
将具有不规则属性的窗口加入窗口栈,所有窗口全局剪切域的更新计算按照以下规则进行:
(1)禁止具有不规则属性的窗口对窗口栈中位于其下的窗口进行剪切;
(2)具有不规则属性的窗口仅被窗口栈中位于其上的普通窗口剪切。
3.如权利要求1或2所述的不规则窗口实现方法,其特征在于,所述不规则窗口刷新步骤包括:
对窗口的更新是否为不规则属性的窗口的主动更新进行判断;
当不规则属性的窗口主动更新时,根据所述不规则属性的窗口的全局剪切域信息,将所述不规则属性的窗口的缓存区域内的窗口绘制数据更新到显存;
在窗口栈中查找位于需要刷新的窗口之上的所有不规则窗口并判断该需要刷新的窗口的刷新区域是否与其上的不规则属性的窗口的全局剪切域相交,如果相交,则按照窗口栈中由下至上的顺序依次取该需要刷新的窗口之上的不规则属性的窗口的缓存区域中对应于该相交区域的绘制数据更新到显存。
4.如权利要求3所述的不规则窗口实现方法,其特征在于,所述接收用户对所述不规则属性的窗口形状的编辑,将所述编辑内容更新到所述缓存区域的步骤包括关键色编辑步骤或掩膜编辑步骤,所述关键色编辑步骤包括:
接收用户指定的关键色;
根据用户的操作,采用关键色对所述不规则属性的窗口进行填充;
将对所述不规则属性的窗口的填充数据更新到所述缓存区域中;
所述掩膜编辑步骤包括:
接收用户指定的与所述不规则属性的窗口大小相同的掩膜图像,所述掩膜图像为二值的黑白图像、256色灰度图像或带alpha通道的彩色图像;
根据用户的操作,在掩膜图像中标识出属于不规则属性的窗口的部分;
将标识部分更新到所述缓存区域中。
5.如权利要求4所述的不规则窗口实现方法,其特征在于:
当采用关键色编辑步骤时,所述将不规则窗口的缓存区域内的窗口绘制数据更新到显存的步骤包括:将所述缓存区域中未填充关键色的点的绘制数据拷贝到显存;
当采用掩膜编辑步骤时,所述将不规则窗口的缓存区域内的窗口绘制数据更新到显存的步骤包括:根据掩膜图像的相应点的信息决定所述缓存区域中该相应点的绘制数据是否拷贝或融合后拷贝;如果掩膜图像中相应点的颜色值为0,则不将所述缓存区域中相应点的颜色值拷贝到显存;如果掩膜图像中相应点的颜色值大于0小于255,则取屏幕上的对应点与所述缓存区域中相应点的颜色值按照alpha融合公式进行融合,将融合后的颜色值拷贝到显存;如果掩膜图像中相应点的颜色值为255,则直接将所述缓存区域中相应点的颜色值拷贝到显存。
6.如权利要求4所述的不规则窗口实现方法,其特征在于,还包括透明窗口的创建步骤;当采用关键色编辑步骤时,所述透明窗口的创建步骤包括:接收用户指定的透明度值,将该透明度值作为该不规则属性的窗口的透明度值;当采用掩膜编辑步骤时,所述透明窗口的创建步骤包括:将用户指定的掩膜图像中的每一点对应的大于等于0小于等于255的值作为该不规则属性的窗口的透明度值。
7.如权利要求6所述的不规则窗口实现方法,其特征在于,还包括透明窗口的更新步骤,所述透明窗口的更新步骤包括:
对需要更新的窗口是否为透明窗口进行判断;
当需要更新的窗口是非透明窗口时,将该需要更新的窗口的绘制数据更新到显存,在窗口栈中查找位于该需要更新的窗口之上且全局剪切域与该需要更新的窗口的刷新区域相交的所有透明窗口,在查找到的透明窗口的缓存区域中取出透明窗口与该需要更新的窗口相交的相交区域的数据更新到显存;
当需要更新的窗口是透明窗口时,在窗口栈中查找位于该需要更新的透明窗口之下且全局剪切域与该需要更新的窗口的刷新区域相交的所有窗口,先取所述所有窗口与该透明窗口相交的相交区域的绘制数据更新到显存,然后再将需要更新的透明窗口的缓存区域中的绘制数据更新到显存。
8.一种不规则窗口实现装置,用于移动手持设备上基于GUI系统实现不规则窗口,包括不规则窗口创建模块和不规则窗口刷新模块,其特征在于,所述不规则窗口创建模块包括:
检测单元,用于检测用户对窗口属性的设置;
缓存分配及存储单元,用于当检测到窗口被设置为不规则属性时为不规则属性的窗口分配缓存区域,并将所述不规则属性的窗口的绘制数据存储在所述缓存区域内;
窗口形状编辑单元,用于接收用户对所述不规则属性的窗口形状的编辑,将编辑内容更新到所述缓存区域中;
所述不规则窗口刷新模块用于根据所述不规则属性的窗口的全局剪切域信息,将不规则属性的窗口的缓存区域内的窗口绘制数据更新到显存。
9.如权利要求8所述的不规则窗口实现装置,其特征在于,还包括第一更新单元,所述第一更新单元用于将具有不规则属性的窗口加入窗口栈,且使所有窗口全局剪切域的更新计算按照以下规则进行:
(1)禁止具有不规则属性的窗口对窗口栈中位于其下的窗口进行剪切;
(2)具有不规则属性的窗口仅被窗口栈中位于其上的普通窗口剪切。
10.如权利要求8或9所述的不规则窗口实现装置,其特征在于:所述不规则窗口刷新模块包括:
第一判断单元,用于对窗口的更新是否为不规则属性的窗口的主动更
新进行判断;
第二更新单元,用于当不规则属性的窗口主动更新时,根据所述不规则属性的窗口的全局剪切域信息,将所述不规则属性的窗口的缓存区域内的窗口绘制数据更新到显存;
第一查找单元,用于在窗口栈中查找位于需要刷新的窗口之上的所有不规则属性的窗口;
第二判断单元,用于判断该需要刷新的窗口的刷新区域是否与其上的不规则属性的窗口的全局剪切域相交,如果相交,则按照窗口栈中由下至上的顺序依次取该需要刷新的窗口之上的不规则属性的窗口的缓存区域中对应于该相交区域的绘制数据更新到显存。
11.如权利要求10所述的不规则窗口实现装置,其特征在于,所述窗口形状编辑单元包括关键色编辑单元或掩膜编辑单元;所述关键色编辑单元用于接收用户指定的关键色,根据用户的操作,采用关键色对所述不规则属性的窗口进行填充,并将对所述不规则属性的窗口的填充数据更新到所述缓存区域中;所述掩膜编辑单元用于接收用户指定的与所述不规则属性的窗口大小相同的掩膜图像,根据用户的操作,在掩膜图像中标识出属于不规则属性的窗口的部分,将标识部分更新到所述缓存区域中,所述掩膜图像为二值的黑白图像、256色灰度图像或带alpha通道的彩色图像。
12.如权利要求11所述的不规则窗口实现装置,其特征在于:
当所述窗口形状编辑单元为关键色编辑单元时,所述第二更新单元用于将所述缓存区域中未填充关键色的点的绘制数据拷贝到显存;
当所述窗口形状编辑单元为掩膜编辑单元时,第二更新单元用于根据掩膜图像的相应点的信息决定所述缓存区域中该相应点的绘制数据是否拷贝或融合后拷贝;如果掩膜图像中相应点的颜色值为0,则不将所述缓存区域中相应点的颜色值拷贝到显存;如果掩膜图像中相应点的颜色值大于0小于255,则取屏幕上的对应点与所述缓存区域中相应点的颜色值按照alpha融合公式进行融合,将融合后的颜色值拷贝到显存;如果掩膜图像中相应点的颜色值为255,则直接将所述缓存区域中相应点的颜色值拷贝到显存。
13.如权利要求11所述的不规则窗口实现装置,其特征在于,还包括透明窗口创建模块;当所述窗口形状编辑单元为关键色编辑单元时,所述透明窗口创建模块用于接收用户指定的透明度值,将该透明度值作为该不规则属性的窗口的透明度值;当所述窗口形状编辑单元为掩膜编辑单元时,所述透明窗口创建模块用于将用户指定的掩膜图像中的每一点对应的大于等于0小于等于255的值作为该不规则属性的窗口的透明度值。
14.如权利要求13所述的不规则窗口实现装置,其特征在于,还包括透明窗口更新模块,所述透明窗口更新模块包括:
第三判断单元,用于判断需要更新的窗口是否为透明窗口;
第三更新单元,用于当需要更新的窗口是非透明窗口时,将该需要更新的窗口的绘制数据更新到显存;
第二查找单元,用于在窗口栈中查找位于该需要更新的窗口之上且全局剪切域与该需要更新的窗口的刷新区域相交的所有透明窗口;
第四更新单元,用于在查找到的透明窗口的缓存区域中取出透明窗口与该需要更新的窗口相交的相交区域的数据更新到显存;
第三查找单元,用于当需要更新的窗口是透明窗口时在窗口栈中查找位于该需要更新的透明窗口之下且全局剪切域与该需要更新的窗口的刷新区域相交的所有窗口;
第五更新单元,用于先取所述所有窗口与该透明窗口相交的相交区域的绘制数据更新到显存,然后再将需要更新的透明窗口的缓存区域中的绘制数据更新到显存。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101902774A CN101667123B (zh) | 2009-09-24 | 2009-09-24 | 一种不规则窗口实现方法及装置 |
PCT/CN2010/072116 WO2010145324A1 (zh) | 2009-09-24 | 2010-04-23 | 一种不规则窗口实现方法及移动手持设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101902774A CN101667123B (zh) | 2009-09-24 | 2009-09-24 | 一种不规则窗口实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101667123A CN101667123A (zh) | 2010-03-10 |
CN101667123B true CN101667123B (zh) | 2013-05-08 |
Family
ID=41803749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101902774A Expired - Fee Related CN101667123B (zh) | 2009-09-24 | 2009-09-24 | 一种不规则窗口实现方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101667123B (zh) |
WO (1) | WO2010145324A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667123B (zh) * | 2009-09-24 | 2013-05-08 | 中兴通讯股份有限公司 | 一种不规则窗口实现方法及装置 |
CN103530101A (zh) * | 2012-07-05 | 2014-01-22 | 罗侍田 | 一种计算机图形内核窗口缓存技术 |
EP3198406B1 (en) * | 2014-09-26 | 2022-02-23 | Intel Corporation | Facilitation of guest application display from host operating system |
CN104572079B (zh) * | 2014-12-17 | 2018-06-15 | 宁夏新航信息科技有限公司 | 一种窗体动态更新方法 |
CN106371854B (zh) * | 2016-09-22 | 2019-11-19 | 深圳市茁壮网络股份有限公司 | 一种窗口显示方法和系统 |
CN108469971A (zh) * | 2017-02-20 | 2018-08-31 | 珠海亿智电子科技有限公司 | 一种提升gui窗口切换和移动效率的方法 |
CN110187881B (zh) * | 2019-06-04 | 2023-09-05 | 深圳市迅雷网络技术有限公司 | 一种异形窗口创建方法、系统、装置及计算机存储介质 |
CN112214188B (zh) * | 2020-09-11 | 2024-06-07 | 西安万像电子科技有限公司 | 图像的处理方法、装置、存储介质和处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0430501A2 (en) * | 1989-11-17 | 1991-06-05 | Digital Equipment Corporation | System and method for drawing antialiased polygons |
CN1987772A (zh) * | 2005-12-23 | 2007-06-27 | 上海全景数字技术有限公司 | 通用界面设计接口系统及使用该系统的界面开发方法 |
CN101065972A (zh) * | 2004-11-12 | 2007-10-31 | 艾希媒体有限公司 | 将文档、电子邮件附件和地图流传输到无线设备的方法和系统 |
CN101334976A (zh) * | 2008-08-05 | 2008-12-31 | 浙江大学 | 用于嵌入式系统的高分辨率数字液晶屏的gui优化方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6121981A (en) * | 1997-05-19 | 2000-09-19 | Microsoft Corporation | Method and system for generating arbitrary-shaped animation in the user interface of a computer |
CN1510568A (zh) * | 2002-12-26 | 2004-07-07 | 英业达股份有限公司 | 屏幕刷新的方法 |
CN1997191A (zh) * | 2006-09-30 | 2007-07-11 | 武汉市迅彩科技有限责任公司 | 一种在移动通讯终端中显示动画的方法 |
CN101499172A (zh) * | 2009-03-06 | 2009-08-05 | 深圳华为通信技术有限公司 | 控件绘制方法及装置 |
CN101667123B (zh) * | 2009-09-24 | 2013-05-08 | 中兴通讯股份有限公司 | 一种不规则窗口实现方法及装置 |
-
2009
- 2009-09-24 CN CN2009101902774A patent/CN101667123B/zh not_active Expired - Fee Related
-
2010
- 2010-04-23 WO PCT/CN2010/072116 patent/WO2010145324A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0430501A2 (en) * | 1989-11-17 | 1991-06-05 | Digital Equipment Corporation | System and method for drawing antialiased polygons |
CN101065972A (zh) * | 2004-11-12 | 2007-10-31 | 艾希媒体有限公司 | 将文档、电子邮件附件和地图流传输到无线设备的方法和系统 |
CN1987772A (zh) * | 2005-12-23 | 2007-06-27 | 上海全景数字技术有限公司 | 通用界面设计接口系统及使用该系统的界面开发方法 |
CN101334976A (zh) * | 2008-08-05 | 2008-12-31 | 浙江大学 | 用于嵌入式系统的高分辨率数字液晶屏的gui优化方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2010145324A1 (zh) | 2010-12-23 |
CN101667123A (zh) | 2010-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101667123B (zh) | 一种不规则窗口实现方法及装置 | |
CN104216752B (zh) | 一种基于窗口的信息加载方法及装置 | |
CN103778213B (zh) | 一种基于占用矩阵的词云图可视化方法 | |
US8621422B1 (en) | Environment for responsive graphical designs | |
CN100585631C (zh) | 图形绘制设备 | |
CN105511792A (zh) | 一种表单在位手写输入方法及系统 | |
CN101236661A (zh) | 在计算机中管理纹理数据的系统与方法 | |
WO2014029247A1 (zh) | 移动终端屏幕的显示方法及装置 | |
CN106648307A (zh) | 信息显示方法及装置 | |
CN106325796A (zh) | 双屏电子终端屏幕切换方法及系统 | |
CN105528217A (zh) | 一种基于显示列表的局部刷新方法及装置 | |
KR20120054750A (ko) | 선택적 디스플레이를 위한 방법 및 장치 | |
CN106686165A (zh) | 一种路况检测的方法及移动终端 | |
US11550459B2 (en) | User interfaces for maps and navigation | |
CN108062510A (zh) | 一种多目标跟踪结果实时动态显示方法及计算机设备 | |
CN109074271A (zh) | 修改的ui元素树的生成 | |
CA2987245C (en) | Layout engine | |
CN103577030A (zh) | 浏览器窗口界面展现方法及系统 | |
ES2565338T3 (es) | Puntero aumentado basándose en vectores | |
CN106371755A (zh) | 多屏互动方法与系统 | |
US10387547B2 (en) | Layout engine for creating a visual layout tree for a document | |
CN104899908A (zh) | 生成事件组演化图的方法和装置 | |
CN106372137A (zh) | 多窗口页面显示处理方法及装置 | |
CN105929946A (zh) | 一种基于虚拟界面的自然交互方法 | |
KR101373694B1 (ko) | 웹 스크래핑을 이용한 마인드맵 생성 방법, 장치 및 컴퓨터로 판독 가능한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170825 Address after: 300202 Tianjin City, Hexi District Liheli 5-2-304 Patentee after: Zhang Cuifang Address before: 518057 Nanshan District science and Technology Park, Guangdong, South Road, ZTE building, science and Technology Park Patentee before: ZTE Corp. |
|
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhang Cuifang Inventor before: Zhang Guangdong |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130508 |