用于处理同时选图事件的方法和设备的制作方法

文档序号:2599279阅读:204来源:国知局
专利名称:用于处理同时选图事件的方法和设备的制作方法
技术领域
本发明涉及图形数据处理选图事件,具体说涉及处理同时选图事件。
图形应用程序常要用于显示在存储器中描述的多个目标的图象。这些图形应用程序一般可以让用户为各种目的,诸如擦去目标,改变目标颜色等,而选择或选取一所显示的目标。用户的每一次对一个目标或多个目标的选取称之为一个选图事件。每个选图事件在用户能赏试另一个选图事件之前由图形应用程序进行处理。然而,如果用户正在一个具有多个图形适配器的主计算机上使用多图形应用程序,则用户可以在每个适配器上执行各个选图事件,每个适配器一次只处理一个选图事件。这些图形适配器可以有单独的或共享的图形显示器。
下面介绍用作选图的各种装置和方法。
美国专利NO.4,958,147是关于一个利用一个图形数据缓冲器的图形显示处理系统,用户可以在一个选图窗口内进行图形选取。
美国专利4,941,111是关于一个视频选图和剪取系统,它包括存储在主存储器中被显示的目标的列表,该列表可以用来确定一个目标是否已被选取过。
美国专利NO.4,885,704是关于一个用于扫描一个文件,和显示所扫描的文件的国家处理系统和用于存档所扫描的文件的文卷装置。
美国专利NO.4,698,625是关于醒目一所选的图形目标以便指示该目标已被选过的系统。
美国专利NO.4,189,744是关于一个让用户选择一个现存景物的所需那些部分并自动获得那些部分的轮廓线的系统。
本发明包括一个用于处理要显示的目标的设备,该设备包括用来显示目标的显示器,与显示装置相耦合用来处理有关被显示目标的选图事件的装置,与该处理装置相耦合用来请求处理装置处理一个第一选图事件的装置,及与处理装置相耦合用来在上述第一选图事件的处理请求过之后及在该第一选图事件的处理完成之前,请求处理装置处理一个第二选图事件的装置。
本发明也包括一种处理显示的目标方法,该方法包括如下步骤显示目标,在一个共用处理装置上处理与被显示的目标有关的选图事件,请求处理装置处理一个第一选图事件,及在该第一选图事件的处理已被请求之后和在该第一选图事件的处理完成之前,处理装置处理一个第二选图事件。
在参阅3下面的描述和附图之后,对本发明的内容和优点会有进一步的理解。


图1是一个典型的数字计算机的方框图;
图2是说明被主计算机和图形适配器使用的用以完成图形功能的代码层的方框图;
图3是说明一个典型的三维图形系统如何执行一个选图事件的流程图;
图4和6是说明为使用本发明的最佳实施例而对图3的流程图作修改的流程图;
图7是说明一个被设备驱动器利用的选图事件缓冲器的项目的方框图。
图1是一个典型的数字计算机100的方框图。计算机包括与存储器相连的主处理器110,输入设备130和输出设备140。主处理机110可包括单个处理机或多个处理机。输入设备130可包括一个键盘,鼠标,图形输入板,或其它类型的输入设备。输出设备140可包括一个文本监视器,绘图机或其它类型的输出设备。主处理机也可通过一个图形适配器耦合到诸如图形显示器这样的图形输出设备150。图形适配器200在总线160上由主处理机110接收有关图形的指令。图形适配器然后执行这些指令,并根据这些修改帧缓器240。帧缓冲器240包括主要在图形输出设备上显示各种象素的数据。一个RAMDAC(随机存取存储数字一模拟转换器)250将存在帧缓冲器中的数字数据转换成要提供给图形显示器150的RGB信号,从而由此从主处理机提取所需的输出。
图2是一个说明由主计算机和适匹配器通常使用的、用来完成图形功能的代码层的方框图。一个诸如UNIX的操作系统300提供主计算机的主控制。与操作系统相耦合的操作系统核心310为操作系统向硬件,提供强化的任务。该操作系统核心直接与主机计算机微代码320通信。主计算机微指令是由主计算机处理器执行的主指令。图形应用程序330和332与操作系统相耦合。这些图形应用程序软件可以包括诸如SiliconGraphic的GL,IBM的grapHIGS,MIT和PEX等的软包,这些软件提供两维或三维图形的主功能。图形应用程序330与332与图形应用程序API(应用程序接口)340和342分别相耦合。该API为图形应用程序提供大量计算任务,以及为图形适配器在图形软件与较接近于诸如设备驱动器的图形软件间提供一种接口,例如,API340和342可以分别与GAT(图形应用程序接口)350和352通信。GAT在应用程序API和一个图形适配器设备驱动器370之间提供一种接口。在有些图形系统中,API也执行GAI的功能。
图形应用程序API和GAI被操作系统看成是单个进程。即是说,图形应用程序330和332,API340和342,及GAI350和352被操作系统330和设备驱动器370分别看成是进程360和362。上述进程由操作系统和设备驱动器用一个进程标识符(PID)来标识的,由操作系统核心给进程指定此标识符。进程360和362可以使用该同一码,该码同时被执行两次,诸如,在两个分开的窗口对一个程序执行两次。该PID被用于区分同一码的各次执行。
驱动设备是一个图形核心,该图形核心是操作系统核心310的延伸。图形核心直接与图形适配器380的微代码直接通信。在许多图形系统中,如果没有使用GAI层,则GAI,或APU可以通过向该驱动器发一个启动请求指令请求从GAI或API直接获取微代码。此处,许多图形系统在不使用GAI时通过设备驱动器发出一个启动请求指令也允许适配器从适配器微码直接获取GAI或API。上述两个进程令后称之为直接存储器存取(DMA)。当传输大的数据块时,通常要使用DMA。本发明消除了要经过显示器驱动而只要发出该启动请求使设备驱动器建立DMA(直接存储器存取)而此DMA提供了在主计算机与适配器之间的比较块的数据传输。在某此情况下,适配器微代码利用上下文转移,这种转移可使适配器微代码替换正被适配器的微代码使用的现行属性。当适配器微代码要从利用一个不同于当前正使用的适配的微代码的属性的图形应用程序接收一个指令时,上下文转移被使用。上下文转移常由确认该属性改变的设备驱动器启动。
方框300-340是一些通常与所使用的图形适配器的类型无关的软件代码层。方框350-380是一些通常与所使用的图形适配器的类型有关的软件层。例如,一个不同的图形适配器要被图形应用软件使用,则一个新的GAI,图形核心和适配器微代码就是需要的。此外,方框300-370是在计算机内并由计算来执行。然而,该适配器微代码380则在图形适配器内并由其执行。不过,在某些情况下,该适配器微代码由计算机在图形适配器的初始化时被装入到图形适配器内。
在通常的图形系统中,用户指示图形应用程序构建根据一个二维或三维模式构建图象。用户首先选择光的位置和类型。用户然后指示该应用程序软件根据一组预定的或用户确定的目标去建立所需的模式。每个目标可以包括一个或多个描述该目标的图元。例如,一组诸如许多三角形的图元可以被用于确定一个目标表面。用户然后在一个窗口中提供一个透视去观察该模式,由此确定所需的图象,应用程序软件然后采用通过该API,GAI,及设备驱动器(除非使用DMA)向适配器微代码发送描述目标的图元的方法来启动根据该模式描制该图象。适配器微代码然后通过剪削(即不使用)这些在窗口见不到的图元在图形显示器上描绘该图象,适配器微代码然后根据用户提供的透视将每个余下的图元分成一些可见的象素。然后将这些象素装入到帧缓冲器中,在三维模式时则经常使用尝试缓冲器。该步的计算量甚大。因为包含了相当数量的图元、度量及象素。这样,最后存于帧缓冲器和示于图形显示器上的图象并不携带诸如有关象素来自那个图元或目标这样一些原来的信息。这样一来,如果窗口、用户透视、模式、明暗分布等改变时,就要对图象作局部或整体的再描绘。这也会对试选窗口中的目标造成困难。在典型的三维模式中,当用户正在选取显示在窗口中的目标时,要经历有一个复杂而费时的过程。
图3是一个典型的三维图形系统如何执行一个选图事件的流程图。由图形应用程序、应用程序API,GAI设备驱动器及适配器微代码分别实行在方框400,410,420,430及440中的各步。在第一步500时,图形应用程序软件从用户接收诸如鼠标的软软敲击(clicking)这种选图请求。图形应用程序软件则分配一个用来接收被选取的图元的名字或其它标识符的选图数据缓冲器,及一个选图数据长度。应用程序软件然后调用一个选图子例行程序来对选图数据缓冲器和选图数据长度核对位置(例如Pick[Buffer,Brfferlen])。在步505时,图形应用程序API用来向和从适配器微代码传递数据的选图数据结构。选图数据结构包括一个选图报告用来标识该选图数据结构正用于一选图事件。此外,该选图数据结构包括光标的x和y座标和某些应用程序的特定变量,诸如一个描述所使用的图形适配器类型的设备号和描述是否使用一个鼠标或其它类型I/O设备的选图设备号。图形应用程序API然后将一个选图模式指令传送给GAI,而将指针指向所分配的选图数据结构。在步510,GAI用向设备驱动器发布一个选图模式指令响应于来自API选图模式指令。该选图指令包括一些选图数据结构指针,包括指向选图极和选图缓冲器的那些指针。设备驱动器也接收发布选图模式命令的进程(图形应用程序,API及GAI)的吉程标识府(PIO)。在步515,设备驱动器建立一个DMA用来根据该选图命令在图形适配器和主计算机之间移动数据。设备驱动器然后向图形适配器微代码发布一个包括选图数据结构指针的选图模式命令。在涉及520小时,微代码将指向选图数据结构的指针存入适配器存储器中,然后进入到一个选图模式。在选图模式中,适配器将不显示所接收到的图元。适配器将决定所选的图元是否被选取。此外,在选图模式中,适配器将不从设备驱动器中接收任何其它的命令,直到选图事件结束。结果,该应用程序软件或其它与图形适配器耦合的应用程序软件将不能够利用图形适配器,直止选图事件结束时为止。
在图形应用程序软件调用选图子例行程序不允,在步525图形应用程序软件启动产生有关正在选取的图象的图元。在步530时,图形应用程序API给GAI关去这些加有名字或其它识别图元用原标识符。在步535时,GAI用DMA将这些图元及其名字送至图形适配器代码。在步540时,图形适配器微代码通过DMA接收图元并开始决定是否任何图元被选取的进程(即被提取的图元包括一个位于光标的x和y座标的象素,这些座标是提供在选图数据结构中心的。
在步545,在第一图元已确定要予以选取后,微代码设立DMA(从适配器微代码至GAI)将该第一选取的图元送回到在选图缓冲器中的图形应用程序。微代码然后给设备驱动器产生一选图结束中断信号以告知已被适配器微代码确定的该第一图元已通过DMA送至GAI。在550步,设备驱动器接收选图结束中断信号,然后通知GAI第一取的图元已通过DMA被送至GAI。在先有技术中,有些适配器利用一个在适配器中的状态寄存器,该状态可以被设备驱动器读出,它包括一个被该适配器微代码插入到该状态寄存中的,用来指定何种类型的中断信号(选图中断,出错中断等)被该适配器送至设备驱动器。在555步时,GAI通知API第一选取的图元是在选图缓冲器中。在560步时,图形适配器API通知图形应用程序第一选取的图元是在选图数据缓冲器中。
在该处,图形应用程序可以继续将图元送至微代码或它可以停止向微代码送图元。这取决于是否为该特定图形应用程序的选图事件是一个第一选图,最未选图,全部选图,还是可视选图等。如果是一个第一选图,则不需要再选取图元。因此,图形应用程序可能停止向适配器代码送图元。如果是最末选图,可视选图或全体选图,则图形应用程序可能向适配器微代码继续传送图元,直到将全部图元传送完毕为止。
在526步时,任何情况下只要图元传送结束,图形应用程序在564步时指示API向GAI发出一个结束模式指令的请求。在566步时,GAI发出一个结束模式指令给设备驱动器。在750步时,设备驱动器向适配器微代码发送一个结束选图模式指令。
在575步,图形适配器微代码中止选取图元的DMA。在选取的图元名称(一个或多个)的DMA结束后,如果没有选取到图元,则图形适配器输出该选图模式,以使适配器接收新的与该选图事件无关的命令,并向该调和驱动器发送一个选图结束中断指令。在580步时,设备驱动器通知GAI选图已由适配器微代码完成。在585步,GAI通知图形应用程序API选图事件结束,被送的图元的名称或标识符是在选图缓冲器中。在590步,图形应用程序API通知图形应用程序所选的图元是在数据缓冲器中。在595步,图形应用程序有被分配的选图数据缓冲器,而该缓冲器中放满了符合该应用程序的选图要求,图形应用程序可根据其要求利用该信息。
上述描述的进程的困难之一是当用户对一给定的图形适配器启动一个选图事件时,在该选图事件结束前,用户在另一个窗口或进程是可能启动另一个诸如选图事件这样的事件。当选图模式复杂到足以使用户能等待一段长时间以使在用户启动选图事件之后完成该选图事件时,的确更是如此。下面描述了让用户启动一个选图事件并然后能够在第一选图事件结束前继续进行另一个诸如选图事件那种任务。
图4是一个说明对图3的流程图作修改的流程图,以利用本发明的一个最佳实施例。方框600和650相应于图3的方框515和520。方框600包括由包括驱动器实行的四个步骤。在第一步610中,设备驱动器建立一个DMA用来根据选图命令在图形适配器与主计算机之间传送数据。在620步时,设备驱动器获得一个选图事件标识符,此处称之为一个相关符代码(Corrc′atorCode)或相关符。在一个最佳实施例中,主计算机存储器包括一个用来存放一个相关符代码的寄存器或存储单元。每当该相关符代码用于另一选图事件时,相关符代码加1经为下个选图事件作准备。另一个可选择的实施例中,如果每一图形应用程序一次只能发送一个选图事件,则进程标识符可用作为选图标识符。设备驱动器然后连同进程标识符(PID)和数据结构指针将该相关代码存入到主计算机存储器中的缓冲器中。在640小,设备驱动器向图形适配器微代码发布一个包括选图数据结构指针和相关符代码的选图模式命令。
在650步,适配器微代码执行如下三步骤在660和670步,适配器微代码将指向选图数据结构的指针和相应的相关代码存入适配器存储器中,在680步,适配器微代码进入到一个选图模式。在选图模式中,适配器将不再显增接收到的相应于相关代码的图元。适配器将决定这些所接收的图元是否选取。与先有描述选图模式不同的是,适配器仍将从设备驱动器接收除了与选图事件有关的命令以外命令,并可转发从其它应用程序软件发来的图元。适配器微代码能够处理其它包括其它选图事件微,因驱动器和适配器微代码有一相关符或送图事件标识码,该标识码有一选图数据结构指针,它标识数据结构指向那个选图事件,对利用上下文转移的诸适配器,设备驱动器在告诉适配器微代码上下文需要由适配器微代码进行修改经付使用时,将使用进程标识符和相关符。
图5是一个用来说明对图3所示的流程图的修改的流程图用以使用本发明的一个最佳实施例。方框700和760相应于图3的方框535和540。GAI实行和700步中的两个步骤。在710步时,GAI通过DMA向图形适配器发送图元及其名字。在720步,GAI通知设备驱动器它已向适配器微代码发出图元。在730步,设备驱动器首先在740步根据该进程标识符确定该GAI是否不同于先前的GAI。如果是,则设备驱动器在750时通知适配器改变选图事件。如果否,则设备驱动器允许适配器微代码继续当前状态的进程。适配器微代码继续在760步是三个步骤。如果设备驱动器告诉了适配器改变选图事件,则适配器微代码将在770步时修改那些指向数据的指针,包括适配器微代码利用的选图数据结构。对利用上下文转移的适配器,设备驱动器在告诉适配器该上下文为着使用而需要由适配器进行修改时,将使用进程标识符和相关符。在780步,适配器器微代码过DMA从GAI读出图元和图元名称。在790步,适配器微代码确定哪个图元已被选取。
图6是一个说明对图3的流程所作修改的流程图,用来利用本发明的最佳实施例。方框800和850相应于图3的方框545和550或方框575和580。
在800步,适配器微代码完成三个步骤。在810步,适配器微代码开始DMA(从该适配器微代码至GAI),将选取的图元(一个或多个)的名称送回到选图缓冲器的图形应用程序中,被选取的图元的名称被送至适当的GAI,因为同一数据结构指针都被GAI的适匹器微代码用于选图事件。在820步,适配器微代码将相应于由DMA传送的图元的名称相关符代码放入适配器存储中的状态寄存器,所述适配器存储器是可被设备驱动器存取的。在830步,适配器微代码向设备驱动器发送一个选图结束中断信号告诉图元已被适配器微代码确定要予以选取及告诉所选取的图元已以DMA送至GAI。
在850步,设备驱动器完成三个步骤。在第一步860,设备驱动器接收选图结束中断信号。在870步,设备驱动器读在适配器存储器中的状态寄存器以获取相关符代码。在880步,根据该相关符代码,设备驱动器读在主存储器中的选图事件缓冲器以获取相应于相关符代码的进程标识码(PID)。在890步,根据PID,设备驱动器通知适当的GAI所选取的图元(一个或多个)已经由DMA关至GAI。
图7是一个说明由设备驱动器存在主计算机主存储器中的选图事件缓冲器项目。所述缓冲器项目包括启动选图事件的进程的进程标识符(PID)910,用于由该进程分配的选图数据结构的选图数据结构指针920,及相应于选图事件的相关符930。
由于使用了选图事件标识符或相关符代码,设备驱动器和适配器微代码能够处理多个同时选图事件。即,相关符提供了标识每个选图事件的手段,从而可使图形系统标识哪一选图事件相庆于某些数据、指令或其它选图事件特定信息。例如,当一个第一选图事件的图元正由第一图形应用程序送至适配器微代码时,一个第二图形应用程序可以能请求启动一选图事件并然后在第一选图事件结束前开始发送有关第二选图事件的图元。
虽然本发明已结合具体实施例作了充分的描述,但其它可供选用的实施例可能对本领域的普通技术人员是显而易见的。例如,可以用操作系统产生相关符代码并把该相关符代码用作为在选图数据结构中的选图事件标识符(该数据结构被传递至设备驱动器和适配器微代码0的方法,同一图形应用程序可以执行两个同时发生的选图事件。此外,选图事件标识符可以被用于综上述以外的其它类型的选图事件操作法。因此,以上描述不能当作对如权利要求所限定的本发明的范围的限止。
权利要求
1.一种用于处理要显示的目标的设备,其特征在于(a)用于显示目标的显示装置;(b)处理装置,它与显示装置相耦合,用来处理属于被显示目标的选图事件;(c)与处理装置相耦合,用来请求处理装置处理一个第一选图事件的装置;及(d)与处理装置相耦合,用来在第一选图事件已被请求处理之后而在该第一选图事件结束前请求处理装置处理第二选图事件的装置。
2.权利要求1的设备,其特征在于用于区分第一选图事件和第二选图事件的装置。
3.权利要求2的设备,其特征在于上述区分装置包括用于产生用于每个选图事件的标识符。
4.权利要求3的设备,其特征在于用于请求第一选图事件的装置包括一个利用用一个第一被显示的区域的第一应用程序装置。
5.权利要求4的装置,其特征在于用于请求第二选图事件的装置包括一个利用一个第二显示的区域的第二应用程序装置。
6.一种用于处理要显示的目标的方法,其特征在于如下步骤(a)显示目标;(b)在普通的处理装置上处理属于被显示的目标的选图事件;(c)请求处理装置处理一个第一选图事件;及(d)在第一选图事件已请求处理之后并在该处理结束前,请求处理装置处理一第二选图事件。
7.权利要求6的方法,其特征在于区分第一选图事件与第二选图事件的步骤。
8.权利要求7的方法,其特征在于其中的区分步骤包括产生用于每个选图事件的标识符。
9.权利要求8的方法,其特征在于请求第一选图事件步骤包括利用一个第一显示的区域的步骤。
10.权利要求9的方法,其特征在于请求第二选图事件的步骤包括利用第二显示的区域的步骤。
11.一种用于处理要显示的目标的设备,其特征在于(a)用于显示目标的显示装置;(b)处理装置,它与显示装置相耦合,用来处理属于被显示的目标的选图事件;及(c)一个主计算机,它包括(1)与处理装置相耦合、用来请求处理装置处理一个第一选图事件的装置;及(2)与处理装置相耦合、用来在请求处理第一选图事件之后而在该第一选图事件处理结束之前,请求处理装置处理一个第二选图事件的装置。
12.权利要求11的设备,其特征在于该主计算机包括用于区分第一选图事件与第二选图事件的装置。
13.权利要求12的设备,其特征在于所述区分装置包括用来产生一个用于每个选图事件的装置。
14.权利要求13的设备,其特征在于用于请求第一选图事件的装置包括一个第一应用程序装置,用来利用第一显示的区域。
15.权利要求14的设备,其特征在于用于请求第二选图事件的装置包括一个利用一个第二显示的区域第二应用程序装置。
全文摘要
用于处理要显示的目标的系统,包括显示目标的显示器,与显示装置耦合的、用来请求处理装置去处理第一选图事件的装置和与处理装置相耦合用来请求在第一选图事件的处理请求之后和在第一选图事件结束前请求处理装置处理第二选图事件的装置。以及相应的处理要显示的目标的方法。
文档编号G09G5/00GK1068906SQ92104928
公开日1993年2月10日 申请日期1992年6月22日 优先权日1991年7月23日
发明者魏括, 加里·李·怀斯曼 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1