CN102591656B - 一种窗口动画实现方法和装置 - Google Patents

一种窗口动画实现方法和装置 Download PDF

Info

Publication number
CN102591656B
CN102591656B CN201110447215.4A CN201110447215A CN102591656B CN 102591656 B CN102591656 B CN 102591656B CN 201110447215 A CN201110447215 A CN 201110447215A CN 102591656 B CN102591656 B CN 102591656B
Authority
CN
China
Prior art keywords
window
animation
target
translucent
event
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.)
Active
Application number
CN201110447215.4A
Other languages
English (en)
Other versions
CN102591656A (zh
Inventor
何文刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wanxing Polytron Technologies Inc
Original Assignee
SHENZHEN WONDERSHARE INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN WONDERSHARE INFORMATION TECHNOLOGY Co Ltd filed Critical SHENZHEN WONDERSHARE INFORMATION TECHNOLOGY Co Ltd
Priority to CN201110447215.4A priority Critical patent/CN102591656B/zh
Publication of CN102591656A publication Critical patent/CN102591656A/zh
Application granted granted Critical
Publication of CN102591656B publication Critical patent/CN102591656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

本发明提供一种窗口动画实现方法和装置,所述方法包括:截获窗口事件,暂停对目标窗口的操作;获取目标窗口的窗口位图;创建用于缓存所述窗口位图的窗口缓冲区;创建半透明画布窗口;创建工作缓冲区并在所述工作缓冲区中,根据动画算法将所述窗口缓冲区中的窗口位图绘制成窗口动画;在对目标窗口进行操作之前或之后,将所述绘制的窗口动画输出到所述半透明画布窗口上进行动画显示。实施本发明提供的窗口动画实现方法和装置,可以绘制出丰富的窗口动画效果,且不会出现如现有技术中的窗口动画时,超出窗口本身的部分被剪裁掉的缺陷。

Description

一种窗口动画实现方法和装置
技术领域
本发明涉及一种动画技术,尤其涉及一种窗口动画实现方法和装置。
背景技术
随着用户对个性化需要的增长,计算机用户对用户界面的美观特效要求越来越高,其中,窗口动画属于用户界面特效之一。窗口动画是用户在打开窗口或者关闭窗口过程中,窗口所呈现的动画效果,比如在Window7系统下的Aero主题模式下,窗口关闭时从大到小,渐变退出。
现有技术提供的窗口动画技术有如下两种:
第一种,采用系统调用窗口动画函数,展现系统定义好的窗口动画。具体为:
在显示或关闭窗口的时候调用函数BOOL AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags),即可展现系统定义好的窗口动画效果。
第二种,截获系统消息,在显示或者关闭窗口的时候,截取窗口缩略图,在窗口的DC(句柄)上按照一定的规律进行绘制实现窗口动画。需要说明的是,窗口的句柄是本领域技术人员所熟知的概念,在此不再赘述。
实施现有技术存在的缺点分别如下:
对于第一种采用系统效用窗口动画函数的方式,窗口动画只是系统定义好的枚举,比较呆板,不够丰富,无法满足用户的个性化需求;
对于第二种通过截取窗口缩略图在窗口的DC上绘制窗口动画的方式,由于用户所见到的窗口实际上比窗口本身的尺寸要稍微小一些,而在窗口的DC上绘制窗口动画实际是在窗口本身的范围内进行绘制的,其存在的缺陷是:如果窗口动画的最大尺寸大于窗口本身的尺寸时,该窗口动画超出窗口本身的部分会被剪裁,如图1所示,窗口动画(虚线表示)有一部分已经置于窗口本身的尺寸,超出部分会剪裁掉。
由此可见,现有技术提供的窗口动画技术,都存在缺陷。
发明内容
本发明提供一种窗口动画实现方法和装置,可以克服现有技术中存在的窗口动画效率低下,窗口动画效果受限制的技术问题,可以在整个桌面区域范围内进行动画绘制,提高绘制效率,实现绚丽而丰富的窗口动画效果。
为达到上述发明目的,本发明提供了一种窗口动画实现方法,包括:
截获窗口事件,暂停对目标窗口的操作;
获取目标窗口的窗口位图;
创建用于缓存所述窗口位图的窗口缓冲区;
创建半透明画布窗口;
创建工作缓冲区并在所述工作缓冲区中,根据动画算法将所述窗口缓冲区中的窗口位图绘制成窗口动画;
将所述绘制的窗口动画输出到所述半透明画布窗口上进行动画显示。
其中,所述截获窗口事件,暂停对目标窗口的操作,包括:
截获系统的窗口WM_SHOWWINDOWN消息,截获显示或关闭目标窗口的事件;
若事件为显示目标窗口,则暂停对目标窗口进行显示的操作;
若事件为关闭目标窗口,则暂停对目标窗口进行关闭的操作。
其中,所述获取目标窗口的窗口位图,包括:
若事件为显示目标窗口,则根据所述窗口WM_SHOWWINDOWN消息,从缓存中获取待显示的目标窗口的窗口位图;
若事件为关闭目标窗口,则根据所述窗口WM_SHOWWINDOWN消息,从显示界面截取已显示的目标窗口的窗口位图。
其中,所述创建半透明画布窗口,包括:
判断所述目标窗口是否为半透明窗口;
若目标窗口是半透明窗口,则将该目标窗口作为半透明画布窗口;
若目标窗口为非半透明窗口,则创建全屏半透明画布窗口。
其中,当事件为关闭目标窗口时,所述若目标窗口为非半透明窗口,则创建全屏半透明画布之后,还包括:
将所述窗口缓冲区中存储的窗口位图提交到所述全屏半透明画布窗口;
将所述非半透明窗口不自绘隐藏。
相应的,本发明还提供了一种窗口动画实现装置,包括:
事件截获模块,用于截获窗口事件,暂停对目标窗口的操作;
窗口位图获取模块,用于获取目标窗口的窗口位图;
窗口缓冲区创建模块,用于创建缓存所述窗口位图的窗口缓冲区;
画布窗口创建模块,用于创建半透明画布窗口;
工作缓冲区创建模块,用于创建工作缓冲区;
窗口动画绘制模块,用于在所述工作缓冲区创建模块创建的工作缓冲区中,根据动画算法将所述窗口缓冲区中的窗口位图绘制成窗口动画;
动画显示模块,将所述窗口动画绘制模块绘制的窗口动画输出到所述半透明画布窗口上进行动画显示。
其中,所述事件截获模块,包括:
截获单元,用于截获系统的窗口WM_SHOWWINDOWN消息,截获显示或关闭目标窗口的事件;
事件判断单元,用于判断所述截获单元截获的事件为显示目标窗口或关闭目标窗口;
操作执行单元,用于在所述事件判断单元判断事件为显示目标窗口,暂停对目标窗口进行显示的操作;若判断事件为关闭目标窗口,则暂停对目标窗口进行关闭的操作。
其中,所述窗口位图获取模块,包括:
待显示位图获取单元,用于在所述事件判断单元判断事件为显示目标窗口时,根据所述截获单元截获的窗口WM_SHOWWINDOWN消息,从缓存中获取待显示的目标窗口的窗口位图;
已显示位图获取单元,用于在所述事件判断单元判断事件为关闭目标窗口时,根据所述截获单元截获的窗口WM_SHOWWINDOWN消息,从显示界面截取已显示的目标窗口的窗口位图。
其中,所述画布窗口创建模块,包括:
窗口判断单元,用于判断所述目标窗口是否为半透明窗口;
画布窗口初始化单元,用于在所述窗口判断单元判断所述目标窗口是半透明窗口,将该目标窗口作为半透明画布窗口;
画布窗口创建单元,用于在所述窗口判断单元判断所述目标窗口为非半透明窗口,创建全屏半透明画布窗口。
其中,所述画布窗口创建单元还用于所述事件判断单元判断事件为关闭目标窗口时,在创建全屏半透明画布之后,将所述窗口缓冲区中存储的窗口位图提交到所述全屏半透明画布窗口,并将所述非半透明窗口不自绘隐藏。
实施本发明提供的窗口动画实现方法和装置,通过获取目标窗口的窗口位图,根据该窗口位图绘制窗口动画,这种方式可以绘制出丰富的窗口动画效果,并且本发明还创建了半透明画布窗口,将绘制的窗口动画输出创建的半透明画布窗口上进行动画显示,由于半透明画布窗口没有区域局限性,因此不会出现如现有技术中的窗口动画时,超出窗口本身的部分被剪裁掉的缺陷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中窗口动画的示意图;
图2为本发明提供的窗口动画实现方法实施例一的流程示意图;
图3为本发明提供的窗口动画实现方法实施例二的流程示意图;
图4为本发明提供的窗口动画实现方法实施例三的流程示意图;
图5为本发明提供的窗口动画实现装置实施例一的结构示意图;
图6为本发明提供的窗口动画实现装置实施例二的结构示意图;
图7为本发明提供的窗口动画实现装置实施例三的结构示意图;
图8为本发明提供的窗口动画实现装置实施例四的结构示意图。
具体实施方式
本发明提供一种窗口动画实现方法和装置,可以克服现有技术中存在的窗口动画效率低下,窗口动画效果受限制的技术问题,可以在整个桌面区域范围内进行动画绘制,提高绘制效率,实现绚丽而丰富的窗口动画效果。
为达到上述发明目的,本发明提供的一种窗口动画实现方法和装置是这样实现的:
参见图2,为本发明提供的一种窗口动画实现方法实施例一的流程示意图。
本实施例一提供的方法,包括:
步骤100,截获窗口事件,暂停对目标窗口的操作;
步骤101,获取目标窗口的窗口位图;
步骤102,创建用于缓存所述窗口位图的窗口缓冲区;
步骤103,创建半透明画布窗口;
步骤104,创建工作缓冲区并在所述工作缓冲区中,根据动画算法将所述窗口缓冲区中的窗口位图绘制成窗口动画;
步骤105,将所述绘制的窗口动画输出到所述半透明画布窗口上进行动画显示。
实施本发明提供的窗口动画实现方法,通过获取目标窗口的窗口位图,根据该窗口位图绘制窗口动画,这种方式可以绘制出丰富的窗口动画效果,并且本发明还创建了半透明画布窗口,将绘制的窗口动画输出创建的半透明画布窗口上进行动画显示,由于半透明画布窗口没有区域局限性,因此不会出现如现有技术中的窗口动画时,超出窗口本身的部分被剪裁掉的缺陷。
需要说明的是,本发明获取了目标窗口的窗口位图后,可以根据动画算法将其生成多样的窗口动画特效,例如2D甚至3D窗口动画特效,因此本发明提供的窗口动画效果不受局限,可以实现丰富多样的动画效果。
另外,窗口事件一般分为关闭窗口和显示窗口两种,本发明中,是通过截获系统的窗口WM_SHOWWINDOWN消息来实现截获显示或关闭目标窗口的事件的;在步骤100中,若截获的事件为显示目标窗口,则暂停对目标窗口进行显示的操作;若截获的事件为关闭目标窗口,则暂停对目标窗口进行关闭的操作。这里的暂停操作,实际上就是暂时停止执行对目标窗口的显示或关闭操作,而转为进行窗口动画的绘制和创建半透明的画布窗口。
还需要说明的是,针对显示目标窗口和关闭目标窗口,获取窗口位图的方式有所不同,下面将详细描述。
如前述,若截获的事件为显示目标窗口,则根据所述窗口WM_SHOWWINDOWN消息,从缓存中获取待显示的目标窗口的窗口位图。
具体而言,对于显示窗口来讲,此时用户界面上并没有窗口在显示,该窗口是处于即将被显示的状态,它被存放在缓存中,则本发明实施例中采取的技术方案是根据截获的WM_SHOWWINDOWN消息,在缓存中取查找该目标窗口的窗口位图,并将其获取出来,存放在创建的窗口缓冲区中。
反之,若事件为关闭目标窗口,则根据所述窗口WM_SHOWWINDOWN消息,从显示界面截取已显示的目标窗口的窗口位图。
具体而言,对于关闭窗口来讲,此时用户的显示界面上已经显示有目标窗口,因此只需要截取该目标窗口的位图,并将其保存在创建的窗口缓冲区中即可。
参见图3,为本发明提供的窗口动画实现方法实施例二的流程示意图。
本实施例二提供的方法将描述如何创建半透明画布窗口的流程,具体如下: 
步骤200,判断所述目标窗口是否为半透明窗口;若目标窗口是半透明窗口,转入步骤201;若目标窗口为非半透明窗口,转入步骤202;
步骤201,将该目标窗口作为半透明画布窗口;
步骤202,创建全屏半透明画布窗口。
需要说明的是,在半透明画布窗口中进行动画显示,即可克服现有技术中存在的对窗口动画的尺寸造成限制,使得有一些窗口动画被剪裁,无法全部显示的问题,因此本发明实施例中,如果目标窗口本身就是半透明属性的,则直接将其作为半透明画布窗口;无论后续是要将目标窗口以动画的形式进行显示,还是以动画的形式关闭,都不自绘显示画布窗口。
如果目标窗口是非透明窗口,则需要创建一个新的全屏的半透明画布窗口。如果后续要将目标窗口以动画的形式进行显示,则不自绘显示画布窗口。但是后续要将目标窗口以动画的形式进行关闭时,也即当事件为关闭目标窗口时,则在创建全屏半透明画布之后,还需要将所述窗口缓冲区中存储的窗口位图提交到所述全屏半透明画布窗口,将原来的非半透明目标窗口不自绘隐藏,也即关闭原目标窗口,然后再显示动画关闭效果。这样一来使得用户感觉不到窗口在闪烁。
请参见图4,为本发明提供的窗口动画实现方法实施例三的流程示意图。
本实施例三将详细描述窗口动画实现方法的完整流程。
步骤300,截获窗口WM_SHOWWINDOWN消息。
具体的,通过窗口WM_SHOWWINDOWN消息截获窗口事件,暂停对目标窗口的操作。
步骤301,获取目标窗口的窗口位图;
步骤302,创建用于缓存所述窗口位图的窗口缓冲区;
步骤303,判断目标窗口是否为半透明窗口;若是,转入步骤304;若否,转入步骤307;
步骤304,将目标窗口作为半透明画布窗口;然后转入步骤306;
步骤305,判断所述窗口事件是显示窗口还是关闭窗口,若是显示窗口,则转入步骤306;若是关闭窗口,则转入步骤311;
步骤306,不自绘显示画布窗口;
步骤307,创建全屏半透明画布窗口;然后转入步骤308;
步骤308,判断所述窗口事件是显示窗口还是关闭窗口,若是关闭窗口,则转入步骤309;若是显示窗口,则转入步骤311;
步骤309,不自绘显示画布窗口;
步骤310,将获取的窗口位图提交到创建的全屏半透明画布窗口;
步骤311,创建工作缓冲区;
步骤312,根据动画算法将所述窗口缓冲区中的窗口位图绘制成窗口动画;
步骤313,将所述绘制的窗口动画输出到所述半透明画布窗口上进行动画显示。
最后销毁所述窗口动画。
实施本发明提供的窗口动画实现方法,通过获取目标窗口的窗口位图,根据该窗口位图绘制窗口动画,这种方式可以绘制出丰富的窗口动画效果,且这种方式不需要对窗口本身进行自绘,解决了窗口和画布窗口的平滑过渡;并且本发明还创建了半透明画布窗口,将绘制的窗口动画输出创建的半透明画布窗口上进行动画显示,由于半透明画布窗口没有区域局限性,因此不会出现如现有技术中的窗口动画时,超出窗口本身的部分被剪裁掉的缺陷,并且提高了绘制动画的效率。本发明提供的方法,不受操作系统的限制,可以应用于Window XP或者Window 7等操作系统。
相应的,本发明还提供了一种窗口动画实现装置,以下实施例中将详细描述。
参见图5,为本发明提供的一种窗口动画实现装置实施例一的结构示意图。
本实施例一提供的装置,包括:
事件获取模块10,用于截获窗口事件,暂停对目标窗口的操作;
窗口位图获取模块11,用于获取目标窗口的窗口位图;
窗口缓冲区创建模块12,创建用于缓存所述窗口位图的窗口缓冲区;
画布窗口创建模块13,创建半透明画布窗口;
工作缓冲区创建模块14,创建工作缓冲区;
窗口动画绘制模块15,用于在所述工作缓冲区中,根据动画算法将所述窗口缓冲区中的窗口位图绘制成窗口动画;
动画显示模块16,将所述窗口动画绘制模块15绘制的窗口动画输出到所述半透明画布窗口上进行动画显示。
实施本发明提供的窗口动画实现装置,通过获取目标窗口的窗口位图,根据该窗口位图绘制窗口动画,这种方式可以绘制出丰富的窗口动画效果,并且本发明还创建了半透明画布窗口,将绘制的窗口动画输出创建的半透明画布窗口上进行动画显示,由于半透明画布窗口没有区域局限性,因此不会出现如现有技术中的窗口动画时,超出窗口本身的部分被剪裁掉的缺陷。
需要说明的是,本发明获取了目标窗口的窗口位图后,可以根据动画算法将其生成多样的窗口动画特效,例如2D甚至3D窗口动画特效,因此本发明提供的窗口动画效果不受局限,可以实现丰富多样的动画效果。
另外,窗口事件一般分为关闭窗口和显示窗口两种,本发明中,是通过截获系统的窗口WM_SHOWWINDOWN消息来实现截获显示或关闭目标窗口的事件的。
参见图6,为本发明提供的窗口动画实现装置实施例二的结构示意图。
本实施例二将详细描述事件截获模块10的具体功能和结构,包括:
截获单元100,用于截获系统的窗口WM_SHOWWINDOWN消息,截获显示或关闭目标窗口的事件;
事件判断单元101,用于判断所述截获单元截获的事件为显示目标窗口或关闭目标窗口;
操作执行单元102,用于在所述事件判断单元判断事件为显示目标窗口,暂停对目标窗口进行显示的操作;若判断事件为关闭目标窗口,则暂停对目标窗口进行关闭的操作。
具体实现中,若事件判断单元101判断截获单元100截获的事件为显示目标窗口,则操作执行单元102暂停对目标窗口进行显示的操作;若事件判断单元101判断截获单元100截获的事件为关闭目标窗口,则操作执行单元102暂停对目标窗口进行关闭的操作。这里的暂停操作,实际上就是暂时停止执行对目标窗口的显示或关闭操作,而转为进行窗口动画的绘制和创建半透明的画布窗口。
还需要说明的是,针对显示目标窗口和关闭目标窗口,窗口位图获取模块11获取窗口位图的方式有所不同,下面将详细描述。
参见图7,为本发明提供的窗口动画实现装置实施例三的结构示意图。
本实施例三将描述所述窗口位图获取模块的具体功能和结构,其包括: 
待显示位图获取单元110,用于在所述事件判断单元101判断事件为显示目标窗口时,根据所述截获单元截获的窗口WM_SHOWWINDOWN消息,从缓存中获取待显示的目标窗口的窗口位图;
已显示位图获取单元111,用于在所述事件判断单元101判断事件为关闭目标窗口时,根据所述截获单元截获的窗口WM_SHOWWINDOWN消息,从显示界面截取已显示的目标窗口的窗口位图。
具体而言,对于显示窗口来讲,此时用户界面上并没有窗口在显示,该窗口是处于即将被显示的状态,它被存放在缓存中,则本发明实施例中采取的技术方案是根据截获单元100截获的WM_SHOWWINDOWN消息,窗口位图获取模块11的待显示位图获取单元110在缓存中取查找该目标窗口的窗口位图,并将其获取出来,存放在创建的窗口缓冲区中。
反之,对于关闭窗口来讲,此时用户的显示界面上已经显示有目标窗口,因此只需要窗口位图获取模块11的已显示位图获取单元111根据所述窗口WM_SHOWWINDOWN消息,从显示界面截取已显示的目标窗口的窗口位图,并将其保存在创建的窗口缓冲区中即可。
参见图8,为本发明提供的窗口动画实现装置实施例四的结构示意图。
本实施例四将描述画布窗口创建模块的具体功能和结构,其包括: 
窗口判断单元130,用于判断所述目标窗口是否为半透明窗口;
画布窗口初始化单元131,用于在所述窗口判断单元判断所述目标窗口是半
透明窗口,将该目标窗口作为半透明画布窗口;
画布窗口创建单元132,用于在所述窗口判断单元判断所述目标窗口为非半透明窗口,创建全屏半透明画布窗口。
所述画布窗口创建单元132还用于所述事件判断单元100判断事件为关闭目标窗口时,在创建全屏半透明画布之后,将所述窗口缓冲区中存储的窗口位图提交到所述全屏半透明画布窗口,将所述非半透明窗口不自绘隐藏。
需要说明的是,在半透明画布窗口中进行动画显示,即可克服现有技术中存在的对窗口动画的尺寸造成限制,使得有一些窗口动画被剪裁,无法全部显示的问题,因此本发明实施例中,如果目标窗口本身就是半透明属性的,则直接将其作为半透明画布窗口;无论后续是要将目标窗口以动画的形式进行显示,还是以动画的形式关闭,都不自绘显示画布窗口。
如果目标窗口是非透明窗口,则需要创建一个新的全屏的半透明画布窗口。如果后续要将目标窗口以动画的形式进行显示,则不自绘显示画布窗口。但是后续要将目标窗口以动画的形式进行关闭时,也即当事件为关闭目标窗口时,则在创建全屏半透明画布之后,还需要将所述窗口缓冲区中存储的窗口位图提交到所述全屏半透明画布窗口,并将原来的非半透明目标窗口不自绘隐藏,也即关闭原目标窗口,然后再显示动画关闭效果。这样一来使得用户感觉不到窗口在闪烁。
本发明实施例提供的窗口动画实现装置实现窗口动画的过程如上述方法实施例一至三所示,在此不再赘述。
实施本发明提供的窗口动画实现装置,通过获取目标窗口的窗口位图,根据该窗口位图绘制窗口动画,这种方式可以绘制出丰富的窗口动画效果,且这种方式不需要对窗口本身进行自绘,解决了窗口和画布窗口的平滑过渡;并且本发明还创建了半透明画布窗口,将绘制的窗口动画输出创建的半透明画布窗口上进行动画显示,由于半透明画布窗口没有区域局限性,因此不会出现如现有技术中的窗口动画时,超出窗口本身的部分被剪裁掉的缺陷,并且提高了绘制动画的效率。本发明提供的方法,不受操作系统的限制,可以应用于Window XP或者Window 7等操作系统。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种窗口动画实现方法,其特征在于,包括:
截获窗口事件,暂停对目标窗口的操作;
所述截获窗口事件包括:
截获系统的窗口WM_SHOWWINDOWN消息,截获显示或关闭目标窗口的事件;
获取目标窗口的窗口位图;
创建用于缓存所述窗口位图的窗口缓冲区;
创建半透明画布窗口;
创建工作缓冲区并在所述工作缓冲区中,根据动画算法将所述窗口缓冲区中的窗口位图绘制成窗口动画;
将所述绘制的窗口动画输出到所述半透明画布窗口上进行动画显示。
2.如权利要求1所述的窗口动画实现方法,其特征在于,所述暂停对目标窗口的操作,包括:
若事件为显示目标窗口,则暂停对目标窗口进行显示的操作;
若事件为关闭目标窗口,则暂停对目标窗口进行关闭的操作。
3.如权利要求2所述的窗口动画实现方法,其特征在于,所述获取目标窗口的窗口位图,包括:
若事件为显示目标窗口,则根据所述窗口WM_SHOWWINDOWN消息,从缓存中获取待显示的目标窗口的窗口位图;
若事件为关闭目标窗口,则根据所述窗口WM_SHOWWINDOWN消息,从显示界面截取已显示的目标窗口的窗口位图。
4.如权利要求1至3中任一项所述的窗口动画实现方法,其特征在于,所述创建半透明画布窗口,包括:
判断所述目标窗口是否为半透明窗口;
若目标窗口是半透明窗口,则将该目标窗口作为半透明画布窗口;
若目标窗口为非半透明窗口,则创建全屏半透明画布窗口。
5.如权利要求4所述的窗口动画实现方法,其特征在于,当事件为关闭目标窗口时,所述若目标窗口为非半透明窗口,则创建全屏半透明画布之后,还包括:
将所述窗口缓冲区中存储的窗口位图提交到所述全屏半透明画布窗口;
将所述非半透明窗口不自绘隐藏。
6.一种窗口动画实现装置,其特征在于,包括:
事件截获模块,用于截获窗口事件,暂停对目标窗口的操作;
所述事件截获模块包括:截获单元,用于截获系统的窗口WM_SHOWWINDOWN消息,截获显示或关闭目标窗口的事件;
窗口位图获取模块,用于获取目标窗口的窗口位图;
窗口缓冲区创建模块,用于创建缓存所述窗口位图的窗口缓冲区;
画布窗口创建模块,用于创建半透明画布窗口;
工作缓冲区创建模块,用于创建工作缓冲区;
窗口动画绘制模块,用于在所述工作缓冲区创建模块创建的工作缓冲区中,根据动画算法将所述窗口缓冲区中的窗口位图绘制成窗口动画;
动画显示模块,将所述窗口动画绘制模块绘制的窗口动画输出到所述半透明画布窗口上进行动画显示。
7.如权利要求6所述的窗口动画实现装置,其特征在于,所述事件截获模块,还包括:
事件判断单元,用于判断所述截获单元截获的事件为显示目标窗口或关闭目标窗口;
操作执行单元,用于在所述事件判断单元判断事件为显示目标窗口,暂停对目标窗口进行显示的操作;若判断事件为关闭目标窗口,则暂停对目标窗口进行关闭的操作。
8.如权利要求7所述的窗口动画实现装置,其特征在于,所述窗口位图获取模块,包括:
待显示位图获取单元,用于在所述事件判断单元判断事件为显示目标窗口时,根据所述截获单元截获的窗口WM_SHOWWINDOWN消息,从缓存中获取待显示的目标窗口的窗口位图;
已显示位图获取单元,用于在所述事件判断单元判断事件为关闭目标窗口时,根据所述截获单元截获的窗口WM_SHOWWINDOWN消息,从显示界面截取已显示的目标窗口的窗口位图。
9.如权利要求6至8中任一项所述的窗口动画实现装置,其特征在于,所述画布窗口创建模块,包括:
窗口判断单元,用于判断所述目标窗口是否为半透明窗口;
画布窗口初始化单元,用于在所述窗口判断单元判断所述目标窗口是半透明窗口,将该目标窗口作为半透明画布窗口;
画布窗口创建单元,用于在所述窗口判断单元判断所述目标窗口为非半透明窗口,创建全屏半透明画布窗口。
10.如权利要求9所述的窗口动画实现装置,其特征在于,所述画布窗口创建单元还用于所述事件判断单元判断事件为关闭目标窗口时,在创建全屏半透明画布之后,将所述窗口缓冲区中存储的窗口位图提交到所述全屏半透明画布窗口,将所述非半透明窗口不自绘隐藏。
 
CN201110447215.4A 2011-12-28 2011-12-28 一种窗口动画实现方法和装置 Active CN102591656B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110447215.4A CN102591656B (zh) 2011-12-28 2011-12-28 一种窗口动画实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110447215.4A CN102591656B (zh) 2011-12-28 2011-12-28 一种窗口动画实现方法和装置

Publications (2)

Publication Number Publication Date
CN102591656A CN102591656A (zh) 2012-07-18
CN102591656B true CN102591656B (zh) 2015-02-18

Family

ID=46480376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110447215.4A Active CN102591656B (zh) 2011-12-28 2011-12-28 一种窗口动画实现方法和装置

Country Status (1)

Country Link
CN (1) CN102591656B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731440B (zh) * 2013-12-20 2018-03-23 晨星半导体股份有限公司 画面绘制方法、画面更新方法、与相关移动电子装置
CN105630478B (zh) * 2014-12-01 2019-11-26 阿里巴巴集团控股有限公司 一种实现页面切换的方法和装置
CN108549575B (zh) 2018-04-19 2020-01-14 Oppo广东移动通信有限公司 退出分屏的处理方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377276B1 (en) * 1998-06-18 2002-04-23 Sony Corporation Bitmap animation of on-screen-display graphics over a distributed network and a clipping region having a visible window
US7168048B1 (en) * 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
CN101002252A (zh) * 2003-10-23 2007-07-18 微软公司 合成桌面窗口管理器
CN101706850A (zh) * 2009-10-21 2010-05-12 杭州乐港科技有限公司 一种网页游戏的消息提示方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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
CN101500031A (zh) * 2008-01-28 2009-08-05 德信智能手机技术(北京)有限公司 手机动画控制机制

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377276B1 (en) * 1998-06-18 2002-04-23 Sony Corporation Bitmap animation of on-screen-display graphics over a distributed network and a clipping region having a visible window
US7168048B1 (en) * 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
CN101002252A (zh) * 2003-10-23 2007-07-18 微软公司 合成桌面窗口管理器
CN101706850A (zh) * 2009-10-21 2010-05-12 杭州乐港科技有限公司 一种网页游戏的消息提示方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《VC动画窗口的实现》;宁波等;《电脑爱好者》;20010831(第16期);第81-82页 *

Also Published As

Publication number Publication date
CN102591656A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
KR102450865B1 (ko) 아바타 키보드
JP6001221B1 (ja) グラフィックス処理のための任意の制御ポイントでのフォールトトレラントプリエンプションメカニズム
JP6062438B2 (ja) タイル単位レンダラーを用いてレイヤリングするシステムおよび方法
TWI275039B (en) Method and apparatus for generating a shadow effect using shadow volumes
US11069106B1 (en) Dynamic mesh generation to minimize fillrate utilization
CN106062705B (zh) 跨平台渲染引擎
TW201042573A (en) Graphics processing system with power-gating function, power-gating method, and computer program products thereof
CN103645906B (zh) 基于固定的界面布局文件实现界面重新布局的方法及系统
CN104160420B (zh) 在图形处理单元上执行图形和非图形应用
WO2013010143A2 (en) Foreground/background assortment of hidden windows
CN102591656B (zh) 一种窗口动画实现方法和装置
US8031194B2 (en) Intelligent configurable graphics bandwidth modulator
US11403121B2 (en) Streaming per-pixel transparency information using transparency-agnostic video codecs
CN108027957A (zh) 用于上下文切换的上下文信息的高效保存和恢复
WO2010030712A1 (en) Methods and systems for per pixel alpha-blending of a parent window and a portion of a background image
WO2015066980A1 (zh) 一种软硬件压缩可配置的大数据处理系统
CN101930368B (zh) 一种计算机屏幕截取方法及其系统
CN104407384B (zh) 地震剖面显示的方法
CN109308742A (zh) 一种在虚拟现实的3d场景中运行2d应用的方法和装置
CN102591651A (zh) 一种网页3d渲染和控制方法及装置
CN113674132B (zh) 一种通过检测显卡能力切换窗口管理渲染后端的方法
CN103577046A (zh) 一种3d立体桌面系统及其实现方法
CN105719229A (zh) 一种基于指令流截取的应用程序透明化的分辨率控制
CN102117477B (zh) 一种嵌入式设备显示等待动画的方法及系统
CN105302252A (zh) 基于智能手机控制的光电脑

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road, room 9 building on the north side of block A901 No. 006 TCL Industry Research Institute building A A Building 8 floor

Applicant after: Shenzhen Wondershare Information Technology Co., Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road Building A block 8 Building TCL

Applicant before: Shenzhen Wondershare Software Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN WONDERSHARE SOFTWARE CO., LTD. TO: SHENZHEN WONDERSHARE INFORMATION TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 850000 Tibet autonomous region, Lhasa City, New District, west of the East Ring Road, 1-4 road to the north, south of 1-3 Road, Liu Dong building, east of the 8 unit 6, floor 2, No.

Patentee after: Wanxing Polytron Technologies Inc

Address before: 518057 Guangdong city of Shenzhen province Nanshan District Gao Xin Road, room 9 building on the north side of block A901 No. 006 TCL Industry Research Institute building A A Building 8 floor

Patentee before: Shenzhen Wondershare Information Technology Co., Ltd.