附加画面绘制方法及系统的制作方法

文档序号:6468591阅读:161来源:国知局
专利名称:附加画面绘制方法及系统的制作方法
技术领域
本发明涉及计算机图形领域,尤其涉及一种基于图形绘制引擎应 用的附加画面绘制方法及系统。
背景技术
图形绘制引擎实质上是操作系统把硬件显示设备封装起来的一 组软件接口 ,操作系统和图形应用程序通过调用图形绘制引擎的接口 来实现各种图形绘制功能操作。
图形应用程序使用图形绘制引擎来实现图形绘制操作,可以使软
件开发者不需要考虑不同的显示硬件的型号差别、性能差异,而只关 心操作系统封装的图形绘制引擎使用方法即可,因此大大减轻了开发 难度,也提高了软件的可移植性。目前主要的图形绘制引擎主要有微
软提供的GDI、 GDI+、 DirectDraw、 Direct3D,以及SGI公司制定 的OpenGl(Open Graphics Library).
这些图形应用程序的典型应用包括游戏、视频播放器等。以游戏 为例,目前市面上游戏都是利用图形绘制引擎来绘制游戏画面的,游 戏的绘制原理是利用图形绘制引擎提供的接口将各种游戏画面素材按 照指定的区域和一定的速度(比如每秒绘制60帧或30帧,根据机器性 能而定)不停输出到图形绘制引擎的显示緩沖,然后由图形绘制引擎将 显示緩沖的内容输出到屏幕显示,这样使人看起来游戏内的场景人物 的动作是连续而逼真的。
对于发布者或者使用者来说,如果在游戏画面或视频播放的画面 中嵌入其他应用的附加画面,例如广告或IM应用等,可能会增加这 些图形应用程序的实用性和附加价值。但目前技术中,为了在图形应 用程序的播放画面中嵌入其他应用的附加画面,需要对该图形应用程序进行修改,加入相应的代码来实现附加画面绘制方法。这种方式存 在一定的问题,首先是需要根据不同的图形应用程序进行修改,修改 需要大量的开发成本和时间,其次有些图形应用程序出于技术的保密 和安全性而不允许修改,因此现有技术中的附加画面绘制方法存在着 很大的局限性。

发明内容
本发明的目的是提出一种附加画面绘制方法及系统,能够在不修 改图形应用程序本身的逻辑上实现在显示画面中绘制附加内容绘制程 序的附加画面。
为实现上述目的,本发明提供了一种附加画面绘制方法,包括 在取得图形绘制引擎接口的控制权之后,附加内容绘制程序在图形应 用程序运行过程中,将所述附加内容绘制程序需要显示的附加内容绘 制到屏幕上。
进一步的,在所述附加内容绘制程序启动时,取得图形绘制引擎 接口的控制权。
进一步的,所述取得图形绘制引擎接口的控制权的操作具体为 创建与原图形绘制51擎设备定义一致的代理图形绘制引擎设备,以替 换原图形绘制引擎设备,其中所述代理绘图引擎设备包括所述附加内 容绘制程序的动作逻辑,所述代理绘图引擎设备调用原图形绘制引擎 设备的接口。
进一步的,所述取得图形绘制引擎接口的控制权的操作具体为 保存原图形绘制引擎设备的接口地址,并将原图形绘制引擎设备的接 口地址修改为所述附加内容绘制程序实现的接口地址。
进一步的,所述取得图形绘制引擎接口的控制权的操作具体为 保存原图形绘制引擎设备的接口的指令内容,并将原图形绘制引擎设 备的接口的指令内容修改为附加内容绘制程序实现的接口的指令内 容。
进一步的,所述将附加内容绘制程序需要显示的附加内容绘制到
6屏幕上的操作具体为捕获绘制附加画面的时机,将所述附加内容绘 制程序需要显示的附加内容绘制到屏幕上。
进一步的,所述捕获绘制附加画面的时机,并将所述附加内容绘 制程序需要显示的附加内容绘制到屏幕上的操作具体为当所述附加 内容绘制程序监测到原图形绘制引擎设备的绘制完成输出接口被调用 时,和/或当所述附加内容绘制程序监测到所述图形应用程序调用原图 形绘制引擎设备的绘制接口时,将所述附加内容绘制程序需要显示的 附加内容绘制到屏幕上。
进一步的,所述将附加内容绘制程序需要显示的附加内容绘制到 屏幕上的操作具体为所述附加内容绘制程序获得所述原图形绘制引 擎的画面緩沖,并将附加内容绘制程序需要显示的附加内容按照指定 的位置覆盖到原图形绘制引擎的画面緩冲上。
进一步的,所述将附加内容绘制程序需要显示的附加内容绘制到 屏幕上的操作具体为所述附加内容绘制程序利用所述原图形绘制引 擎设备的绘制接口直接将所述附加内容绘制程序需要显示的附加内容 绘制在屏幕上。
为实现上述目的,本发明提供了一种附加画面绘制系统,包括
控制权取得模块,用于在所述附加内容绘制程序启动时,取得图 形绘制引擎接口的控制权;
绘制模块,用于在取得图形绘制引擎接口的控制权之后,在图形 应用程序运行过程中,将需要显示的附加内容绘制到屏幕上。
进一步的,所述控制权取得模块包括
代理引擎创建单元,用于在所述附加内容绘制程序启动时,创建 与原图形绘制引擎设备定义一致的代理图形绘制引擎设备,以替换原 图形绘制引擎设备,其中所述代理绘图引擎设备包括所述附加内容绘 制程序的动作逻辑,所述代理绘图《I擎设备调用原图形绘制引擎设备 的接口;
进一步的,所述控制权取得模块包括
接口地址保存单元,用于在所述附加内容绘制程序启动时,保存
7原图形绘制引擎设备的接口地址;
接口地址修改单元,用于将原图形绘制引擎设备的接口地址修改 为所述附加内容绘制程序实现的接口地址。
进一步的,所述控制权取得模块包括
指令保存单元,用于在所述附加内容绘制程序启动时,保存原图 形绘制引擎设备的接口的指令内容;
指令修改单元,用于将原图形绘制引擎设备的接口的指令内容修 改为附加内容绘制程序实现的接口的指令内容。
进一步的,还包括绘制时机捕获单元,用于监测原图形绘制引 擎设备的绘制完成输出接口被调用的时刻,和/或监测所述图形应用程 序调用原图形绘制引擎设备的绘制接口的时刻。
进一步的,所述绘制模块包括第一绘制模块,用于获得所述原 图形绘制引擎的画面緩冲,并将附加内容绘制程序需要显示的附加内 容按照指定的位置覆盖到原图形绘制引擎的画面緩冲上。
进一步的,所述绘制模块包括第二绘制模块,用于利用所述原 图形绘制引擎设备的绘制接口直接将所述附加内容绘制程序需要显示 的附加内容绘制在屏幕上。
基于上述技术方案,本发明在不需要通过改变图形应用程序本身 逻辑的情况下,实现附加内容绘制程序在图形应用程序中绘制其他的 附加内容,避免了因为需要修改图形应用程序源代码而增加的开发成 本和时间,也方便了用户的使用。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请 的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构
成对本发明的不当限定。在附图中
图1为本发明附加画面绘制方法的一实施例的流程示意图。 图2为本发明附加画面绘制方法的另一实施例的流程示意图。 图3为本发明附加画面绘制方法的又一实施例的流程示意图。
8图4为本发明附加画面绘制方法的再 一 实施例的流程示意图。 图5为本发明附加画面绘制系统的一实施例的结构示意图。 图6为本发明附加画面绘制系统的另一实施例的结构示意图。
具体实施例方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
在本发明的各个实施例中,图形应用程序指的是利用图形绘制引 擎设备在屏幕上进行图形绘制的应用程序,例如视频播放器、游戏等。 附加内容绘制程序指的是在图形应用程序运行过程中需要在屏幕上的 某个位置显示需要附加的内容的绘制程序,所显示的附加内容可以是 其他一些应用程序要展现的内容,例如广告程序、即时通信程序等。
如图l所示,为本发明附加画面绘制方法的一实施例的流程示意 图。在本实施例中包括两个基本步骤,如下
步骤IOI、在附加内容绘制程序启动时,取得图形绘制引擎接口 的控制权;
步骤102、附加内容绘制程序在图形应用程序运行过程中,将所 述附加内容绘制程序需要显示的附加内容绘制到屏幕上,其中绘制过 程在取得图形绘制引擎接口的控制权之后可以重复进行。
所谓取得图形绘制引擎接口的控制权指的是在图形应用程序使 用图形绘制引擎进行绘制时,拦截图形绘制引擎的接口调用。只有取 得了图形绘制引擎接口的控制权,附加内容绘制程序才能在图形应用 程序的绘制过程中加入自身的逻辑。
另外,需要说明的是,附加内容绘制程序需要显示的内容(即附 加内容)绘制到屏幕后即得到附加画面。
取得图形绘制引擎接口的控制权有多种手段,例如设备代理方 式、修改接口地址方式或者修改接口内容方式等。绘制附加内容的操 作也有多种手段,例如绘制绘图緩冲或者直接绘制等方式。
接下来,通过其他的方法实施例对几种绘制附加画面的实现方式进行详细地i兌明。
如图2所示,为本发明附加画面绘制方法的另一实施例的流程示 意图。在本实施例中,图形绘制引擎接口的控制权的取得方式采用设 备代理方式,绘制流程具体包括
步骤201 、创建与原图形绘制引擎设备定义一致的代理图形绘制 引擎设备,以替换原图形绘制引擎设备,其中所述代理绘图引擎设备 包括所述附加内容绘制程序的动作逻辑,代理绘图引擎设备调用原图 形绘制引擎设备的接口。
步骤202、获得所述原图形绘制引擎的画面緩冲。
步骤203、将附加内容绘制程序需要显示的附加内容按照指定的 位置覆盖到原图形绘制引擎的画面緩冲上。
在本实施例中,代理图形绘制引擎设备的作用是接手原图形绘制 f I擎设备的控制权,而实际绘制过程是由代理图形绘制引擎设备调用 原图形绘制引擎设备的接口进行绘制的,也就是说,在图形应用程序 运行时,通过代理图形绘制引擎设备间接的调用原图形绘制引擎设备 的接口 。在代理图形绘制引擎设备中包含有附加内容绘制程序的动作 逻辑,代理图形绘制引擎设备既响应图形应用程序的调用,也执行相 应的附加内容绘制操作。
本实施例所采用的绘制方式为修改绘图緩冲的方式,即步骤 202-203。绘制过程步骤202-203在取得图形绘制引擎接口的控制权后 可以重复进行
在本实施例中图形绘制引擎接口的控制权的取得方式还可以采 用修改接口地址方式或修改接口内容方式等,这两种方式将在后面进 行说明。
下面分别给出了釆用设备代理方式取得图形绘制引擎接口的控 制权的实现代码的例子(代码说明1)和修改绘图緩冲的绘制方式的 实现代码的例子(代码说明2)。
代码说明h取得图形绘制引擎设备接口的控制权(设备代理方式)
〃代理图形绘制引擎的设备接口定义,其接口定义和原图形绘制引擎设备的接口定义是一致的。
class OwnDrawDev
void Begin("); void Drawlmage(…); void End("); void PresentO;
〃附加应用保存的原图形绘制引擎设备
RealDrawDev* IpSaveDrawDev;
〃该函数用代理的图形绘制引擎设备替换原图形绘制引擎设备 OwnDrawDev* ModifyInterface(RealDrawDev* lpDrawDev)
OwnDrawDev* lpNewDrawDev;
〃创建一个代理图形绘制引擎设备 LpNewDrawDev = new OwnDrawDev;
〃保存原图形绘制引擎设备 IpSaveDrawDev = lpDrawDev;
〃将代理图形绘制引擎设备返回给使用图形绘制引擎设备的应用 return OwnDrawDev;
代码说明2:绘制附加画面数据(使用修改绘图緩冲方式) void DrawADDImagel()LPVOID IpSysImageBuf; 〃系统的绘图缓冲 LPVOID lpAddlmageBuf; 〃附加画面数据缓冲 INTnAddWidth,nAddHeight; 〃附加画面的宽和高 INTnAddXPos,nAddYPos; 〃附加画面的绘制位置
〃调用实际难得图形绘制引擎设备的接口得到系统的绘图缓冲 IpSysImageBuf = lpSaveDrawDev->GetSysImageBuf();
〃得到附加画面数据
1pAddlmageBuf = GetAddlmageBuf();
〃得到附加画面数据的宽高 nAddWidth = GetAddlmageWidth(); nAddHeight = GetAddlmageHeight();
〃得到附加画面需要绘制的位置 nAddXPos = GetAddlmaeXPos(); nAddYPos = GetAddlmaeYPos();
〃将附加画面数据按照指定的位置复制到系统的画面缓冲数据中 for(int i= nAddYPos ;i< nAddYPos+ nAddHeight ;i++) for(int j= nAddXPos ;j< nAddXPos十nAddWidth ;j++)
{
IpSysImageBuf [i,j
=lpAddImageBuf[i- nAddYPos ,j- nAddXPos;
在上述技术方案中,绘制附加画面的方式也可以釆用直接绘制的 方式,直接绘制方式在后面将会详细说明。在图形应用程序使用图形绘制引擎绘制画面时,需要加载绘制的 图形数据,设置图形绘制引擎的状态,并按照一定的速度输出画面。 如果附加内容绘制程序在图形应用程序绘制过程中不加区分的直接绘 制附加画面,就存在画面闪烁,绘制错误等异常情况出现的可能。因 此,为了提高显示效果,可以通过捕获图形绘制引擎特定的工作时机 来绘制附加画面,避免画面闪烁,绘制错误等异常情况出现。
如图3所示,为本发明附加画面绘制方法的又一实施例的流程示 意图。在本实施例中,就给出了一种通过捕捉特定工作时机绘制附加 画面的方法,绘制过程包括
步骤301、保存原图形绘制引擎设备的接口地址,这个保存的接 口地址将在附加内容绘制程序绘制完成时返回使用。
步骤302、将原图形绘制引擎设备的接口地址修改为所述附加内 容绘制程序实现的接口地址。这样当图形应用程序调用原图形绘制引 擎设备的接口时,先跳到附加内容绘制程序实现的接口地址,再由附 加内容绘制程序调用原图形绘制引擎设备的接口进行绘制。
步骤303、附加内容绘制程序监测原图形绘制引擎设备的绘制完 成输出接口是否被调用,也就是说每当监测到图形绘制$ 1擎设备的绘 制完成输出接口被调用时,附加内容绘制程序就可以开始绘制附加内 容了。
步骤304、利用所述原图形绘制引擎设备的绘制接口直接将所述 附加内容绘制程序需要显示的附加内容绘制在屏幕上。
在本实施例中,步骤303-304可以在取得图形绘制引擎接口的控 制权之后重复执行。
在本实施例中,采用了修改接口地址的取得控制权方式,接下来 还提供了这种取得控制权方式的实现代码的例子(代码说明3),
代码说明3:取得图形绘制引擎设备接口的控制权(修改接口地址
方式)
〃附加应用保存的原图形绘制引擎设备 RealDrawDev* 1pSaveDrawDev;VOID ModifyInterface2(RealDrawDev* 1pDrawDev)
〃保存原图形绘制引擎设备对象 IpSaveDrawDev = lpDrawDev;
〃将图形绘制引擎设备的接口替换成附加应用新定义的接口
lpImageDev->Begin = NewBegin;
lpImageDev->End = NewEnd; lpImageDev->DrawImage = NewDrawImage; lpImageDev-> Present = NewPresent;
在本实施例中,还提供了绘制时机的捕捉的实现代码的例子(代
码说明4),以及采用直接绘制的方式绘制附加画面的实现代码的例 子(代码说明5)。
代码说明4:捕获绘制时机(监视绘制完成输出接口的调用)
"自定义的绘制完成接口,由于附加应用取得了图形绘制引擎设备的控制权,当 使用图形绘制引擎的应用调用绘制完成输出接口时,将直接跳到附加应用的绘制完成 接口输出来执行。*/
VOID NewPresent()
〃先绘制附加画面 DrawAddImage();
〃然后调用原图形绘制引擎设备的绘制完成接口输出来完成绘制输出操作 lpSaveDrawDev->Present();代码说明5:绘制附加画面数据(使用直接绘制方式) void DrawADDImage2()
LPVOID lpAddlmageBuf; 〃附加画面数据缓冲 INTnAddWidth,nAddHeight; 〃附加画面的宽和高 INTnAddXPos,nAddYPos; 〃附加画面的绘制位置
〃得到附加画面数据 lpAddlmageBuf = GetAddlmageBuf();
〃得到附加画面数据的宽高 nAddWidth = GetAddlmageWidth(); nAddHeight = GetAddlmageHeight();
〃得到附加画面需要绘制的位置 nAddXPos = GetAddlmaeXPos(); nAddYPos = GetAddlmaeYPos();
〃调用原图形绘制引擎设备的绘制接口来绘制附加画面 lpSaveDrawDev->DrawImage(lpAddImageBuf,
nAddXPos , nAddYPos,
nAddWidth , nAddHdght);
在本实施例中,取得图形绘制引擎接口的控制权的方式也可以采 用设备代理方式,绘制附加内容的方式也可以使用修改绘图緩冲的方 式。这几种替代情况这里就不详述了。
如图4所示,为本发明附加画面绘制方法的再一实施例的流程示 意图。在本实施例中采用修改接口内容的方式来取的图形绘制引擎接
15口的绘制权,具体绘制过程包括
步骤401、保存原图形绘制引擎设备的接口的指令内容。
步骤402、将原图形绘制引擎设备的接口的指令内容修改为附加 内容绘制程序实现的接口的指令内容。这样当图形应用程序调用图形 绘制引擎设备的接口时,首先调用附加内容绘制程序的接口指令内容, 再由附加内容绘制程序调用原图形绘制引擎设备的接口的指令内容。
步骤403 、附加内容绘制程序监测所述图形应用程序是否调用原 图形绘制引擎设备的绘制接口 。
步骤404、获得所述原图形绘制引擎的画面緩冲。
步骤405、将附加内容绘制程序需要显示的附加内容按照指定的 位置覆盖到原图形绘制引擎的画面緩冲上。
在本实施例中,步骤403-405可以在取得图形绘制引擎接口的控 制权之后重复执行。
在本实施例中,采用了修改接口内容的取得控制权方式,接下来 还提供了这种取得控制权方式的实现代码的例子(代码说明6),
代码说明6:取得图形绘制引擎设备接口的控制权(修改接口内容 的方式)
LPVOID lpOldCmd; 〃原接口的指令内容 LPVOID NewPresent; 〃接口新的指令内容
VOID ModifyInterface3(RealDrawDev* lpDrawDev)
〃保存原接口的指令内容 CopyCmd(lpOldCmd, lpImageDev->Present);
〃然后将原接口的指令内容修改为附加应用新定义接口的指令内容
CopyCmd(lpImageDev->Present , NewPresent);
16〃修改其他接口的内容
return;
〃附加应用定义的接口实现
VOID NewPresent()
〃先执行附加应用的逻辑 DrawAddlmage();
〃最后调用原先保存的接口指令内容 call lpOldCmd;
本实施例还提供了 一个捕捉绘制时机方式的实现代码的例子(代
码说明7),如下
/*自定义的绘制完成接口,由于附加应用取得了图形绘制引擎设备的控制权,当 使用图形绘制引擎的应用调用图像绘制接口时,将直接跳到附加应用的图像绘制接口 来执行。*/
VOID NewDrawImage(LPVOID lpImageData,INT nXpos,INT nYpos,INT nWidth,INT nHeight)
〃先调用原图形绘制引擎设备的图像绘制接口绘制应用本身的图像 lpSaveDrawDev->DraeImae(lpImageData, nXpos, nYpos, nWidth, nHeight);
〃然后绘制附加画面 DrawAddlmage();在本实施例中,取得图形绘制引擎接口的控制权的方式也可以采 用设备代理方式或者修改接口地址方式,捕捉绘制时机的方式也可以 采用监视绘制完成输出接口的调用,或者这两种捕捉时机的方式都釆 用,绘制附加内容的方式也可以使用直接绘制的方式。这几种替代情 况这里就不详述了。
本领域普通技术人员可以理解实现上述方法实施例的全部或部 分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于 一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实 施例的步骤;而前述的存储介质包括ROM、 RAM、磁碟或者光盘 等各种可以存储程序代码的介质。
如图5所示,为本发明附加画面绘制系统的一实施例的结构示意 图。在本实施例中包括两个基本模块控制权取得模块1和绘制模块 2。其中,控制权取得模块l负责在所述附加内容绘制程序启动时,取 得图形绘制引擎接口的控制权。绘制模块2用于在取得图形绘制引擎 接口的控制权之后,在图形应用程序运行过程中,将需要显示的附加 内容绘制到屏幕上。
控制权取得模块l的实现方式有多种,在另一个实施例中,控制 权取得模块1可以具体包括代理引擎创建单元。其中代理引擎创建单 元用于在所述附加内容绘制程序启动时,创建与原图形绘制引擎设备 定义一致的代理图形绘制引擎设备,以替换原图形绘制引擎设备,其 中所述代理绘图引擎设备包括所述附加内容绘制程序的动作逻辑,所 述代理绘图引擎设备调用原图形绘制引擎设备的接口
在再一个实施例中,控制权取得模块l也可以具体包括接口地 址保存单元和接口地址修改单元。其中接口地址保存单元用于在所述 附加内容绘制程序启动时,保存原图形绘制引擎设备的接口地址。接 口地址修改单元用于将原图形绘制引擎设备的接口地址修改为附加内 容绘制程序实现的接口地址。在又一个实施例中,控制权取得模块1还可以包括指令保存单元 和指令修改单元。其中指令保存单元用于在所迷附加内容绘制程序启 动时,保存原图形绘制引擎设备的接口的第一条指令。指令修改单元 用于将所述第一条指令修改为转移指令,该转移指令的转移目标为所 述附加内容绘制程序实现的接口地址。
如图6所示,为本发明附加画面绘制系统的另一实施例的结构示 意图。与上一实施例相比,本实施例还增加了绘制时机捕获单元3, 用于监测原图形绘制《I擎设备的绘制完成输出接口被调用的时刻,和/ 或监测图形应用程序调用原图形绘制引擎设备的绘制接口的时刻。
在另一个实施例中,所述绘制模块可以具体包括第一绘制模块, 用于获得所述原图形绘制引擎的画面緩冲,并将附加内容绘制程序需 要显示的附加内容按照指定的位置覆盖到原图形绘制引擎的画面緩冲 上。
在又一个实施例中,所述绘制模块还可以具体包括第二绘制模 块,用于利用所述原图形绘制引擎设备的绘制接口直接将所述附加内 容绘制程序需要显示的附加内容绘制在屏幕上。
本发明在不需要通过改变图形应用程序本身逻辑的情况下,实现 附加内容绘制程序在图形应用程序中绘制其他的附加内容,避免了因 为需要修改图形应用程序源代码而增加的开发成本和时间,也方便了 用户的使用。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而 非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属 领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进 行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案 的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1、一种附加画面绘制方法,包括在取得图形绘制引擎接口的控制权之后,附加内容绘制程序在图形应用程序运行过程中,将所述附加内容绘制程序需要显示的附加内容绘制到屏幕上。
2、 根据权利要求1所述的附加画面绘制方法,其中在所述附加 内容绘制程序启动时,取得图形绘制引擎接口的控制权。
3、 根据权利要求2所述的附加画面绘制方法,其中所述取得图 形绘制引擎接口的控制权的操作具体为创建与原图形绘制引擎设备定义一致的代理图形绘制引擎设备, 以替换原图形绘制引擎设备,其中所述代理绘图引擎设备包括所述附 加内容绘制程序的动作逻辑,所述代理绘图引擎设备调用原图形绘制 引擎设备的接口。
4、 根据权利要求2所述的附加画面绘制方法,其中所述取得图 形绘制引擎接口的控制权的操作具体为保存原图形绘制引擎设备的接口地址,并将原图形绘制引擎设备 的接口地址修改为附加内容绘制程序实现的接口地址。
5、 根据权利要求2所述的附加画面绘制方法,其中所述取得图 形绘制引擎接口的控制权的操作具体为保存原图形绘制引擎设备的接口的指令内容,并将所述原图形绘 制引擎接口的指令内容修改为附加内容绘制程序实现的接口的指令内 容。
6、 根据权利要求1所述的附加画面绘制方法,其中所述将附加 内容绘制程序需要显示的附加内容绘制到屏幕上的操作具体为捕获绘制附加画面的时机,将所述附加内容绘制程序需要显示的 附加内容绘制到屏幕上。
7、 根据权利要求6所述的附加画面绘制方法,其中所述捕获绘 制附加画面的时机,并将所述附加内容绘制程序需要显示的附加内容绘制到屏幕上的操作具体为当所述附加内容绘制程序监测到原图形 绘制引擎设备的绘制完成输出接口被调用时,和/或当所述附加内容绘 制程序监测到所述图形应用程序调用原图形绘制引擎设备的绘制接口 时,将所述附加内容绘制程序需要显示的附加内容绘制到屏幕上。
8、 根据权利要求1或7所述的附加画面绘制方法,其中所述将 附加内容绘制程序需要显示的附加内容绘制到屏幕上的操作具体为所述附加内容绘制程序获得所述原图形绘制引擎的画面緩冲,并 将附加内容绘制程序需要显示的附加内容按照指定的位置覆盖到原图 形绘制引擎的画面緩冲上。
9、 根据权利要求1或7所述的附加画面绘制方法,其中所述将 附加内容绘制程序需要显示的附加内容绘制到屏幕上的操作具体为所述附加内容绘制程序利用所述原图形绘制引擎设备的绘制接 口直接将所述附加内容绘制程序需要显示的附加内容绘制在屏幕上。
10、 一种附加画面绘制系统,包括控制权取得模块,用于在所述附加内容绘制程序启动时,取得图 形绘制引擎接口的控制权;绘制模块,用于在取得图形绘制引擎接口的控制权之后,在图形 应用程序运行过程中,将需要显示的附加内容绘制到屏幕上。
11、 根据权利要求10所述的附加画面绘制系统,其中所述控制权取得模块包括代理引擎创建单元,用于在所述附加内容绘制程序启动时,创建 与原图形绘制引擎设备定义一致的代理图形绘制引擎设备,以替换原 图形绘制引擎设备,其中所述代理绘图引擎设备包括所述附加内容绘 制程序的动作逻辑,所述代理绘图引擎设备调用原图形绘制引擎设备 的接口。
12、 根据权利要求10所述的附加画面绘制系统,其中所述控制权取得模块包括接口地址保存单元,用于在所述附加内容绘制程序启动时,保存 原图形绘制引擎设备的接口地址;权利要求书第3/3页接口地址修改单元,用于将原图形绘制引擎设备的接口地址修改 为所述附加内容绘制程序实现的接口地址。
13、 根据权利要求10所述的附加画面绘制系统,其中所述控制权取得模块包括指令保存单元,用于在所述附加内容绘制程序启动时,保存原图 形绘制引擎设备的接口的指令内容;指令修改单元,用于将原图形绘制引擎设备的接口的指令内容修 改为附加内容绘制程序实现的接口的指令内容。
14、 根据权利要求10所述的附加画面绘制系统,其中还包括 绘制时机捕获单元,用于监测原图形绘制引擎设备的绘制完成输出接 口被调用的时刻,和/或监测所述图形应用程序调用原图形绘制引擎设 备的绘制接口的时刻。
15、 根据权利要求10或14所述的附加画面绘制系统,其中所述 绘制模块包括第一绘制模块,用于获得所述原图形绘制引擎的画面緩冲,并将 附加内容绘制程序需要显示的附加内容按照指定的位置覆盖到原图形 绘制引擎的画面緩冲上。
16、 根据权利要求10或14所述的附加画面绘制系统,其中所述绘制模块包括第二绘制模块,用于利用所述原图形绘制51擎设备的绘制接口直 接将所述附加内容绘制程序需要显示的附加内容绘制在屏幕上。
全文摘要
本发明涉及一种附加画面绘制方法,包括在图形应用程序运行过程中取得图形绘制引擎接口的控制权,并将附加内容绘制程序需要显示的附加内容绘制到屏幕上。本发明涉及一种附加画面绘制系统,包括控制权取得模块,用于在图形应用程序运行过程中取得图形绘制引擎接口的控制权;绘制模块,用于将附加内容绘制程序需要显示的附加内容绘制到屏幕上。本发明在不需要通过改变图形应用程序本身逻辑的情况下,实现附加内容绘制程序在图形应用程序中绘制其他的附加内容,避免了因为需要修改图形应用程序源代码而增加的开发成本和时间,也方便了用户的使用。
文档编号G06T15/70GK101452580SQ20081018355
公开日2009年6月10日 申请日期2008年12月18日 优先权日2008年12月18日
发明者建 潘, 南 肖, 雷 谢, 黄建峰 申请人:北京壁虎科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1