多窗口系统的显示控制方法

文档序号:100688阅读:284来源:国知局
专利名称:多窗口系统的显示控制方法
本发明涉及信息处理系统终端装置的显示画面控制方法,特别是涉及显示画面上设定多(几)个称为窗口的矩形区域并且每个窗口均能独立进行数据显示的多窗口系统的显示控制方法。
在装有显示器的信息处理系统终端里,在显示画面上设立称为窗口的矩形区域,在这个窗口内,显示从数据文件装置中读出的诸如文本这一类的数据,根据这些数据进行键入操作。在显示画面内的其它部分还可编作别的文件。按一个显示画面上设定几个上述窗口的所谓多窗口方式工作时,可设定出各个窗口按任意的位置关系互相作部分重叠的画面,若采用移动窗口的显示位置和改变显示序号的方法,则可以使原来一部分被其它窗口遮盖的任意窗口显现全貌。
在多窗口系统中,显示画面上设定的各个窗口分别与数据处理装置所使用的存贮器内设立的逻辑(或虚拟)显示画面相对应。将这个虚拟画面上一部分区域里的数据读出抽出,在与实际显示画面相对应的帧存贮器中确定的区域内按位象方式展开,作为窗口的内容加以显示(输出)。表示实际画面上窗口的位置与大小以及该窗口与虚拟画面上取数区域之间对应关系的数据,按各个窗口分别记录在窗口管理表内,操作员输入画面操作命令时,数据处理装置根据上述的窗口管理表,来控制和改变显示画面上特定窗口的显示内容。
例如,操作员用光标来指定作为处理对象的窗口,并给出将此窗口移到用光标指定的画面上其它位置的命令,此时,将上述窗口管理表内该窗口的位置数据加以改写,改变帧存贮器的内容,并显示画面上移动窗口的位置。当给出改变指定窗口大小的命令时,将窗口管理表内表示该窗口大小的数据加以改写,改变帧存贮器的内容,显示画面上就出现大小已改变的窗口。当给出使窗口内显示内容进行滚动的命令时,将改变虚拟画面抽出部分区域的位置,窗口内出现视场偏移的图象。
在现有的多窗口系统中,在改变上述窗口位置时,在画面上原来的窗口一旦消失后,再次从虚拟存贮器中读出(抽取)与该窗口对应的部分区域内的数据,并将其在帧存贮器中移动后的窗口位置上按位象(位映象)方式展开。当改变窗口大小时,也将从虚拟画面中再次读出与改变后的窗口大小相对应的部分区域内的数据。并将其在帧存贮器内按位象方式展开。同样,在滚动的场合下,滚动后的显示内容全部从虚拟画面中抽出,并将其在帧存贮器内按位象方式展开。然而,要进行显示数据的位象展开,例如将虚拟画面上以字符码存贮的数据变换成文字字模,需要较长的时间。因此就产生了这样的问题,如果象以前那样将改变后的窗口显示内容全部再次进行位象展开,就不能够迅速地改变显示的画面。
另一方面,在多窗口系统中,当在显示画面上设定多个窗口并使具有部份重叠的位置关系时,对于显示序号低(大)的窗口,需要将与其它窗口重叠而看不见的部分去除,其余的数据从上述虚拟画面中输出,存入帧存贮器内。这样,为了使各窗口实现部分显示与部分不显示,以前曾采用这样的控制方法象特开昭59-102284号公报所记载的那样,各个窗口以与它相重叠的其它窗口的各边为分割线,划分成多个矩形子区域,各子区域的位置和大小,与显示、不显示识别信息一起,记录在可见区域管理表内,显示数据只许向显示子区域输出。
然而,在现有的多窗口系统中,对于显示画面上设定的全部窗口来说,上述可见子区域与不可见子区域的数据均必须经常记录在可见区域管理表内。当画面上要增加新窗口,和改变窗口显示序号或位置关系时,需要根据显示画面来更新可见区域管理表的数据,不论选择哪个窗口,都能按照上述管理表立即更改显示。但是,显示画面上窗口的重叠关系越复杂,各窗口划分得越细,子区域的数目也越多,因此,若采用现有的方法,把全部窗口的可见子区域经常记录在表内,则可见区域管理表必须占很大的存贮器容量。另一个问题是,更新这种管理表内容时的处理时间也要增加。
本发明的目的在于提出一种多窗口系统的显示控制方法,它可以减少为了识别显示画面上设定的各窗口内可见区域与不可见区域所需的控制数据的存贮器容量。
本发明的另一目的是提出一种能高速改变显示画面的多窗口系统显示控制方法。
为了达到上述目的,在本发明中,根据当时显示画面上各窗口的位置关系,算出需要改变显示内容的控制对象窗口的可见区域,对得到的可见区域输出显示数据。可见区域计算的方法是将对象窗口依次与其它窗口(参考窗口)对照,如果互相有交错的位置关系,则将对象窗口分割成多个矩形的子区域。与参考窗口不重叠的子区域,作为重新分割的对象矩形区域,再次与其它的参考窗口相对照,进一步依次分割矩形区域。
也就是说,本发明提出的多窗口系统具有以下四个部分(1)第1存贮器,它用于存储设定了多个矩形窗口的显示画面,以及与上述显示画面的位置相对应的显示信息,(2)第2存储器,它用于存贮与上述窗口相对应的多个虚拟画面的显示数据,(3)第3存贮器,它用于存贮各窗口显示画面的位置数据以及表示与虚拟画面有对应关系的定义数据,(在各个窗口中显示与它对应的虚拟画面中部分区域内的数据)。(4)控制器,它用于对上述第1存贮器内存贮的显示信息进行部分改写。
这种多窗口系统的显示控制方法,包括以下3步第1步,根据上述第3存贮器内存放的位置数据,来对照被指定为显示控制对象的一个窗口和依次被选为参考窗口的上述显示画面上的其他窗口,如果上述两个窗口有互相交错的位置关系,则将上述对象窗口划分为两个子区域,一个是与上述参考窗口重叠的子区域,另一个是以该重叠子区域的边线为分割线的至少有一个矩形的非重叠子区域;
第2步,将上述非重叠子区域作为分割对象矩形,使该对象矩形与上述显示画面上其它窗口(该窗口被依次选定为参考窗口)相对照,当存在互相交错的位置关系时,将该对象矩形划分为与上述参考窗口相重叠的子区域和至少包括一个矩形的非重叠子区域,在应当参考的窗口消失之前,要将得到的非重叠子区域作为新的分割对象矩形区域,重复进行上述的对照和分割;
第3步,根据对象矩形区域的上述分割结果,将上述第1存贮器中的显示信息作部分的改写;
这样,就可以改变显示画面内上述对象窗口所占的可见区域里的显示内容。
因此,根据需要算出窗口内可见区域,是本发明的显示控制方法的特点,当采用此法时,原有系统所必需的用来存放可见区域管理表的存贮器空间就可以大幅度的减少。显示画面上指定一个窗口,利用此窗口与操作员之间进行数据交换时,依次分割矩形区域,将求得的可见区域的定义数据存入可见区域管理表内,此后的显示控制就可以利用。当控制对象改为其它的窗口时,如果可见区域管理表的存贮容量有余,则可保存上述定义数据。但是,如果为了存贮由其它窗口求得的新可见区域的定义数据而需要存贮空间,则原来的定义数据必须清除,以后在需要时再将其算出。
根据本发明,可见区域的定义数据不一定要给常存在管理表内。因为只有在改变或删除窗口显示顺序等情况下才短时间用到,定义数据。
本发明的上述以及其它目的、优点、工作方式以及新特点,通过阅读以下的介绍并参阅附图,即可了解。
图1是按本发明实施的多窗口系统的装置结构框图,图2说明显示画面上设定的窗口与该窗口内显示的虚拟画面上部分区域之间的关系,图3说明被几个其它窗口遮盖的一个窗口内的可见区域,图4A与图4B说明为算出上述可见区域而根据本发明依次分割显示区域的方法,图5A是窗口管理表的构成图、图5B是可见区域管理表的构成图,图5C是可见区域管理表内一个数据块的详细示图,图6是依次分割显示区域的程序流程图,图7是执行上述图6程序中一个子程序时的流程图,图8A与图8B说明本发明的第2实施方案中从显示画面上消去一个窗口时的显示画面,图9是实现第2实施方案的程序流程图,图10A与图10B说明本发明的第3实施方案中改变窗口显示序号时的显示画面,
图11是实现第3实施方案的程序流程图,图12A与图12B说明本发明的第4实施方案中改变窗口大小时的显示画面,图13是实现第4实施方案的程序流程图,图14说明本发明的第5实施方案中移动窗口位置时的显示画面,图15是实现第5实施方案的程序流程图,图16说明本发明的第6实施方案中画面滚动时的显示画面,图17是上述第6实施方案中虚拟画面的说明图,图18是关于上述第6实施方案中显示画面上数据再显示区域的说明图,图19是实现上述第6实施方案的程序流程图。
图1是采用本发明的多窗口方式终端设备的整体结构框图。在图中,11是控制终端全部动作的数据处理机(CPU),12是存放上述CPU执行程序的存贮器,13是临时存放程序执行过程中产生的数据的工作存贮器,14是存放窗口管理用表数据的存贮器,15是存放表数据(该数据用于管理窗口内的可见子区域)的存贮器,16是存放文本等文件数据的辅助存贮器,17是存放与各窗口对应的虚拟画面数据的存贮器,这些虚拟画面数据是从辅助存贮器16读出的。18是存放对应于字符代码的文字字模的字库存贮器,19是输入数据和各种命令的键盘,20是将显示数据在位象存贮器(帧存贮器)22内按位象方式展开的位象处理机(BMP),21是存放操纵位象处理机20的各种命令的存贮器,23是依次将帧存贮器22的内容读出并送往阴极射线管(CRT)30的CRT控制器。
图2示出了在存贮器17内存放的虚拟画面60与CRT显示画面(实际画面)30上设定的窗口31之间的关系。在此例中,窗口的位置大小用窗口矩形的起点(左上角)X、Y座标(X1,Y1)和终点(右下角)X、Y座标(X1、Y1)表示。虚拟画面60的大小与实际画面30相同,其部分区域S内的数据在窗口31内显示。但是,虚拟画面60也可以大于实际画面30。一部分区域S的位置与大小,与窗口31相同,用它的起点与终点的X、Y座标(X1,Y1)、(X1、Y1)表示。窗口31与部分区域S之间的对应关系,记录在图5A所示的窗口管理表140内。
图3示出了多窗口的显示画面,该显示画面30上的四个窗口W1、W2、W3与W4互相重叠。现在假定改变窗口的显示序号,如图中所示,将窗口W3在窗口W1、W2的下面,W3只有一部分(即子区域W31、W32和W23)是可见区域。在本发明中,窗口W3内这些可见子区域W21~W33是按照以下方法求得并对显示进行控制的。
首先,将作为分割对象的窗口W3与显示序号为第1位的窗口W1(参考窗口)相对照,以检验是否有交差关系。设分割对象窗口W3的起点与终点座标为(X3、Y3)与(X3′、Y3′),参考窗口W1的起点与终点座标为(X1、X1)与(X1′、Y1′),则当下述关系成立时,这两个窗口W1与W3交错,存在互相重叠的部分(X3<X1′)和(Y3<Y1′)和(X1<X3′)和(Y1<Y3′)当存在重叠部分时,将位于窗口W3内的窗口W1的上、下、左、右某些边作为分割线,将窗口W3划分成几个子区域,在此例中,如图4A所示,窗口W1的下边(座标Y1′)将窗口W3分成两个部分,上面一个子区域又被窗口W1的右边(座标X1)分成两个部分,结果得到三个子区域“a”、“b”、“c”。其中子区域“a”被窗口W1完全覆盖,成为不可见区域。因此,剩下的“b”、“c”子区域为可见区域。
根据本发明,将这些剩下的可见区域(不重叠区域),即子区域“b”与“c”作为分割对象,选择出显示序号比窗口W3高(小)的窗口即第2位窗口W2作为参考窗口,按上述步骤重复进行同样的区域分割处理。结果如图4B所示,子区域“b”又被分割为“b1”与“b2”,子区域“c”被分割为“c1”、“c2”与“c3”,除了完全被窗口W2所覆盖的“b2”、“c2”以外,剩下的3个子区域“b1”、“c1”与“c3”为可见区域。如果在窗口3的上面还有其它更高位的窗口,则将其作为参考窗口,对上述子区域“b1”、“c1”与“c3”作进一步的细分。在此例中,子区域“b1”、“c1”与“c3”,即图3中分别与之对应的W31、W32与W33为最终可见区域。
图5A示出了在存贮器14中形成的窗口管理表140的结构。对应于显示画面上设定的各个窗口W1~W4,作出窗口管理表140。一个表包括下列几部分窗口显示序号141、与该窗口对应的虚拟画面的识别号142、指向下述可见区域表的指针143、可见子区域的个数144、窗口起点的X、Y座标145、窗口终点的X、Y座标146、从虚拟画面中抽出的部分区域的起点X、Y座标147,以及这个部分区域的终点X、Y座标148。
图5B示出了在存贮器15中形成的可见区域表150的结构。这个表包括N个数组152-1~152-N及表示表中使用数组数目的区域151。上述的指针143,指向由个数区144表示的m个连续数组的头一个位置P。如图5C所示,每个数组包括显示画面上一个可见子区域的起点X、Y座标153、其终点X、Y座标154以及与该可见子区域对应的虚拟画面上子区域的起点与终点的X、Y座标155与156。
在现有的多窗口系统中,即使显示画面上已设定了允许的最大窗口数,而仍然需要在上述可见区域表150里准备能记录各窗口可见子区域全部定义数据的数组数目。与此相反,在本发明中,可见区域表150中的数组数目N却大大减少。为了显示控制,一旦按图4A与图4B中说明的步骤求得可见子区域后,这些可见子区域的定义数据立即存入表150。表150中已经记录了定义的数据,如果没有足够的剩余数组来记录新算出的可见子区域的全部定义数据,则已记录数据中的一部分或者全部要消去,以便记录新的可见子区域定义数据。与可见区域(该区域已从表150中消去)相对应的窗口在管理表140中,将其指针143与个数区144清除。对于指针143被清除的窗口,当其成为显示控制对象时,根据与其它窗口的位置关系,利用上述依次区域分割法求出可见子区域,并将它们记录在表150内,根据表150来更新帧存贮器22。现在,对于不是控制对象的窗口,帧存贮器由与其对应的区域内的内容不变,因此即使表150中没有可见子区域的定义数据也不成问题。
在显示画面上指定一个窗口WO。为控制对象窗口,需要改变该窗口的显示内容时,如果窗口管理表140内存有指针143,则根据这个指针,参照可见区域表150,按照在这里记录的可见子区域的定义数据,对帧存贮器22作部分改写。如果指针143没有指出表150,则按图6的程序流程图执行程序。此程序中,在第201步内将初值
设定为指定参考窗口的第1参数,在第202步内,将控制对象窗口W
的显示序号设定为第2参数,在第203步内,将窗口W
的X、Y座标145、146的数值作为定义分割对象矩形的第3参数,以这些参数为变量,在第204步内,调用计算可见区域的子程序(SUB1)。
如图7所示,在子程序SUB1中,首先在第210步分别将第1参数位置为RW、第2参数值置为OW,第3参数值置为对象矩形的座标数据。此外,在第212步使RW的数值增加1,在第214步,对RW与OW的数值进行比较。如果RW小于OW,即参考窗口的显示序号高(小)于分割对象窗口的显示序号,则进入第218步,判断此参考窗口与分割对象矩形是否有交错。设分割对象矩形的起点与终点分别为(X01、Y01)与(X02、Y02),参考窗口的起点与终点分别为(XR1,YR1)与(XR2、YR2),如果(X01<XR2)和(Y01<YR2)和(XR1<X02)和(XR1<Y02)成立,则表示分割对象矩形与参考矩形有交错,在这种场合下,进入第220步,根据上述图4A与图4B的方法,将对象矩形分割成几个子区域。如果没有交错,则回到第212步,把原来参考窗口的序号换成下一个窗口序号(即增加一),检查与分割对象矩形的交错关系。当第214步中RW=OW时,判断为不存在与分割对象矩形相重叠的其它窗口,在第216步,将该矩形的定义数据记入可见区域表150,使整个这个矩形成为显示区域,然后回到原来的程序上。
在第22步中将对象矩形分割成子区域,然后,在第222步检查在这些区域中是否存在可见子区域。如果有可见子区域,则在第224步检查参考窗口是否就是分割对象矩形近上面的那个窗口。如果是,则判定这次求得的可见子区域是真的可见区域,接着在第226步中将这些可见子区域记入可见区域表150中。
在参考窗口不是分割对象矩形近上面的那个窗口的情况下,需要进一步调查这次求得的可见子区域与其它高位(序号小)窗口的交错关系。此时,在第230步将这些未确定的可见子区域暂且记入存贮器内已准备好的工作表里,如下所述,一个个按序选出作为分割对象矩形,与剩下的参考窗口作对照。首先,在第232步为了从工作表取出子区域,将参数K的初始值置为1,子区域的个数参数设定为参数n。在第234步,将指定参考窗口的第1参数值设定为现在显示序号之值RW。在第236步,将工作表内第K号子区域的定义数据作为第3参数,第2参数仍旧使用原来在第202步中设置的数值。以这些第1~第3参数值作为变量,调用子程序SUB1。这样,工作表中第K号子区域与第RW+1号以下的各个窗口进行对照。第238步结束后,接着在第240步将参数K的数值增加1,在K的数值大于n之前,重复进行第236~240步。当这样重复执行子程序SUB1时,由于和最高位参考窗口的位置关系而被看作是显示区域的子区域,按照与其它参考窗口(该窗口的显示序号高于控制对象窗口)之间的位置关系,依次进行细分,最后剩下的可见子区域的定定义数据记入可见区域表150。
图8A与图8B示出了本发明的第2实施方案。该实施方案是显示控制的一个例子,如图8A所示,显示画面30在W1、W2、W3和W4四个窗口依次互相重叠显示的状态下,当第2号窗口W2从画面中消去时,原来被W2覆盖而成为不可见区域的部分,其显示将得到恢复。在这种场合下,利用本发明,将消除对象窗口W2作为对象矩形,将它与其它窗口(参考窗口)依次对照,逐步分割成子区域。当参考窗口的显示序号高于对象窗口(对象矩形)时,分割成的子区域中,与参考窗口不重叠的部分存入工作表,并将其选作下一个对象矩形,与第1实施方案一样,依次进行分割。在这个第2实施方案中,显示序号比对象窗口低的窗口也全部成为参考窗口。并且,这些已确定为完全与低位显示序号的参考窗口相重叠的子区域,逐个恢复显示。直到最后仍不与低位置显示序号的参考窗口相重叠的子区域,从画面上消去,这些区域不显示任何内容。根据这种控制方法,如图8B所示,图8A的第2窗口W2分割为a、b1、b2、c1、c2、c31、c32。子区域b2、c2内显示窗口W3的内容,子区域c1、c31内显示窗口W4的内容。不与其它任一窗口重叠的子区域b1与c32是消去区域。
图9是实现上述第2实施方案的子程序SUB2的流程图。这个子程序除了设定上述第1~3参数的数值外,还将显示画面上的窗口数H为第4参数加以设定,以这些参数为变量调用子程序。在最初的第310步,将上述各变量的值设定为子程序内的参数,在第312步内,参考窗口的显示序号RW值增1之后,在第314步将RW之值与窗口数MAX相比。如果RW不超过MAX,则在第318步要判断对象矩形是否与RW号的参考窗口交错,如果不交错,则这回到第312步。交错关系的判断过程与子程序SUB1中的第218步一样。如果在第314步RW>MAX,则对象矩形不与任一窗口交错,所以在第316步清除显示画面上上述对象区域的显示内容,此子程序至此结束。
在第318步中判断出对象矩形与参考矩形存在交错的场合下,在第320步将对象矩形分割为几个子区域。在第322步,参考窗口的显示序号RW与对象窗口的显示序号OW作比较,如果序号RW与序号OW相等或者低(大)于OW,则与该参考窗口相重叠的子区域内显示出该参考窗口的内容(第324步)。如果RW高(小)于OW,则不必显示。在这次分割的子区域中,如果有不与参考窗口相重叠的子区域,则进入第328步,如果没有,则子程序结束。
在第328步,参考窗口的显示序号RW与MAX比较,如果二者相等,则在第329步清除显示画面上这些不重叠的子区域。在RW与MAX不相等的情况下,这些不重叠的子区域必须与其它的窗口对照。于是,在第330步将这些子区域暂且记入工作表,执行第332~342步。第332~342步,除了第338步调用的子程序为SOB2以外,其余与图7中的第232~242步相同。
图10A~图11示出了本发明的第3实施方案,在此方案中,显示画面如图10A所示,有3个窗口W1、W2与W3,在此状态下,当改变了最下面一个窗口W1的显示序号(如图10B所示)时原来被窗口W2、W3遮盖的子区域W11与W12上要显示窗口W1的数据。这样,当改变了窗口显示序号时,根据本发明,也是将W1作为对象矩形,将W2、W3作为参考窗口,依次进行对照与分割处理,算出子区域W11与W12,改变这些子区域中的显示。
图11是改变上述用的子程序SUB3的流程图。调用这一子程序时,将初值置“O”设定为表示参考窗口的第1参数,将对象阀口新的显示序号作为第2参数,将对象窗口或对象矩形的座标数据作为第3参数,将对象窗口原来的显示序号作为第4参数。在子程序SUB3的最初第410步,设置第1参数的值为参考窗口的显示序号RW,第2参数的值为对象矩形的显示序号OW,第3参数为分割对象矩形的座标值,第4参数为参考终值MAX,在第412步,将RW之值增加1,在RW超过MAX之前,由第418步检验第RW号窗口(参考窗口)与对象矩形的交错关系。当RW值超过MAX时此子程序结束。当对象矩形与参考窗口交错时,在第420步将对象矩形分割为几个子区域。在第422步,将RW与OW比较,如果RW较大(即显示序号小),则与参考窗口重叠的子区域在第424步改变状态,显示出对象窗口的内容。在第426步,判断在这次分割所得到的子区域中是否有与参考窗口不重叠的区域,如果设有不重叠区域,则此子程序结束。如果有不重叠区域,则在第428步将参考窗口的显示序号RW与MAX比较,如果二者相等,则此子程序结束,如果RW与MAX不等,则进入第430步。在第430步,与参考窗口不重叠的子区域暂且记入工作表内,在第432~442步,与第1、第2实施方案的情况相同,根据与其它窗口的关系,对这些子区域进行再分割处理。
再者,图11表示对象窗口的显示序号从下(大)到上(小)的情况,在与相反的情况下,将对象窗口的原来显示序号作为第2参数,将对象窗口新的显示序号作为第4参数。此外,在这种场合下,图11中的第424步,在重叠子区域内显示参考窗口的内容即可。
图12A~图13示出了本发明的第4实施方案。在这个实施方案中,如图12A所示,在互相重叠显示的三个窗口W1、W2与W3之中,将第2号窗口W2作为对象窗口,将下侧的一部分区域a消去,在右侧扩展区域b。在进行这种画面改变时,根据本发明,如图13所示,将对象窗口改变前后的大小(尺寸)数据进行比较,算出被消去的部分区域a以及扩展的部分区域b(第510步)。接着,对于扩展的部分区域b,将它当作一个对象矩形,象第1实施方案那样,依次分割成子区域,只在可见子区域内改变按位象方式展开的显示(第520)。此外,对于消去的区域a,也将它当作一个对象矩形,象第2实施方案那样,依次进行分割处理,对显示序号低(大)于它的窗口,其相应的部分画面要加以恢复(第530步)。这样,如图12B所示,在可见子区域W12内增加窗口W2的内容显示;在可见子区域W13内增加窗口W3的内容显示。
下面说明本发明的第5实施方案。图14表示在显示画面上显示的三个窗口W1、W2与W3之中,将原来位于窗口W1下面的窗口W3移动到点划线所示的W3′位置上。在移动后的窗口W3′中,W33′是被窗口W2遮盖的部分,W31′是原来被窗口W1遮盖的部分。按本发明,可用图15所示的步骤来实现随着这种窗口移动而进行的示示控制。
首先,在第610步将移位后的窗口W3′作为对象矩形,检查它与重叠窗口的交错关系,求得可见区域R′(=子区域a′+子区域b′),然后,在第620步求出与上述可见子区域R′相对应的移位前窗口W3内的子区域R(=子区域a+子区域b)。接着,在第630步将子区域R作为对象矩形,检查它与重叠窗口的交错关系,求出重叠区域W31与再显示区域r(用斜线表示的区域),在第640步,求出与上述再显示区域r对应的移位后的区域r′。在第650步,在帧存贮器内将区域r中的画象数据移到区域r′。接着,在第660步,求出与重叠区域W31相对应的窗口W3′中的子区域W31′,将逻辑画面按位象方式展开,就可在该子区域W31′内进行显示。此外,在第670步,将移位前窗口W
所占的画面区域作为对象矩形,象第2实施方案所示那样依次进行分割,进行画面恢复。在图14中如果W
下面存在其它的窗口,则按第670步处理使被遮盖的部分又出现在画面上。
如上所述,移位后窗口内可见区域的显示,是通过移动帧存贮器内老窗口的数据以及将逻辑画面上的数据进行位象展开这一综合方法来实现的,因此可以减少位象展开的数据量,提高显示的更改速度。
图16~图19是本发明的第6实施方案。在这个实施方案中,要实现窗口视场的移动,即所谓滚动操作,根据虚拟画面上滚动前后可见区域的交错关系,求出滚动前的显示区域中在滚动后的画面上再次成为显示区域的子区域,对于这些再显示子区域,通过帧存贮器中数据的移动来进行显示,仅仅对新进入视场的区域,才通过对来自虚拟画面的数据进行位象展开,来减少应进行位象展开的数据量。
如图16所示,现在假定在显示画面30上要使与窗口W1重叠的窗口W2的显示内容进行滚动。在这种情况下,将窗口W2分割为W21、W22与W23三个子区域,其中W22与W23为可见区域。
图17表示与窗口W2对应的虚拟画面60,画面70对应于滚动前的窗口,80对应于滚动后的窗口。在此方案中,对应于子区域W22的虚拟画面区域71内的部分S1与S2,仍保留在滚动后的子区域W22的左边和子区域W23的左上边。同样,与子区域W23相对应的虚拟画面区域72中有一块S3,仍保留在滚动后的子区域W23的右下边。因此,如果所确定这些再显示区域S1′、S2′与S3′,那么如图18所示,在帧存贮器中将再显示区域S1、S2与S3的内容移到S1″、S2″与S3″的位置上,仅仅对其它可见区域,才将来自虚拟画面的数据作位象展开,这样就可以获得滚动的画面。
图19是表示实现上述滚动操作显示控制步骤的流程图。首先,在第710步把进行滚动的窗口(W2)作为对象窗口,按第1实施方案所示的子程序SUB1求得可见子区域W22与W2 。接着,在第720步求得与上述区域相对应的滚动前虚拟画面上的可见子区域71与72。然后在第730步,求出滚动后虚拟画面上的可见子区域81与82。在第740步检查这些滚动前后的可见子区域的交错关系,求出重叠区域S1、S2与S3。如果没有重叠区域,则进入第780步,对来自虚拟画面上对应区域81、82的数据作位象展开,以求出滚动后的全部可见子区域W22与W23。如果有重叠区域,则在第750步求出与这些重叠区域S1′、S2′与S3′相对应的滚动前显示画面上的再显示区域S1、S2与S3。接着,在第760步求出与上述重叠区域相对应的滚动后显示画面上的子区域S1″、S2″与S3″。在第770步将帧存贮器内滚动前再显示子区域中的内容转移到滚动后对应的子区域。此外,在对每个重叠区域传送图象时,如虚线所示,对所有的重叠区域均需重复执行第750~770步。这些处理结束后进入第780,除再显示区域外其他可见区域里,对来自虚拟画面的数据进行位象展开。
权利要求
1.多窗口系统具有以下四个部分(1)第1存贮器,它用于存贮设定了多个矩形窗口的显示画面,以及与上述显示画面上的位置相对应的显示信息。(2)第2存贮器,它用于存贮与上述窗口相对应的多个虚拟画面显示数据,(3)第3存贮器,它用于存贮各窗口显示画面上的位置数据以及表示与虚拟画面有对应关系的定义数据,在各窗口内显示与它对应的虚拟画面中部分区域内的数据,(4)控制器,它用于对上述第1存贮器内存贮的显示信息进行部分改写,这个多窗口系统的显示控制方法,包括以下3个步骤第1步,根据上述第3存贮器内存放的位置数据,来对照被指定为显示控制对象的一个窗口和依次被选为参考窗口的上述显示画面上的其他窗口,如果上述两个窗口有互相交错的位置关系,则将上述对象窗口划分为两个单区域,一个是与上述参考窗口重叠的子区域,另一个是以该重叠区域的边线为分割线的至少包括一个矩形的非重叠子区域;第2步,将上述非重叠子区域作为分割对象矩形,使该对象矩形与上述显示画面上其它窗口(该窗口依次选定为参考窗口)相对照,当存在互相交错的位置关系时,将该对象矩形划分为与上述参考窗口相重叠的子区域和至少包括一个矩形的非重叠子区域。在应当参考的窗口消失之前,将得到的非重叠子区域作为新的分割对象矩形区域,重复进行上述的对照与分割。第3步,根据对象矩形的上述分割结果,将上述第1存贮器中的显示信息作部分的改写;这样,就可以改变显示画面内上述对象窗口所占的可见区域里的显示内容。
2.要求1中的显示画面上,只有那些显示序号高(小)于对象窗口的窗口才成为上述参考窗口,从显示序号高(小)的窗口开始,依次选作参考窗口,对于与最后留下的非重叠子区域相对应的上述第1存贮器中的部分区域,按上述第3步进行显示信息的改写。
3.要求2中上述显示控制对象窗口是应当扩大的窗口,用与扩大部分相当的矩形区域来代替上述第1步中的对象窗口,与参考窗口相对照。
4.要求1中上述显示控制对象窗口是应当从显示画面中消去的窗口,从显示画面上显示序号高(小)的窗口开始,选择上述参考窗口,每次得到重叠子区域后,都要执行上述第3步,与上述参考窗口相对应的虚拟画面的内容,显示在与该重叠子区域相对应的显示画面部分。与最后剩余的非重叠子区域相对应的显示画面部分将被消去。
5.要求1中上述应当显示控制的对象窗口是需要缩小尺寸的窗口,用由关尺寸缩小在上述对象窗口中消失的一部分矩形区域,来代替上述第1步中的对象窗口,与参考窗口相对照。
6.要求1中上述显示控制对象窗口是指定再提高(减小)其在显示画面上的显示序号的窗口,在显示序号的改变前的显示画面上,从显示序号高(小)的窗口开始,依次选择显示序号高(小)于上述对象窗口原来显示序号的窗口作为上述参考窗口,与上述对象窗口相对应的虚拟画面上的内容,依次显示在与重叠子区域相对应的显示画面部分。
7.要求1中上述显示控制的对象窗口是应当将显示画面上的显示位置从第1位置移到第2位置的窗口,对位于上述第2位置的对象窗口,执行上述的第1步与第2步,另外还包括以下步骤第4步,对于位于第2位置的对象窗口,要求出上述第1位置的对象窗口内的矩形区域(该区域对应于已得到的至少一个非重叠子区域),第5步,将第4步得到的矩形区域,和被选作参考窗口的显示画面上的其它窗口相对照,当二者存在交错位置关系时,分割成重叠子区域与至少包含一个矩形的非重叠子区域,将非重叠子区域作为新的对象矩形,依次反复与其它参考窗口相对照;上述第3步又包括以下步骤第6步,将第5步中得到的最后非重叠子区域中的显示信息,在上述第1存贮器中,从第1位置移到第2位置。与6步,与第5步中得到的重叠子区域相对应的上述对象窗口的虚拟画面上的内容,输出到上述第2位置的窗口内不显示区域;第7步,除了第5步内得到的重叠子区域以外,将第1位置的对象窗口内的显示信息消除。
8.要求1中上述控制对象窗口是应当使显示内容进行滚动的窗口,还包括下述这些步骤第4步,对应于上述第1步与第2步中得到的非重叠子区域,求出对应于上述对象窗口的虚拟画面上滚动前的第1可见区域;第5步,对应于上述非重叠区域,求出对应于上述对象窗口的虚拟画面上滚动后的第2可见区域;第6步,将第1可见区域与第2可见区域相对照,求得互相重叠的区域,作为再显示区域;上述的第3步包括以下步骤第7步,将对应于上述第1存贮器中上述再显示区域的显示信息转移到滚动后的显示位置上;第8步,将第2可见区域中除了上述再显示区域以外的部分区域内的显示信息,输出到上述第1存贮器内相对应的部分区域。
专利摘要
在画面上设定几个窗口、各个窗口均可独立显示的多窗口系统中,可根据与画面上各窗口的位置的重叠关系,求出任一窗口的可见区域。它可有选择地控制显示信息的输出,并这样来求出检查作为控制对象的窗口与画面上其它作为参考窗口的窗口之间的交错关系,当互相交错时,将对象窗口分割成子区域,将与参考窗口不重叠的子区域作为新的对象区域,返复与其它参考窗口相对照,进行分割,即依次对区域进行分割。向已知为可见区域的子区域依次输出显示信息。
文档编号G09G5/14GK86105001SQ86105001
公开日1987年4月29日 申请日期1986年8月14日
发明者岩见秀文, 小岛富彦, 中村昭次, 村田文也 申请人:株式会社日立制作所导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1