CN102819428B - 窗口*** - Google Patents
窗口*** Download PDFInfo
- Publication number
- CN102819428B CN102819428B CN201210178012.4A CN201210178012A CN102819428B CN 102819428 B CN102819428 B CN 102819428B CN 201210178012 A CN201210178012 A CN 201210178012A CN 102819428 B CN102819428 B CN 102819428B
- Authority
- CN
- China
- Prior art keywords
- window
- transparent overlay
- decoder
- drafting
- overlay window
- 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 - Lifetime
Links
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
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Power-Operated Mechanisms For Wings (AREA)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
- Window Of Vehicle (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了窗口***。描述了一种在一个屏幕上显示一个窗口的方法,其中该窗口具有一个通过它看得见置于下面的对象的背景。此外还描述了当在一个窗口中进行绘制时,管理位于这样一个窗口下面的窗口的方法。
Description
相关申请的引用
本申请是国家申请号为00816055.4的发明专利申请的分案申请,该发明专利申请的国际申请日为2000年9月26日,国际申请号为PCT/IB00/01486,发明名称为“窗口***”。
技术领域
本发明涉及用于显示一个窗口、在一个窗口中绘制并显示一个导航显示屏的装置和方法、一个接收器/解码器、一个电视***、一个计算机程序产品、一种计算机可读介质和一个信号。
本发明具有对一个和接收器/解码器一起使用的窗口***的特殊应用。
参考其内容在此通过参考被包含在此的欧洲专利申请99402353.9、99402721.7和00300832.3,并且要求享受它们的优先权。
背景技术
窗口***用来允许不同的窗口内容、例如诸如文本或图形图象的图形对象被同时显示在处于一个屏幕上的、被称为窗口的不同区域上。在传统窗口***中的窗口包含在一个区域中的矩形,在该区域中的、可以绘制图形的对象相对于一个不透明背景进行显示。窗口通常占据屏幕的一个选定区域,而且一个窗口的大小、背景色和位置通常是在打开该窗口时定义的,并且在打开之后是可改变的。
传统的窗口***在它们允许信息在该屏幕上呈现的方式上可能是固定的。例如,如果两个窗口重叠了,则在最前面的窗口将遮蔽位于下面的这个窗口的重叠部分。
发明内容
在本发明的第一个方面中,提供了一种在一个屏幕上显示一个窗口的方法,其中该窗口具有这样一个背景,通过该背景看得见置于下面的对象。在一个尤其可取的方面,这种方法由一个接收器/解码器执行,该接收器/解码器最好是和一台电视机一起使用。
本发明能够提供如下优点:信息可以被呈现在一个具有这样一个窗口***的某些或全部优点的屏幕上,同时通过该窗口可至少部分地看见置于该窗口下面的对象。
本发明源于假如采取了一定的预防措施,可以实现具有一个透明背景的窗口。这种预防措施包含:一旦窗口已经被绘制了,就不在该窗口后面进行绘制,或是监视在该窗口后面的绘制以校正该绘制的任何影响。
该方法可以进一步包含绘制该窗口的一个框架,以便使该窗口的界限是可见的。窗口的大小可以独立于屏幕的大小,而且该窗口在屏幕上是可以调整大小和可移动的。
更可取地,窗口形成了包含一个窗口显示的一个屏幕的一部分,而且该方法进一步包含将该窗口显示和一个视频图象相结合。窗口显示可以通过混合这两个但是可能简单地改写在该视频图象(最好是较大面积的)上与视频图象相结合,两者都最好是使用硬件装置遮蔽在该窗口显示后面的视频图象。部分源于由透明窗口所提供的、增加的紧凑性,能够在一个视频图象上最小化菜单等类似物的打扰,而这在接收器/解码器的环境中能够是尤其有利的。
更可取地是,该方法进一步包含在一个电视屏幕上显示窗口。与混合方法相比,本发明尤其适用于电视显示,其中电视显示的对比度通常较低。
更可取地是,该方法进一步包含以下步骤:
定义窗口的大小;
在该窗口中绘制前景对象;以及
布置该窗口的背景。
这个特征也是独立提供的。因此,本发明还提供了一种显示一个窗口的方法,包含以下步骤:定义窗口的大小,在该窗口中绘制前景对象,以及布置该窗口的背景,以便使置于该背景下面的对象可见。背景最好是在该窗口中没有绘制前景对象的那些部分。
绘制前景对象的步骤可以包含:将前景像素设置为期望值。前景对象可以包含直线、曲线、方框、圆周、三角形以及印刷字符中的任何一个或者全部,而且最好是至少在两个绘制操作中被绘制出来。前景对象可以包含交互式的控制。控制可以是例如可点击的按钮、单选按钮、文本框、可点击的箭头等等。这能够允许创建任意形状的浮动面板。
布置背景的步骤可以包含:最好是在定义该背景的一个区域内,使至少一个像素值不变,或是将至少一个像素值和一个置于下面图象的一个像素值混合。以这种方式,通过使背景部分地或者全部透明,通过该背景可以看见置于下面的对象。
在一个实施例中,背景是完全透明的,而且没有绘制背景像素值。在另一个实施例中,背景被分配了一个透明度系数,而且依赖于该透明度系数,将至少一个背景像素值与一个置于下面的对象的至少一个像素值进行混合。这能够允许在背景中的图象和置于下面的对象是同时可见的。例如,背景可以具有一个可见的徽标或水印,但是通过它可以看到置于下面的对象。例如通过用户或是在该窗口的客户的控制之下,可以调整该透明度系数。在一个进一步的实施例中,不同的透明度系数被分配给该背景的不同部分。例如,该背景的某些部分可以是完全透明的,而其它部分可以具有与置于下面的对象的像素值相混合的背景像素值。
更可取地是,置于背景下面的至少一个对象包含一个网页的一个元素;例如该元素能够是文本、超链接、或其它HTML元素。这样,能够允许一个控制面板具有更加灵活的形状,例如当给定一个网页的一个较大视图时,允许一个导航条被更加有效地显示出来。
该方法可以进一步包含:显示一个进一步具有这样一个背景的窗口,通过该背景看得见置于下面的对象;因此可以提供不只一个的“透明窗口”。为了实现重叠的透明窗口,第一个窗口的至少一部分可以置于该进一步窗口的下面。
依据本发明已经被确定的问题是:在位于一个具有透明背景窗口下的一个窗口中进行绘制,可能会在该透明窗口中产生图象的恶化。例如,在一个透明窗口中的前景对象可以被该绘制覆盖。该方法因此可以进一步包含监视在一个进一步窗口中的绘制,以便使在影响所述窗口的该进一步窗口中绘制能够被校正。
这个特征还可以被独立地提供,而且因此本发明还提供了一种在一个窗口、最好是可能至少部分地位于一个重叠窗口下的一个窗口中进行绘制的方法,其中该重叠窗口具有一个通过它看得见置于下面的对象的背景,该方法包含在该窗口中进行绘制并且监视该绘制,以便使影响一个重叠窗口的绘制能够被校正过来,该方法最好是由一个接收器/解码器执行。
为了校正在该重叠窗口中的绘制,该方法可以进一步包含:确定一个可能受到该绘制影响的窗口,并且发送一个信号(例如,一个曝光事件),用以指示该可能受到影响的窗口的一个客户刷新那个窗口的至少一部分。
该信号可以是一个Java事件;它还可能是一条消息,最好是经由一个函数调用发送。
在一个实施例中,可以继每个绘制操作之后发送一个信号。然而,依据本发明已经发现,以这种方式发送信号可能导致大量的重新绘制操作,结果使大量处理专用于重新绘制。依据本发明的一个最佳实施例,通过取消为至少一个绘制操作过程发送一个信号克服了这个问题。在此处使用的术语“取消发送一个信号”、以及类似术语,最好是暗示该信号要么不被发送要么不被接收。例如,在双方之间的传送中截取和删除一个信号,而不是首先发送该信号都会构成取消该信号。
该特征也可以被独立地提供,因此在本发明的另一个方面中,提供了一种在一个窗口中进行绘制的方法,其中该窗口最好是可能至少部分地位于具有这样一个背景的窗口处,通过该背景看得见置于下面的对象,该方法包含:提供第一模式,继每个绘制操作之后,发送一个信号(例如,一个曝光事件),指示一个可能受到该绘制影响的窗口的一个客户重新绘制那个窗口的至少一部分;以及提供第二模式,其中取消了一个信号的发送。
本发明的上述方面能够提供下列优点:在第一种模式中可以执行相对简单的绘制操作,在这种情况下受影响的窗口将会被不断地更新,然而更复杂的多个绘制操作可以在第二种模式中进行,这可以减少与重新绘制有关的处理数量。
该信号可能从一个窗口管理器发送。做为选择,该信号可能是发自一个窗口的一个客户,最好是由执行绘制的那个客户发送,而且最好是发送给一个窗口管理器。该方法最好是进一步包含产生与窗口管理器可得到的窗口透明度有关的信息,而且该方法可以进一步包含将该信息存储为该窗口的一个属性。通过产生与窗口管理器可得到的一个窗口透明度有关的信息,诸如重新绘制之类的操作能够以一种集中和有效的方式执行。此外,为了增加透明窗口的特征到一个应用中时能够需要较少的工作,而且能够降低在每个应用中为实现透明窗口所需要的额外编码数量。
在此使用的术语“一个窗口的属性”最好是暗示与一个窗口有关的某种形式数据,该数据由窗口管理器所了解,并且通常被保存在由窗口管理器保持、并包含其它窗口属性的一个存储区分块中。更可取地是,该方法进一步包含:最好是在一条消息中或是经由一个函数调用,将该信息发送到窗口管理器。依赖于该信息,一个信号的发送可能被取消。
依赖于这些窗口的关系,一个信号的发送可能被取消。例如,可以知道:和一个在其中进行绘制的活动窗口具有一定关系的窗口不会与那个窗口重叠,在这种情况下可能通过忽略这种窗口来节省某些处理。例如,和该活动窗口具有下列关系的窗口能够被忽略:
·母亲,即从其打开该活动窗口的窗口
·上级,即母亲、母亲的母亲等等
·姐妹,即与该活动窗口从同一个窗口打开的窗口
·女儿,即从该活动窗口打开的窗口
·下级,即女儿、女儿的女儿等等。
做为选择,能够忽略所有的窗口,或是能够忽略所有的透明窗口。
该方法可以进一步包含:继若干数目的绘制操作之后发送一个信号,该数目最好是在至少一个绘制操作前被确定下来,而且最好是大于1、3、5、10、30、50或100。这能够比在每个绘制操作之后重新绘制要更加有效,但是如果大量绘制操作被一口气执行,则能够避免该重叠窗口不被重新绘制持续一个相当长的时间的情况(这在美学观点上是不使人高兴的)。该方法可以进一步包含:重新绘制可能受到影响的窗口的至少一部分。
在本发明的另一个方面中,提供了在一个窗口***中进行绘制的一种方法,其中监视在一个窗口中的绘制,而且发送一个信号到可能受到该绘制影响的至少一个其它窗口,该方法进一步包含:为至少一个绘制操作选择一种模式,在该模式中到至少一个其它窗口的一个信号被取消。
上述方法可以进一步包含:继所述至少一个绘制操作之后,选择发送一个信号到所述至少一个其它窗口的模式。该信号可以是一个用以指示可能受到该绘制影响的一个窗口的一个客户重新绘制那个窗口的至少一部分的信号。
本发明还提供了一种用于显示一个窗口的方法,包含提供一个管理该窗口显示的窗口管理器,以及将与该窗口透明度有关的信息传递到该窗口管理器。
更可取地是,窗口管理器形成一个虚拟机的一部分。
本发明进一步提供了一种,最好是为一个网络浏览器,显示一个导航显示屏的方法,其中导航显示屏包含至少一个具有一个透明背景的窗口。
透明背景通常可以位于前景的外面。该方法可以由一个接收器/解码器执行,该接收器/解码器最好是与一个电视机一起使用。
本发明适用于任何窗口***,例如和一台计算机一起使用的***。然而,本发明具有接收器/解码器的特殊应用,而且因此该方法可以由一个接收器/解码器执行。接收器/解码器与个人计算机相比通常具有降低的处理能力,因此本发明中减少了所涉及的处理量的实施例特别适合于与接收器/解码器一起使用。
在本发明的另一个方面,提供了一种在一个屏幕上显示窗口的方法,包含以下步骤:
显示第一和第二个窗口,至少第一个窗口具有这样一个背景,通过该背景看得见置于下面的对象;
确定第一个窗口是否与第二个窗口重叠;
在第二个窗口中绘制;以及
如果第一个窗口与第二个窗口重叠,则重新绘制第一个窗口的至少一部分。
该方法可以进一步包含确定与第二个窗口重叠的一部分第一个窗口,而且重新绘制步骤可以包含重新绘制第一个窗口的那个部分。
在本发明的另一个方面,提供了一种在一个屏幕的一个区域上显示一个透明窗口和这个透明窗口的一个确定内容的方法,包含以下步骤:
确定该屏幕区域是否至少部分地用于显示另一个窗口的一部分以及对应于该部分的另一个窗口的另一个内容;
绘制其它窗口的至少这部分和相应的其它内容;以及
绘制与其它窗口这部分重叠的所确定内容的至少一部分。
依据本发明的一个有关方面,提供了一个接收器/解码器,它包含用于在一个屏幕上显示一个窗口的装置(通常以一个处理器的形式),其中该窗口具有一个通过它看得见置于下面的对象的背景,该接收器/解码器最好是与一台电视机一起使用。
接收器/解码器可以进一步包含用于绘制该窗口的一个框架的装置(通常以一个处理器的形式)。该显示装置最好是适于显示一个形成了一个屏幕的一部分的窗口,其中该屏幕包含了一个窗口显示,而且该接收器/解码器最好是进一步包含用于将该窗口显示与一幅视频图像相结合的装置。该显示装置最好是适合于在一个电视屏幕上显示该窗口。
该接收器/解码器可以进一步包含:
用于定义该窗口尺寸的装置(通常以一个处理器的形式);
用于在该窗口中绘制前景对象的装置(通常以一个处理器的形式);以及
用于布置该窗口背景的装置(通常以一个处理器的形式)。
本发明提供了一个接收器/解码器,它包含:
用于显示一个窗口的装置(通常以一个处理器的形式);
用于定义该窗口尺寸的装置(通常以一个处理器的形式);
用于在该窗口中绘制前景对象的装置(通常以一个处理器的形式);以及
用于布置该窗口背景以使置于该背景下面的对象可见的装置(通常以一个处理器的形式)。
用于绘制前景对象的装置可以适于设置前景像素为期望值。该前景对象可以包含直线、曲线、方框、圆周、三角形和印刷字符中的任何一个或是全部,而且最好是适于在至少两个绘制操作中被绘制出来。前景对象可以包含交互式的控制。
布置装置最好是适于在定义该背景的一个区域内,使至少一个像素值保持不变。它可能适于在定义了背景的一个区域内,将至少一个像素值与一幅置于下面的图像的一个像素值相混合。它可能适合于使至少一个前景像素保持不变。
置于背景下面的至少一个对象可以包含一个网页的一个元素。
接收器/解码器可以进一步包含用于显示具有这样一个背景的一个进一步窗口的装置(通常以一个处理器的形式),通过该背景看得见置于下面的对象。第一个窗口的至少一部分可以置于该进一步窗口的下面。
该接收器/解码器可以进一步包含装置,用于监视在一个进一步窗口中进行绘制,以便使影响所述窗口的、在该进一步窗口中的绘制能够被校正。
本发明提供了一个接收器/解码器,它包含:
用于在一个窗口中进行绘制的装置;以及
用于监视该绘制以便使影响一个重叠窗口的绘制能够被校正的装置。
接收器/解码器可以进一步包含装置,用于确定一个可能受到该绘制影响的窗口、以及发送一个信号用以指示可能受到影响的该窗口的一个客户重新绘制那个窗口的至少一部分。该信号可能是一个Java事件。它可以继每个绘制操作之后被发送。
接收器/解码器可以进一步包含装置,用于取消该用于至少一个绘制操作的信号。
本发明提供了一个接收器/解码器,它包含:用于以第一和第二模式在一个窗口中进行绘制的装置,其中在第一模式中,继每个绘制操作之后发送一个信号,用以指示可能受到该绘制影响的一个窗口的一个客户重新绘制那个窗口的至少一部分;而在第二模式中,取消一个信号的发送。
该信号可能发自一个窗口管理器。该信号可能发自一个窗口的一个客户,而且最好是由执行绘制的那个客户发送,以及最好是发送给一个窗口管理器。
接收器/解码器可以进一步包含用于生成窗口管理器可得到的与那个窗口透明度有关的信息的装置。它可以进一步包含用于将该信息存储为该窗口的一个属性的装置。它可以进一步包装置用于,最好是在一条消息中或是经由一个函数调用,将该信息发送到窗口管理器。
取决于该信息,一个信号的发送可能被取消。取决于这些窗口的关系,一个信号的发送可能被取消。
接收器/解码器可以进一步包含装置,用于继若干数目的绘制操作之后发送一个信号,其中该数目最好是在至少一个绘制操作前被确定下来,而且最好是大于1、3、5、10、30、50或100。
该接收器/解码器可以进一步包含装置,用于重新绘制可能受到影响的那个窗口的至少一部分。
在本发明的一个装置方面,提供了用于显示一个窗口的装置,该装置包含:用于定义该窗口尺寸的装置、用于在该窗口中绘制前景对象的装置、以及用于布置该窗口背景以便使置于该背景下面的对象可见的装置。
该装置可以进一步包含用于绘制该窗口的一个框架的装置。
用于绘制前景对象的装置可以包含:用于设置前景像素为期望值的装置,以及用于布置该背景的装置,其可适于在一个定义了背景的区域中使至少一个像素值保持不变,或是使至少一个像素值与一幅置于下面的图像的一个像素值相混合。
该装置可以进一步包含装置,用于监视在另外一个窗口中进行的绘制,以便使影响所述窗口的、在该另外一个窗口中的绘制能够被校正。
在另一个装置方面,提供了用于在一个窗口、最好是一个至少部分地位于一个重叠窗口下面的窗口中进行绘制的装置,其中该重叠窗口具有一个通过它看得见置于下面的对象的背景,该装置包含:用于在该窗口中进行绘制的装置,以及用于监视该绘制以便使影响一个重叠窗口的绘制能够被校正的装置。
该装置可以进一步包含:装置,用于确定一个可能受到该绘制影响的窗口;以及装置,用于发送一个信号以指示可能受到影响的该窗口的一个客户重新绘制那个窗口的至少一部分。
该装置可以适于继每个绘制操作之后发送一个信号,或是该装置可以适于取消用于至少一个绘制操作的一个信号的发送。
在另一个装置方面中,提供了用于在一个窗口、最好是可以至少部分地位于具有这样一个背景的窗口下面的一个窗口中进行绘制的装置,通过该背景看得见置于下面的对象,该装置具有第一模式和第二模式,在第一模式中,继每个绘制操作之后发送一个信号,用以指示可能受到该绘制影响的一个窗口的一个客户重新绘制那个窗口的至少一部分;在第二模式中,取消了一个信号的发送。
该装置可能适合于取决于这些窗口的关系,取消一个信号的发送。该装置可能适合于继若干个绘制操作之后发送一个信号。
该装置可以进一步包含用于重新绘制可能受到影响的那个窗口的至少一部分的装置。
在另一个装置方面中,提供了用于在一个窗口***中进行绘制的装置,其监视在一个窗口中的绘制,而且发送一个信号到可能受到该绘制影响的至少一个其它窗口,该装置进一步包含用于选择一种模式的装置,在该模式中取消了用于至少一个绘制操作的、到至少一个其它窗口的一个信号。
该装置可以进一步包含:用于选择一种模式的装置,在该模式中,继所述至少一个绘制操作之后发送一个信号到所述至少一个其它窗口。该信号可以是一个用以指示可能受到该绘制影响的一个窗口的一个客户重新绘制那个窗口的至少一部分的信号。
在一个相关方面,本发明提供了用于在一个窗口***中进行绘制的装置,包含:
用于在一个窗口中进行绘制的装置(通常以一个处理器的形式);
用于监视在该窗口中的绘制、并且向可能受到该绘制影响的至少一个其它窗口发送一个信号的装置(通常以一个处理器的形式);以及
用于选择一种模式的装置(通常以一个处理器的形式),在该模式下,用于至少一个绘制操作的、到至少一个其它窗口的一个信号被取消了。
该装置最好是进一步包含:用于选择一种模式的装置,在该模式下,继所述至少一个绘制操作之后,发送一个信号到所述至少一个其它窗口。该信号可以是一个用以指示可能受到该绘制影响的一个窗口的一个客户重新绘制那个窗口的至少一部分的信号。
本发明进一步提供了用于显示一个窗口的装置,包含:
用于显示该窗口的装置(通常以一个处理器的形式);
一个窗口管理器,用于管理该窗口的显示;以及
用于传送与该窗口透明度有关的信息到该窗口管理器的装置(通常以一个处理器的形式)。
更可取地,窗口管理器形成一个虚拟机的一部分。
本发明还提供了用于显示一个导航显示屏的装置,包含装置(通常以一个处理器的形式),用于以这样一种方式显示该导航显示屏以便使该导航显示屏包含至少一个具有透明背景的窗口。
上述装置中的任何一个可以是一个接收器/解码器,因此本发明进一步提供了一个包含了如前所述的装置的接收器/解码器。
本发明提供了一个电视***,包含一个如前所述的接收器/解码器以及一台可连接到该接收器/解码器的电视机。它还提供了一个电视***,包含一个如前所述的接收器/解码器以及一台连接到该接收器/解码器的电视机。
依据本发明,在一个进一步的方面,提供了一个用于在一个屏幕上显示窗口的接收器/解码器,包含:
用于显示第一和第二个窗口的装置(通常以一个处理器的形式),其中至少第一个窗口具有这样一个背景,通过该背景看得见置于下面的对象;
用于确定第一个窗口是否与第二个窗口重叠的装置(通常以一个处理器的形式);
用于在第二个窗口中进行绘制的装置(通常以一个处理器的形式);以及
用于如果第一个窗口与第二个窗口重叠,则重新绘制第一个窗口的至少一部分的装置(通常以一个处理器的形式)。
依据本发明,在一个进一步的方面,提供了与一个接收器/解码器一起使用的一个计算机程序产品,所述计算机程序产品(在程序的控制下)包含用于在一个屏幕上显示一个窗口的代码,其中该窗口具有这样一个背景,通过该背景看得见置于下面的对象,该接收器/解码器最好是与一台电视机一起使用。
该计算机程序产品可以被有形地体现为,例如存储在一个存储介质诸如硬盘或易失性或非易失性存储器上的软件,或一个信号。
该计算机程序产品可以进一步包含用于绘制该窗口的一个框架的代码。
更可取地是,显示代码适于显示一个形成了一个屏幕的一部分的窗口,其中该屏幕包含了一个窗口显示,且该产品进一步包含用于将该窗口显示与一幅视频图像相结合的代码。该显示代码可以适于在一个电视屏幕上显示该窗口。
该计算机程序产品可以进一步包含:
用于定义该窗口尺寸的代码;
用于在该窗口中绘制前景对象的代码;以及
用于布置该窗口背景的代码。
本发明提供了一种计算机程序产品,它包含:
用于显示一个窗口的代码;
用于定义该窗口尺寸的代码;
用于在该窗口中绘制前景对象的代码;以及
用于布置该窗口背景以使置于该背景下面的对象可见的代码。
更可取地是,用于绘制前景对象的代码适于将前景像素设置为期望值。更可取地是,该前景对象可以包含直线、曲线、方框、圆周、三角形和印刷字符中的任何一个或是全部,而且最好是适于至少在两个绘制操作中被绘制出来。更可取地是,该前景对象可以包含交互式的控制。
布置代码可适于在定义了背景的一个区域内,使至少一个像素值保持不变。布置代码可适于在定义了背景的一个区域内,使至少一个像素值与一幅置于下面的图象的一个像素值相混合。该布置代码可适于使至少一个前景像素保持不变。
置于该背景下面的至少一个对象可以包含一个网页的一个元素。
更可取地是,该计算机程序产品进一步包含用于显示具有这样一个背景的一个进一步窗口的代码,通过该背景看得见置于下面的对象。
第一个窗口的至少一部分可以置于该进一步窗口的下面。
该计算机程序产品可以进一步包含代码,用于监视在一个进一步窗口中的绘制,以便使影响所述窗口的、在该另外一个窗口中的绘制能够被校正。
本发明提供了一种计算机程序产品,包含:
用于在一个窗口中进行绘制的代码;以及
用于监视该绘制以便使影响一个重叠窗口的绘制能够被校正的代码。
该计算机程序产品可以进一步包含:用于确定一个可能受到该绘制影响的窗口、以及发送一个信号用以指示可能受到影响的该窗口的一个客户重新绘制那个窗口的至少一部分的代码。该信号可能是一个Java事件。该信号可能继每个绘制操作之后被发送。
更可取地是,该计算机程序产品进一步包含:用于取消用于至少一个绘制操作的信号的代码。
本发明提供了一种计算机程序产品,它包含用于在第一和第二模式中,在一个窗口中进行绘制的代码,其中,在第一模式中,继每个绘制操作之后发送一个信号,用以指示可能受到该绘制影响的一个窗口的一个客户重新绘制那个窗口的至少一部分;而在第二模式中,取消一个信号的发送。
该信号可能发自一个窗口管理器。该信号可能发送自一个窗口的一个客户,而且最好是由执行该绘制的那个客户发送,以及最好是被发送给一个窗口管理器。
更可取地是,该计算机程序产品进一步包含:用于生成该窗口管理器可得到的、与那个窗口透明度有关的信息的代码。
更可取地是,该计算机程序产品进一步包含:用于将该信息存储为该窗口的一个属性的代码。
更可取地是,该计算机程序产品进一步包含代码用于,最好是在一条消息中或是经由一个函数调用,发送该信息到窗口管理器。
取决于该信息,一个信号的发送可能被取消。取决于这些窗口的关系,一个信号的发送可能被取消。
该计算机程序产品可以进一步包含:用于继若干数目的绘制操作之后发送一个信号的代码,其中该数目最好是在至少一个绘制操作前被确定下来,而且最好是大于1、3、5、10、30、50或100。
该计算机程序产品可以进一步包含:用于重新绘制可能受到影响的那个窗口的至少一部分的代码。
本发明进一步提供了用于在一个窗口***中进行绘制的装置,包含:
用于在一个窗口中进行绘制的代码;
用于监视在该窗口中的绘制、并且向可能受到该绘制影响的至少一个其它窗口发送一个信号的代码;以及
用于选择一种模式的代码,其中在该模式中,用于至少一个绘制操作的、到至少一个其它窗口的一个信号被取消了。
该装置可以进一步包含:用于选择一种模式的代码,其中在该模式中,继所述至少一个绘制操作之后发送一个信号到所述至少一个其它窗口。该信号可以是一个用以指示可能受到该绘制影响的一个窗口的一个客户重新绘制那个窗口的至少一部分的信号。
本发明提供了用于显示一个窗口的装置,包含:
用于显示该窗口的代码;
一个窗口管理器,用于管理该窗口的显示;以及
用于传送与该窗口透明度有关的信息到窗口管理器的代码。
该窗口管理器可以形成一个虚拟机的一部分。
本发明进一步提供了一种显示一个导航显示屏的装置,包含代码,用于以这样一种方式显示该导航显示屏以便使该导航显示屏包含至少一个具有透明背景的窗口。
本发明还提供了一种用于在一个屏幕上显示窗口的计算机程序产品,包含:
用于显示第一和第二个窗口的代码,其中至少第一个窗口具有这样一个背景,通过该背景看得见置于下面的对象;
用于确定第一个窗口是否与第二个窗口相重叠的代码;
用于在第二个窗口中进行绘制的代码;以及
用于如果第一个窗口与第二个窗口重叠,则重新绘制第一个窗口的至少一部分的代码。
本发明还提供了一种计算机可读介质,其上存储有一段用于实现如上所述的任何一种方法的程序,以及一种包含了一段用于实现如上所述的任何一种方法的程序的计算机程序产品。
本发明进一步提供了一种包含了一个存储器和处理器的计算机程序产品,其中在该存储器中存储有一个应用程序,而且该处理器(在该应用程序的控制下)适于执行如前所述的方法。
本发明还提供了一种包含了一段用于执行如前所述方法的程序的计算机程序产品。
本发明还进一步提供了一种计算机可读介质,其上存储有一段用于执行如前所述方法的程序。
本发明提供了一种计算机可读介质,其上存储有一种如前所述的计算机程序产品。
本发明还提供了一个有形地体现了一种如前所述的计算机程序产品的信号。
本发明还提供了一种实质上结合附图描述的、并在附图中进行了说明的方法和装置。
一个方面的特征可以被应用于其它方面,而且方法特征可以和与装置、接收器/解码器、计算机程序产品、或计算机可读介质的任何一个有关的特征任意组合应用,反之亦然。例如,可以提供用于显示一个导航显示屏的装置,它执行一个传送与一个窗口透明度有关的信息到一个窗口管理器的方法,等等。
附图说明
下面将仅仅通过举例并结合附图对本发明的最佳特征进行描述,其中:
图1显示了一个典型的数字电视***的结构;
图2是一个接收器/解码器的框图;
图3显示了一个接收器/解码器的结构;
图4显示了一个图形***的结构;
图5显示了各个窗口的相互关系;
图6说明了透明窗口的原理;
图7说明了置于一个窗口下面的一个对象的绘制;
图8说明了在一个透明窗口***中对重新绘制的管理;
图9说明了重新绘制两个重叠窗口的不同模式;
图10说明了在应用程序和窗口管理器之间的关系;
图11说明了在重新绘制两个窗口期间的一个典型的绘制操作序列;
图12说明了一个网络浏览器的一个屏幕显示;
图13说明了该网络浏览器的一个进一步屏幕显示;
图14说明了该网络浏览器的一个进一步屏幕显示;以及
图15说明了该网络浏览器的一个进一步屏幕显示。
具体实施方式
数字电视***
一个数字电视***的概述如图1所示。本发明包含一个几乎传统的数字电视***2,它使用已知的MPEG-2压缩***传送压缩的数字信号。更详细地是,在一个广播中心中MPEG-2压缩器3接收一个数字信号流(通常是一个视频信号流)。压缩器3通过链接5与一个多路复用器和扰频器4相连。
多路复用器4接收多个进一步的输入信号、组合传输流、并且经由链接7将压缩的数字信号传送到广播中心的一个发送器6,当然链接7能够采取各式各样的形式,包括电信链路。发送器6经由上行链路8向一个卫星应答器9传送电磁信号,它们在卫星应答器中被电子处理,并且通常以最终用户拥有或租用的一个反射器的形式经由概念上的下行链路10传播到地面接收器12。其它用于数据传输的传输通道当然是可能的,诸如地面广播、电缆传输、组合的卫星/电缆链路、电话网等。
由接收器12接收的信号被传送到最终用户拥有或租用的、并且连接到该最终用户的电视机14的一个集成的接收器/解码器13。接收器/解码器13解码所压缩的MPEG-2信号到一个用于电视机14的电视信号里。尽管一个独立的接收器/解码器如图1所示,但是该接收器/解码器也可以是一个集成的数字电视的一部分。在这里使用的术语“接收器/解码器”包含一个独立的接收器/解码器,诸如一个机顶盒,以及一台具有一个集成的接收器/解码器的电视。
在一个多通道***中,多路复用器4处理从多个并行源接收的音频与视频信息,并且与发送器6相互作用以沿着相应数目的通道传播该信息。除了视听信息之外,消息或应用程序或其它任何类别的数字数据可以被引入到某些或所有与传送的数字音频与视频信息交错的这些通道中。
一个条件访问***15与多路复用器4和接收器/解码器13相连,并且部分地位于广播中心中,部分地位于接收器/解码器中。它允许最终用户访问来自于一个或多个广播供应商的数字电视广播。一个能够解密与商业供应(即,由广播供应商出售的一个或几个电视节目)有关的消息的智能卡能够被***到接收器/解码器13中。使用接收器/解码器13和智能卡,最终用户可以要么以一种认购方式或者要么以一种按次计费的方式购买商业供应。
如上所述,由***传送的节目在多路复用器4处被扰频,条件和加密密钥应用于由访问控制***15确定的一个给定传输。以这种方式传输加密数据,在计费电视***领域中是非常公知的。通常,加密数据与一个用于解扰频该数据的控制字被一起传送,该控制字本身由一个所谓的使用密钥加密,并且以加密形式传送。
然后该加密数据和加密控制字由接收器/解码器13接收,该接收器/解码器13能访问存储在一个***到该接收器/解码器中的智能卡上的使用密钥的一个等效码,以解密该加密控制字,尔后解扰频所发送的数据。一个缴清费用的认购者将,例如在一个每月广播一次的EMM(Entitlement Management Message,权利管理消息)中,接收解密该加密控制字所必需的使用密钥以便允许查看该传输。
一个交互式***16,也连接到多路复用器4和接收器/解码器13,而且同样部分地位于该广播中心中,部分地位于接收器/解码器中,它允许最终用户与各个应用程序经由一个调制解调的返回通道17相互作用。调制解调的返回通道也可能用于在条件访问***15中使用的通信。
接收器/解码器
参见图2,下面将描述接收器/解码器13或机顶盒的部件。在这个附图中显示的这些部件将用功能块来进行描述。
接收器/解码器13包含一个中央处理器20,它包括相关的存储元件,而且适于从一个串行接口21、一个并行接口22、一个调制解调器23(连接到图1中的调制解调返回通道17)接收输入数据,并且在该解码器的前面板上切换触点24。
另外,该接收器/解码器还适于经由一个控制单元26从一个红外线远程控制25接收输入,而且还拥有两个分别适于读取银行卡或预定智能卡29、30的智能卡阅读器27、28。预定智能卡阅读器28与一个***的预定卡30以及一个条件访问单元29相接合,以提供必要的控制字到一个多路分用器/解扰器30以便允许加密的广播信号被解扰频。解码器还包括一个传统的调谐器31和解调制器32,以在被单元30滤波和多路分用之前接收和解调制该卫星传输。
如在这个说明书中使用的那样,一个应用程序最好是一段用于控制最好是该接收器/解码器13的高级功能的计算机代码。例如,当最终用户把远程控制25的焦点放置在在电视机14的屏幕上看到的一个按钮对象上、并且按下一个确认键时,运行与该按钮有关的指令序列。
一个交互式应用程序应最终用户的请求提出菜单且执行指令,并且提供与该应用程序目的有关的数据。应用程序可以是驻留的应用程序,即存储在接收器/解码器13的ROM(或FLASH(闪速存储器),或其它非易失性存储器)中,或是被广播和下载到接收器/解码器13的RAM或者FLASH存储器里。
应用程序存储在接收器/解码器13中的存储单元内,而且表示为资源文件。资源文件包含图形对象说明单元文件、变量块单元文件、指令序列文件、应用程序文件和数据文件。
接收器/解码器包含被分成一个RAM部分、一个FLASH部分、和一个ROM部分的存储器,但是这个物理结构不同于逻辑结构。该存储器可以被进一步分成与各个接口有关的存储器部分。从一个观点来说,该存储器能够被认为是硬件的一部分;从另一个观点来说,该存储器能够被认为是支持或包含所显示的、除硬件之外的整个***。
接收器/解码器包含五个这样组织的软件层以便使该软件能够在任何接收器/解码器中以及利用任何操作***实现。参见图3,这各个软件层是应用层(ApplicationLayer)50、应用编程接口(Application Programming Interface)(API)层52、虚拟机层(Virtual Machine Layer)54、设备层接口(Device Layer Interface)56和***软件/硬件层(System Software/Hardware Layer)58。各个层的描述如下。
应用层(Application Layer)
应用层50包含驻留在接收器/解码器中或是下载到该接收器/解码器的应用程序。它们可以是由客户使用的交互式应用程序,例如用Java、HTML、MHEG-5或其它语言编写,或者它们可以是由接收器/解码器使用以运行这种应用的应用程序。这个层基于由虚拟机层提供的一组开放的应用编程接口(APIs)。这个***允许应用程序在运行时或在要求时被下载到接收器/解码器的闪速存储器或RAM存储器中。能够使用协议、诸如数据存储媒体指令与控制(Data Storage Media Command and Control,DSMCC)、网络文件服务(NetworkFile Server,NFS)或其它协议,以压缩的或未压缩的格式传送该应用程序代码。
交互式应用程序是用户与其相互作用以获得产品和服务、诸如电子程序指南、远程银行事务应用程序和游戏等的应用程序。提供了各种安全特征用于这些下载的应用程序和数据,如下所述:
·如果没有首先为预定网络进行验证,则不能下载任何内容到接收器/解码器中,这防止了任何未登记的软件在该接收器/解码器中运行。这意味着在接收器/解码器中运行的任何软件被识别了而且已经被完全地检测了。
·一个安全管理器(Security Manager)限制应用程序对各个存储器区域的访问,因此保证了数据完整性。
·该***能够与任何利用安全处理器(例如,***在接收器/解码器中的智能卡)的条件访问***相接口。
下列驻留的应用程序用来管理交互式应用程序:
·Boot(引导)。Boot应用程序是当接收器/解码器通电时载入的第一个应用程序。Boot应用程序起动在虚拟机(Virtual Machine)中不同的“管理器”,其中第一个是Application Manager(应用程序管理器)。
·Application Manager(应用程序管理器)。Application Manager应用程序管理器管理在接收器/解码器中运行的交互式应用程序,即它的开始、停止、中止、恢复、处理事件和涉及在应用程序之间的通信。它允许多个应用程序同时运行,因此涉及在它们当中的资源分配。这个应用程序对用户是完全透明的。
·SetUp(设置)。SetUp应用程序的目的是配置接收器/解码器,主要是在接收器/解码器被第一次使用时。它执行诸如搜索电视频道、设置日期与时间、建立用户偏爱项等的动作。然而,SetUp应用程序能被用户随时使用以改变接收器/解码器的配置。
·Zapping(转换频道)。Zapping应用程序被用来使用Program-up(上一个频道)、Program-down(下一个频道)和数字键变换频道。当另一个形式的zapping(频道转换)被使用、例如通过一个标题(导向)应用程序使用时,停止该Zapping应用程序被。
API层(API Layer)
API层52提供了用于交互式应用程序开发的高级实用程序。它包括几个构成这个高级API的程序包。程序包提供了运行交互式应用程序所必需的全部功能。该程序包可由应用程序访问。
在一个最佳实施例中,该API适于运行用Java编程语言编写的应用程序。此外,它能够解释HTML及其它格式、诸如MHEG-5。除这些解释程序之外,它还包含按照作为规定的要求可分离和可扩展的其它程序包和服务模块。
虚拟机层(Virtual Machine Layer)
虚拟机层54由语言解释程序和各种模块和***组成。它包含在接收器/解码器中接收和执行交互式应用程序所必需的所有案面,包括下列内容:
·Language Interpreters(语言解释器)。能够安装不同的解释器以便符合将被读取的应用程序类型。这些包括Java、HTML、MHEG-5等等。
·Service Information(Service Information SI)Engine(服务信息引擎)。SIEngine加载并监视公用的数字视频广播(Digital Video Broadcasting,DVB)或程序***信息协议(Program System Information Protocol,PSIP)表,并把它们放置到一个高速缓存中。它允许需要包含在它们中的数据的应用程序访问这些表。
·Scheduler(调度器)。这个模块允许预先为空的、多线程的调度,其中每个线程都具有它自己的事件队列。
·Memory Manager(存储器管理器)。这个模块管理对存储器的访问。当必要时它还自动地压缩在存储器中的数据,并且执行自动的垃圾收集。
·Event Manager(事件管理器)。这个模块允许事件依据优先级被触发。它管理定时器和事件抓取,并且允许应用程序彼此发送事件。
·Dynamic Linker(动态链接器)。这个模块允许确定从本地Java函数中产生的地址,从下载到RAM里的一个Java类中加载本地方法,并且解决从下载的本地代码到ROM的调用。
·Downloader(下载器)。这个模块使用从一个远程DSMCC圆盘传送带或通过NFS协议加载的自动数据,使下载的文件以与驻留文件同样的方式被访问。也提供了存储器清除、压缩和验证。
·Class Manager(类管理器)。这个模块加载类,并且解决任何类引用问题。
·File System(文件***)。这个模块是紧凑的,而且被优化以管理一个具有多个ROM、闪速存储器、RAM和DSMCC部分的分级文件***。闪速存储器的完整性被保证以不受任何事故的影响。
·Security Manager(安全管理器)。这个模块验证应用程序,并且控制应用程序对灵敏的存储器及其它机顶盒区域的访问。
·Graphics System(图形***)。这个***是面向对象的,而且被优化了。它包含图形窗口和对象管理,以及一个具有多种语言支持的矢量字体引擎。
此外,支持DAVIC资源通知模型以便有效地管理客户资源。
设备层(Device Layer)
设备层56包含设备管理器(Device Manager)和设备。设备是包含了管理外部事件和物理接口所必需的逻辑资源的软件模块。设备层管理在驱动程序和应用程序之间的通信通道,并且提供增强的错误异常检查。某些被管理的设备的例子是:卡阅读器、调制解调器、网络、PCMCIA(Personal Computer Memory Card International Association,个人计算机存储器卡国际联合会)、LED(发光二极管)显示器等等。
由于API层从上面控制这些设备,所以程序设计员不必直接处理这个层。
***软件/硬件层(System Software/Hardware Layer)
***软件/硬件层58由接收器/解码器的制造商提供。由于该***的模块化,以及由于由OS提供的服务(诸如事件调度和存储器管理)是虚拟机的一部分,所以较高层不依赖于一个特定的实时操作***(RTOS)或一个特定的处理器。
图形***(Graphic System)
下面将描述作为虚拟机54的一部分的图形***60。参见图4,图形***图形***包含窗口小部件工具箱62、窗口***64和图形库68,其中该窗口小部件工具箱62允许图形对象诸如按钮被绘制出来。窗口***64管理一个多窗口***,在该多窗口***中应用程序可以绘制窗口以及调整窗口大小。绘制一个窗口的应用程序被称为那个窗口的客户。
举例来说,一个应用程序可以生成一个窗口,该窗口在该屏幕一个区域中具有一个选择菜单,同时显示了横穿在该窗口后面整个屏幕的一幅视频图象。在这个例子中,参见图2,当视频来自于视频解码器34时,由CPU 20生成该菜单。这两者在CPU 20的控制下,在图形处理器26中混合。更多的复杂方案也是可能的,其中多个窗口的每一个在其内部都具有静止或活动的图像。
窗口***保持一个窗口树,它定义了窗口之间的关系。一个窗口树的例子如图5所示。参见图5,已经从其打开一个特定窗口70的窗口72被称为母亲,从窗口70打开的窗口74、76被称为女儿,以及从同一个母亲窗口72打开的窗口78、80被称为姐妹。
透明窗口(TransparentWindows)
在一个最佳实施例中,窗口***管理被称为透明窗口的窗口。透明窗口是一个不具有背景的窗口,即通过它能够至少部分地看到置于下面的图像。下面将结合图6描述透明窗口的原理。
图6a显示了两个不重叠的窗口100、102。窗口100包含对象104和不透明背景106;窗口102包含两个对象108、110和不透明背景112。图6b显示了当图6a中的这两个窗口重叠时的情况。在这种情况下,重叠窗口在这两个窗口的共同区域中完全遮蔽了置于下面的窗口。图6c显示了与图6a中相同的情况,但是用于该重叠窗口被声明为一个透明窗口的情况。在这种情况下,两个对象108、110仍然可见,但是现在背景112是透明的,以便通过它可以看到窗口100。在如图6c所示的例子中,背景112是简单地未被绘制。
使用透明窗口允许在不同的窗口中创建独立的设计,同时允许在置于下面的窗口中的图像通过重叠窗口被看到。本***还允许显示多个窗口,它可以包含透明和不透明窗口的一个组合。
应当注意到,一个透明窗口可以具有一个完全透明的背景,或者是它可以具有一个具有一定透明度系数的背景,在这种情况下依据该透明度系数将背景与置于下面的对象进行混合。
提供特定的机制来管理透明窗口。这些机制处理在一个透明窗口之下进行绘制的情况。如将要说明的那样,除非是采取了特定动作以防止这种情况,这种绘制可以导致图像在该透明窗口中恶化。
图7a显示了当一条线被绘制在一个具有一个不透明背景的窗口下面时的情况。在这种情况中,当绘制线114时,在窗口102中没有发生变化。图7b显示了当窗口102被声明为一个透明窗口时的情况。在这种情况下,当绘制线114时,它还出现在窗口102中,从而使它在窗口102中覆盖对象108和110。
在一个透明窗口中避免覆盖对象的一种方法是,防止在该窗口下面进行绘制。然而,在一个最佳实施例中,在一个透明窗口中的对象覆盖被校正了,如下所述。
首先,确定下来受该绘制影响的区域。这通过当进行绘制时,监视绘制的最大和最小坐标进行。然后窗口***搜索该窗口树,以识别位于受影响区域上的任何透明窗口。然后发送一个所谓的Expose Event(显露事件)到所有这种窗口的客户。Expose Event通知这些客户应该重新绘制受影响的区域。一个窗口的一个客户负责那个窗口的内容,因此该客户能够重新绘制一个被覆盖的窗口。该客户重新绘制与受影响区域重合的窗口的那部分。
上述事件序列在图8中进行了说明。参见图8a,由矩形116包围的区域是受到线114的绘制影响的区域。然后窗口***识别窗口102为一个位于受影响区域116上面的透明窗口,而且发送一个Expose Event到那个窗口。参见图8b,受该绘制影响的这部窗口102由矩形118表示。在矩形118内部的区域然后被该客户重新绘制。如图8c所示,被线114的绘制破坏的这部窗口102因此被重新绘制,所以对象108和110就不再由线条114覆盖。
上述机制允许一个应用程序在一个窗口中绘制图像,即使它被一个透明窗口覆盖,也不会破坏在重叠窗口中的图像。
被发送到重叠窗口的Expose Events的数目(即该重叠窗口被重新绘制的次数)与所生成的绘制命令数目成正比。每当单个绘制操作进行时生成一条绘制命令。为了生成一幅复杂的图像,大量的绘制操作可能是必需的,其中每一个都包括例如绘制一条直线或曲线、一个方框、一个圆周、或其它的对象。这能够导致大量用于重新绘制窗口的处理,它可能降低该***的性能。如果多个窗口、特别是多个重叠的透明窗口被打开,则情况会更糟,其中每个透明窗口都可能要求一个Expose Event。
在本发明的一个最佳实施例中,产生的Expose Event的数目、以及由此一个重叠窗口被重新绘制的次数,通过在一定的环境中取消Expose Event的产生而减少了。在此提供了一个称为win_over_mode的参数,它规定了Expose Event的产生将被取消的情况。参数win_over_mode允许客户应用程序定义在决定一个Expose Event将被发送到哪些窗口时,将考虑哪些窗口。
在该最佳实施例中,就Expose Event来说,win_over_mode参数可以定义下列情况:
-ClipAll(全部剪辑):正常功能,其中考虑所有的窗口
-Ignore Inferiors(忽略下辈):女儿和女儿的女儿被忽略了
-Ignore Sisters(忽略姐妹):姐妹和它们的女儿被忽略了
-Ignore Others(忽略其它):既不是姐妹又不是女儿的所有窗口都被忽略了
-Ignore No Background(忽视没有背景):所有的透明窗口被忽略了
-IgnoreAll(全部忽略):所有的窗口都被忽略了。
从该clipping(剪辑)计算中被排除的窗口不接收Expose Events,因此没有被重新绘制。例如,可以知道姐妹窗口从不覆盖在其中进行绘制的窗口。做为选择,可以决定推迟重新绘制所有的透明窗口直到该绘制完成为止。
一旦该绘制完成后,任何受到影响的窗口都可以被重新绘制。这通过监视绘制的最大和最小坐标来进行。当绘制完成时,则win_over_mode参数被设置为clip all(全部剪辑)。然后使用该绘制的最大和最小坐标围绕所有受影响的区域绘制一个虚拟的矩形。通过绘制一个虚拟窗口,产生一个发送到在该窗口树中所有受到影响的窗口的Expose Event。然后,以如上所述的方法重新绘制具有与该受影响区域重合的区域的窗口。
总之,能够通过推迟重新绘制受到一个应用程序执行的绘制操作影响的透明窗口,来获得更大的效率。
然而,作为窗口***本身可以决定重新绘制一个窗口的一部分的事实的结果,例如作为用户移动或缩放窗口、或是移动或缩放一个重叠窗口的结果,仍然存在一个问题。在这种情况下,不需要更多的信息,窗口***总是发送Expose Events到适当的窗口以确保一个正确结果;结果,发送了更多的Expose Events,因此重新绘制窗口要比如果客户控制该处理时花费更多的时间。
参见图9,说明了如上所述的问题和它的解决方案。图9a显示了以下两个窗口的一个典型配置:一个透明窗口Window A 150和一个它部分重叠的不透明窗口Window B 152。
在图9b中,对应于该最佳实施例的一个变体,举例说明了继由窗口管理器决定重新绘制窗口Window B的一部分之后的,一个典型的Expose Events序列。Expose Events160和162被分别发送给窗口Window B 152和窗口Window A 150。接收Expose Event 160的窗口Window B被重新绘制,借此产生一个进一步的Expose Event 164,它被发送给窗口Window A。接收两个Expose Events的窗口Window A因此被重新绘制两次。
在图9c中,说明了该最佳实施例,有关Expose Events优化的信息可借助于窗口Window A 150的窗口属性,由窗口管理器获得。考虑这个信息,一个进一步的Expose Event170最初仅仅被发送给窗口Window B 152。随后窗口Window B的重新绘制则生成所需的Expose Event 172,它被发送给窗口Window A 150以便使它仅仅被重新绘制一次。
在该最佳实施例中定义了Expose Event的优化的窗口属性,名称为no_bg_win-management,而且采用了以下值:
-Automatic:在该窗口中的每个绘制操作都导致把事件发送给透明窗口。
-LetMeDoIt:一旦各种重新绘制已经完成了以后,客户调用一个函数(SendEventToNoBgWindow)以指定重新绘制的范围(通常提供四个指定了一个界限矩形的角的坐标);这个函数确定它然后必须向其发送Expose Events的透明窗口的范围,因此引起了它们依次重新绘制。有关Expose Events优化的信息当然可以由窗口管理器经由其它手段、诸如函数调用等获得。
从以上可以看出,许多优点、诸如总效率、易于使用、有效的代码再用(由于透明窗口管理代码只在窗口管理器中出现一次,而不是在不同的应用程序中出现若干次)、集中控制、高速等等都是通过集成透明窗口管理到窗口管理器里所提供的。
参考图10,下面将更详细地描述在窗口管理器和窗口的客户(应用程序)之间的关系。
在屏幕2000上每个窗口2010、2012、2014分别具有一个相应的窗口定义数据块2020、2022、2024。每个窗口还与一个特定的客户(应用程序)有关;在这种情况下,窗口2010和它的相应窗口定义数据块2020与第一个应用程序2030有关,且窗口2012、2014和它们的相应窗口定义数据块2022、2024与应用程序2032有关。窗口管理器2050管理整个***,并且能访问所有的窗口定义数据块2020、2022、2024,而且能够通过使用事件、消息和/或函数调用与每个应用程序2030、2032进行通信。
窗口定义数据块包含各种与相应窗口状态有关的属性、诸如尺寸、位置、边界风格和行为方式,而且包含例如如上所述的no_bg_win-management属性。与一个窗口透明度有关的信息也能够存储在窗口定义数据块中。
在最佳实施例中,借助于一个到窗口管理器2050的函数调用2042,与一个窗口2010透明度有关的信息被存储在窗口定义数据块2020中。然而,在该最佳实施例的变体中,该信息经由其它手段发送给窗口管理器,或是直接被存储在窗口定义数据块2020中,这由链路2040示意地表示。除了能够与窗口管理器2050通信之外,应用程序能够直接在彼此之间进行通信,这由链路2044示意地表示。
参考图11,下面将描述两个重叠窗口被重新绘制的一个例子,它说明了被延迟的重叠透明窗口的重新绘制、以及集成透明窗口的管理到窗口管理器里的上述特征。在这个例子中,相似的部分用相似的数字表示。
两个窗口C 2100和D 2102的内容如图11a所示。窗口Window C 2100是透明的,而且包含一个三角形2110和一个矩形2112。窗口Window D 2102是不透明的,而且包含三条垂直线2114、2116、2118。
参见图11b,当显示在屏幕上时,这两个窗口如图所示交错,其中窗口Window C2100重叠窗口Window D 2102,部分地遮蔽了Window D的内容。
参见图11c,发生了一个与Window D有关的刷新事件,使得Window D 2102的不透明背景2120和边界2122被重新绘制,并覆盖重叠的透明窗口Window C 2100。此外,在由该客户(应用程序)执行的第一个绘制操作中,这三条垂直线2124中的第一条被绘制出来。应当注意到,在当前例子中,窗口管理器在绘制该窗口的“***”区域(例如,边界和背景)之后不重新绘制重叠窗口,但是在该最佳实施例的变体中,这样的一个重新绘制在请求客户程序(应用程序)重新绘制该“用户”区域之前发生。
在图11d和11e中说明了在每个后续绘制操作之后重新绘制重叠窗口的最简单情况。在图11d中,向窗口Window C 2100发送一个Expose事件之后,重新绘制重叠的那个窗口。参见图11e,然后进行下一个绘制操作,绘制垂直线2126。如上所述,在这种情况下,最终该重叠窗口将总共被重新绘制三次,比必需的多两次。
如上所述,并且参见图11f,在该重叠窗口的重新绘制被延迟的情况下,在重叠窗口Window C 2100被重新绘制之前,全部的三条垂直线2124、2126、2128都被绘制在WindowD 2102中,此后这些窗口具有如图11b所示的正确外观。
下面将描述一个进一步例子,其中一个将被绘制的对象需要十条绘制命令,再次着重说明延迟重叠的透明窗口的重新绘制的特征。如前所述,该对象将被绘制在一个包含了透明窗口的环境中。
依据如上所述的方法,可以选择两个过程中的一个。第一个过程如下:
1.设置win_over_mode参数为Ignore No Background
2.执行这十个绘制操作。由于全部的透明窗口都被忽略了,所以没有产生ExposeEvents
3.设置win_over_mode参数为ClipAll
4.绘制一个虚拟的、包含了其中已经被绘制的所有区域的矩形。这个操作产生一个被发送到受到影响窗口的Expose Event。
第二个可以被选择的较短过程如下:
1.设置no_bg_win-management属性为LetMeDoIt
2.执行十个绘制操作。由于全部的透明窗口都被忽略了,所以没有产生ExposeEvents
3.传递这十个绘制操作的物理范围作为一个参数,调用SentEventToNoBgWindow()。然后Expose Events被发送到受影响的窗口。
应当注意到:两个过程都获得了相同的结果。
在上述实例中,受影响的窗口仅仅被重新绘制一次,而不是象如果为每个绘制指令都产生一个Expose Event的情况那样、这些窗口被重新绘制十次。以这种方式,可以在处理中有相当多的节省。
在该最佳实施例的一个变体中,使用了一个进一步的重新绘制窗口的方法。这个方法包含:在一个具体数目的绘制操作之后,发送一个信号以重新绘制重叠窗口,其中该数目通常在该绘制操作之前被确定。参考总共要求十个绘制操作的上述实例,如果该确定的数目为5,则将在第5个和第10个绘制操作之后重新绘制任何重叠窗口。
这个重新绘制方法提供了重新绘制比如果在每个绘制操作之后就进行重新绘制不频繁的优点,还提供了一个进一步的优点:如果大量的连续绘制操作正执行,保持该屏幕相对频繁地被刷新。在刷新之前等候的绘制操作数目能够几乎是任何数目,例如,取决于当前加载的处理器,从1开始(但是一般将在1到1000之间)。该计数和重新绘制的处理可以要么由该客户处理要么由该窗口管理器处理。
使用如上所述、关于延迟该透明窗口的重新绘制的优化,允许一个应用程序使用透明窗口时,在涉及的处理量中有一个较大的折扣。这在其中处理能力可能有限、诸如接收器/解码器的环境中,尤其有利。
也提供了为接收器/解码器所特有的进一步优点。例如,因为窗口能够更有效地在彼此之上层叠,透明窗口的使用一般地能够允许提供一个更小的窗口显示。对一般在使用中覆盖在一个视频图像上的窗口显示(通过如上所述的图形处理器,其既从该视频解码器又该窗口***获取输入),一个更小的窗口显示是高度可取的,因为更少的视频图像将被遮蔽。
此外,当显示在一个电视上(例如,其通常不能支持和计算机监视器一样高的分辨度)时,一般使用的显示透明窗口的方法(与混和方法相比)能够产生一个较高对比度的图象。
参考图12到15,将描述一个进一步实例,涉及如上所述的该透明窗口***的一个特定应用程序:即,用于一个接收器/解码器的一个国际互连网浏览器应用程序。
图12显示了该国际互连网浏览器的主要屏幕导航显示屏的一个屏幕截图。该主要屏幕显示了一个包含该主菜单的纵向链1100,其中该主菜单包含作为一个链接列表的各个按钮。该按钮通过该链的链接单元进行链接。在图12的链1100中显示的按钮包含:RELOADSTOP按钮1110、PREVIOUS按钮1120,NEXT按钮1130、HISTORY按钮1140、BOOKMARK按钮1150、SETTINGS按钮1160和QUIT按钮1170。
该主菜单链1100被安排以附加在显示在画面1101上的超文本标志语言文件(HTML)上。在图12中,除了该主菜单链1100之外没有HTML文件被显示,屏幕1101为空。
该用户具有一个控制器,利用该控制器他能够在在该屏幕1101上的对象之间定位,突出显示对象并且选定对象。在本实例中,使用的控制器是一个电视遥控装置。当显示一个HTML页时,遥控器的任何按钮调用链1100(工具条)。链1100还能够由该用户打开和关闭。
图13显示了具有一个HTML文件打开的图12的屏幕。在图13中,现在PREVIOUS按钮1120被突出显示。
图14显示了,当突出显示在PREVIOUS按钮1120上时,包含一个文字框1122的"tooltip(工具提示)"如何能在该屏幕出现。在本实例中,一旦相关的图标被突出显示时,显示该工具提示。能够设置这个首选项以便当该按钮被突出显示时,在一个延迟之后显示该工具提示。文本框1122包含词"previous(前面)",以表示PREVIOUS按钮1120的功能。通过按下SELECT键1186激活该PREVIOUS按钮,浏览器转移到查看过的前一页。
在返回到图12到图14的讨论之前,现在将描述用于绘制上述导航链(在其它东西当中)的一个"widget set(窗口小部件集合)"。一个这样一个窗口小部件集合的特定应用程序将提供在一个用于数字电视的接收器/解码器的一个GUI显示中的窗口小部件。在其它东西当中,该窗口小部件集合包含一组基本的窗口小部件类别410,其在其它当中,包含,窗口和对话框框架、一个滑动器控制、一个按钮、一个复选框、一个正文域、以及一个文本编辑框。
每一窗口小部件类别都实现方法和事件处理器,以控制该窗口小部件的操作。该窗口小部件类别也可以包含用于绘制该窗口小部件某些部分的方法。然而,为了为该窗口小部件提供一个特定外貌或者"外观",该窗口小部件类别引用与该窗口小部件类别相关的一个外观对象类别的绘制方法。
一个外观在其它东西当中,包含一个颜色的定义,以便使与一个特定外观实例有关的任何窗口小部件实例,使用在那个外观实例中定义的颜色。在一个实施例中,一个外观定义了几种颜色,诸如黑色、暗灰色、中灰色、浅灰色、非常浅灰色、白色、和突出显示颜色。重要地,以及此外,它也定义了一个透明色。
图15更详细地显示了如上所述的导航器功能按钮(1410)的最高等级链,可以看见在它下面的一个网页的一部分(1411)。
如先前所述,该主要屏幕显示一个垂直条(主菜单)(1410),它由一系列按钮组成。一个按钮实际上是一个长方形或者正方形区域(例如,32×32像素)。当该图形光标进入一个区域时,那个区域(窗口)接收该焦点。
鉴于以上所述,人们能够概括出:每个区域是一个窗口,而且从图15中可以看出,这些窗口的每一个的背景都被布置为透明的,因此允许该工具条(包含一个交互式前景对象)的每个按钮在当覆盖在国际互连网浏览器上时,具有一个表面上非长方形的形状。这除了允许国际互连网浏览器的设计师更灵活以外,能够允许具有后续优点的按钮的一个更紧凑布局。
上述国际互连网浏览器和导航工具条的构造和功能在号为00300832.3、以Canal+Technologies SocieteAnonyme名义的欧洲专利申请中进行了更详细的讨论。
应当理解:在上面已经仅仅通过示例对本发明进行了描述,能够在本发明的范围内对细节做出修改。
在该说明书以及(合适处的)权利要求和附图中,公开的每个特征可独立地提供或者以任何适当组合的形式提供。
在该权利要求中出现的参考数字仅仅用于说明,而且应当不具有在该权利要求范围上的限制作用。
Claims (12)
1.一种在要被显示在屏幕上的窗口中进行绘制的方法,其中在至少一个透明重叠窗口(102)下面绘制在置于下面的窗口(100)中的背景对象(114),使得所述背景对象(114)覆盖在所述至少一个透明重叠窗口(102)中的前景对象(108,110),所述方法包括以下步骤:
- 确定在所述置于下面的窗口(100)中受到绘制所述背景对象影响的区域(116);
- 识别位于受影响区域之上的任何透明窗口(102);
- 响应于从所述背景对象向所述至少一个透明重叠窗口(102)发送曝光事件,确定所述至少一个透明重叠窗口(102)的位于受影响区域(116)之上并受到所述绘制影响的至少一个部分(118);
- 响应于接收到用信号指示将要重新绘制所述至少一个透明重叠窗口的所述至少一个确定的部分(118)的所述曝光事件,只重新绘制所述至少一个透明重叠窗口的所述确定的部分。
2.根据权利要求1的方法,其中,在接收到来自所述至少一个透明重叠窗口的客户的信号之前,推迟所述重新绘制步骤。
3.根据权利要求1的方法,其中,在所述重新绘制步骤之后,所述前景对象至少部分地遮蔽置于所述前景对象下面的区域。
4.根据权利要求1、2或3的方法,还包括:重新绘制另一透明重叠窗口,通过所述另一透明重叠窗口看得见置于下面的对象。
5.根据权利要求4的方法,其中,所述置于下面的窗口的至少一部分置于所述重叠窗口下面。
6.根据权利要求4的方法,还包括:监视在所述另一透明重叠窗口中的绘制,以使得影响所述至少一个透明重叠窗口的在所述另一透明重叠窗口中的绘制能够被校正。
7.一种接收/解码器(13),包括用于在要被显示在屏幕上的窗口中进行绘制的装置,其中所述窗口具有在至少一个透明重叠窗口(102)下面绘制的、在置于下面的窗口(100)中的背景对象(114),使得所述背景对象(114)覆盖在所述至少一个透明重叠窗口(102)中的前景对象(108,110);
所述接收/解码器的特征在于它包括:
- 用于确定在所述置于下面的窗口(100)中受到绘制所述背景对象影响的区域(116)的装置;
- 用于识别位于受影响区域之上的任何透明窗口(102)的装置;
- 用于响应于从所述背景对象向所述至少一个透明重叠窗口(102)发送曝光事件,确定所述至少一个透明重叠窗口(102)的位于受影响区域(116)之上并受到所述绘制影响的部分(118)的装置;
- 用于在接收到用信号指示应当重新绘制所述至少一个透明重叠窗口的所确定的部分(118)以便显示所述窗口的所述曝光事件之后,只重新绘制所述至少一个透明重叠窗口的所述部分的装置。
8.根据权利要求7的接收/解码器(13),其中,用于重新绘制的所述装置包括用于在接收到来自所述至少一个透明重叠窗口的客户的信号之前推迟所述重新绘制的装置。
9.根据权利要求7的接收/解码器(13),其中,在所述重新绘制之后,所述前景对象至少部分地遮蔽置于所述前景对象下面的区域。
10.根据权利要求7、8或9的接收/解码器(13),还包括:用于重新绘制另一透明重叠窗口的装置,通过所述另一透明重叠窗口看得见置于下面的对象。
11.根据权利要求10的接收/解码器(13),其中,所述置于下面的窗口的至少一部分置于所述重叠窗口下面。
12.根据权利要求10的接收/解码器(13),还包括:用于监视在所述另一透明重叠窗口中的绘制以使得影响所述至少一个透明重叠窗口的在所述另一透明重叠窗口中的绘制能够被校正的装置。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99402353A EP1094385A1 (en) | 1999-09-27 | 1999-09-27 | Windowing systems |
EP99402353.9 | 1999-09-27 | ||
EP99402721A EP1098246A1 (en) | 1999-11-02 | 1999-11-02 | Displaying graphical objects |
EP99402721.7 | 1999-11-02 | ||
EP00300832A EP1098244A3 (en) | 1999-11-02 | 2000-02-03 | Graphical user interface |
EP00300832.3 | 2000-02-03 | ||
CN00816055A CN1391669A (zh) | 1999-09-27 | 2000-09-26 | 窗口*** |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00816055A Division CN1391669A (zh) | 1999-09-27 | 2000-09-26 | 窗口*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102819428A CN102819428A (zh) | 2012-12-12 |
CN102819428B true CN102819428B (zh) | 2018-11-13 |
Family
ID=27223499
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210178012.4A Expired - Lifetime CN102819428B (zh) | 1999-09-27 | 2000-09-26 | 窗口*** |
CN00816055A Pending CN1391669A (zh) | 1999-09-27 | 2000-09-26 | 窗口*** |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00816055A Pending CN1391669A (zh) | 1999-09-27 | 2000-09-26 | 窗口*** |
Country Status (14)
Country | Link |
---|---|
US (1) | US7068266B1 (zh) |
EP (2) | EP1232434B1 (zh) |
JP (1) | JP4785312B2 (zh) |
KR (1) | KR100677777B1 (zh) |
CN (2) | CN102819428B (zh) |
AT (1) | ATE302971T1 (zh) |
AU (1) | AU7679700A (zh) |
BR (1) | BR0014349A (zh) |
DE (1) | DE60022219T2 (zh) |
ES (1) | ES2246895T3 (zh) |
HK (1) | HK1045385B (zh) |
MX (1) | MXPA02003231A (zh) |
MY (1) | MY127993A (zh) |
WO (1) | WO2001023995A2 (zh) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4287621B2 (ja) * | 2001-06-11 | 2009-07-01 | パナソニック株式会社 | テレビジョン受信機およびこれに対する情報提供方法 |
US20030135851A1 (en) * | 2002-01-17 | 2003-07-17 | Laura Dickey | Method and system for concentration of applications during installation in target devices |
US7343566B1 (en) * | 2002-07-10 | 2008-03-11 | Apple Inc. | Method and apparatus for displaying a window for a user interface |
JP4158462B2 (ja) * | 2002-09-04 | 2008-10-01 | ソニー株式会社 | 画面表示処理装置及び画面表示処理方法、並びにコンピュータ・プログラム |
US7930721B1 (en) | 2003-04-02 | 2011-04-19 | Lodgenet Interactive Corporation | Method and system for offering interactive controls in a lodging entertainment system |
US7908566B2 (en) | 2003-12-29 | 2011-03-15 | International Business Machines Corporation | System and method for scrolling among categories in a list of documents |
US8171426B2 (en) | 2003-12-29 | 2012-05-01 | International Business Machines Corporation | Method for secondary selection highlighting |
US8151214B2 (en) | 2003-12-29 | 2012-04-03 | International Business Machines Corporation | System and method for color coding list items |
US7421664B2 (en) | 2003-12-29 | 2008-09-02 | International Business Machines Corporation | System and method for providing a category separator in a list of documents |
KR101117835B1 (ko) * | 2004-05-06 | 2012-03-22 | 다카토시 야나세 | 윈도우 표시시스템, 윈도우 표시방법, 프로그램 개발지원장치 및 서버장치 |
CN1324889C (zh) * | 2004-05-09 | 2007-07-04 | 意法半导体有限公司 | 一种嵌入式的数字电视业务平台的实现方法 |
JP2006048408A (ja) * | 2004-08-05 | 2006-02-16 | Obic Business Consultants Ltd | 入出力画面作成システム、入出力画面作成方法及び業務処理システム |
KR100679019B1 (ko) * | 2004-11-02 | 2007-02-05 | 삼성전자주식회사 | 버퍼링을 이용한 누적식 벡터 드로잉 방법 및 장치 |
US9569556B2 (en) | 2005-08-19 | 2017-02-14 | Google Inc. | Software architecture for displaying information content from plug-in modules in a user interface |
KR100818920B1 (ko) * | 2006-02-10 | 2008-04-04 | 삼성전자주식회사 | 그래픽 객체의 처리 시 발생된 키 이벤트를 제어하는 장치및 그 방법 |
WO2007106148A2 (en) * | 2006-02-24 | 2007-09-20 | Vogel Robert B | Internet guide link matching system |
US7876333B2 (en) * | 2006-03-30 | 2011-01-25 | Smart Technologies Ulc | Method and graphical interface for embedding animated content into a computer application |
US7921415B1 (en) * | 2006-05-19 | 2011-04-05 | Tellme Networks, Inc. | Externally loaded browser interpreter for non-native language support |
WO2008093781A1 (ja) | 2007-02-02 | 2008-08-07 | Sony Corporation | 情報処理装置および方法、並びにプログラム |
US8839142B2 (en) | 2007-06-08 | 2014-09-16 | Apple Inc. | Desktop system object removal |
US8327277B2 (en) * | 2008-01-14 | 2012-12-04 | Microsoft Corporation | Techniques to automatically manage overlapping objects |
US8739048B2 (en) * | 2008-08-28 | 2014-05-27 | Microsoft Corporation | Modifying conversation windows |
US9854254B2 (en) * | 2009-08-04 | 2017-12-26 | Avocent Corporation | Method and system for remote viewing of static and video images |
CN102023852A (zh) * | 2009-09-15 | 2011-04-20 | 深圳市巨龙科教高技术股份有限公司 | 一种截屏方法及*** |
US20110093890A1 (en) * | 2009-10-21 | 2011-04-21 | John Araki | User control interface for interactive digital television |
JP4917194B2 (ja) * | 2010-05-28 | 2012-04-18 | 楽天株式会社 | コンテンツ表示装置、コンテンツ表示方法、コンテンツ表示プログラム、記録媒体、サーバ装置、コンテンツ提供方法及びコンテンツ提供プログラム |
US9292196B2 (en) | 2010-10-19 | 2016-03-22 | Apple Inc. | Modifying the presentation of clustered application windows in a user interface |
US9658732B2 (en) | 2010-10-19 | 2017-05-23 | Apple Inc. | Changing a virtual workspace based on user interaction with an application window in a user interface |
US9542202B2 (en) | 2010-10-19 | 2017-01-10 | Apple Inc. | Displaying and updating workspaces in a user interface |
US10740117B2 (en) | 2010-10-19 | 2020-08-11 | Apple Inc. | Grouping windows into clusters in one or more workspaces in a user interface |
US10152192B2 (en) | 2011-02-21 | 2018-12-11 | Apple Inc. | Scaling application windows in one or more workspaces in a user interface |
US9151944B2 (en) * | 2012-07-19 | 2015-10-06 | Sony Corporation | Method and apparatus for navigating stacked microscopy images |
JP5955148B2 (ja) * | 2012-07-27 | 2016-07-20 | キヤノン株式会社 | 画像形成装置及び仮想マシンプログラム |
US9292249B2 (en) * | 2012-09-28 | 2016-03-22 | Hewlett-Packard Development Company, L.P. | System with content display management |
US9870554B1 (en) | 2012-10-23 | 2018-01-16 | Google Inc. | Managing documents based on a user's calendar |
US10140198B1 (en) | 2012-10-30 | 2018-11-27 | Google Llc | Networked desktop environment |
US8819587B1 (en) | 2012-10-30 | 2014-08-26 | Google Inc. | Methods of managing items in a shared workspace |
US9842113B1 (en) | 2013-08-27 | 2017-12-12 | Google Inc. | Context-based file selection |
US9973462B1 (en) | 2013-10-21 | 2018-05-15 | Google Llc | Methods for generating message notifications |
CN105068714B (zh) * | 2015-08-10 | 2019-02-05 | 联想(北京)有限公司 | 一种显示控制方法及电子设备 |
CN105809054B (zh) | 2016-01-26 | 2019-04-23 | 腾讯科技(北京)有限公司 | 信息获取方法及装置 |
US20180067594A1 (en) * | 2016-09-07 | 2018-03-08 | Opentv, Inc. | User interface analytics and context usage |
CN108037966A (zh) * | 2017-11-10 | 2018-05-15 | 维沃移动通信有限公司 | 一种界面显示方法、装置及移动终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2308536A (en) * | 1995-12-21 | 1997-06-25 | Mitsubishi Electric Corp | A window display apparatus which moves display frames and a data processing system using this apparatus |
CN1190219A (zh) * | 1998-01-14 | 1998-08-12 | 英业达股份有限公司 | 关联视窗的信息处理***及其方法 |
CN1202664A (zh) * | 1997-06-18 | 1998-12-23 | 惠普公司 | 在计算机屏幕上显示方格图窗口数据用的方法及设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993006561A1 (en) * | 1991-09-24 | 1993-04-01 | Ceridian Corporation | Software for executing plural independent application programs |
JPH0546138A (ja) * | 1991-10-28 | 1993-02-26 | Hitachi Ltd | 計算機システムの多重画面表示制御方法 |
DE69315969T2 (de) * | 1992-12-15 | 1998-07-30 | Sun Microsystems Inc | Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern |
US5524195A (en) | 1993-05-24 | 1996-06-04 | Sun Microsystems, Inc. | Graphical user interface for interactive television with an animated agent |
US5768607A (en) | 1994-09-30 | 1998-06-16 | Intel Corporation | Method and apparatus for freehand annotation and drawings incorporating sound and for compressing and synchronizing sound |
US5764229A (en) * | 1996-05-09 | 1998-06-09 | International Business Machines Corporation | Method of and system for updating dynamic translucent windows with buffers |
KR100627378B1 (ko) | 1996-08-28 | 2006-09-22 | 임베디드 테크놀로지스, 엘엘씨 | 터치 스크린 장치 및 방법 |
US6246407B1 (en) * | 1997-06-16 | 2001-06-12 | Ati Technologies, Inc. | Method and apparatus for overlaying a window with a multi-state window |
US6600496B1 (en) * | 1997-09-26 | 2003-07-29 | Sun Microsystems, Inc. | Interactive graphical user interface for television set-top box |
JPH11203014A (ja) * | 1998-01-20 | 1999-07-30 | Hitachi Ltd | マルチウインドウシステムでのヘルプ表示方式 |
US6359631B2 (en) * | 1999-02-16 | 2002-03-19 | Intel Corporation | Method of enabling display transparency for application programs without native transparency support |
US6538660B1 (en) * | 1999-11-12 | 2003-03-25 | International Business Machines Corporation | Method, system, and program for superimposing data from different application programs |
-
2000
- 2000-09-26 CN CN201210178012.4A patent/CN102819428B/zh not_active Expired - Lifetime
- 2000-09-26 KR KR1020027004004A patent/KR100677777B1/ko active IP Right Grant
- 2000-09-26 ES ES00966362T patent/ES2246895T3/es not_active Expired - Lifetime
- 2000-09-26 EP EP00966362A patent/EP1232434B1/en not_active Expired - Lifetime
- 2000-09-26 US US10/089,218 patent/US7068266B1/en not_active Expired - Lifetime
- 2000-09-26 EP EP03079184A patent/EP1411427A3/en not_active Ceased
- 2000-09-26 CN CN00816055A patent/CN1391669A/zh active Pending
- 2000-09-26 AT AT00966362T patent/ATE302971T1/de active
- 2000-09-26 AU AU76797/00A patent/AU7679700A/en not_active Abandoned
- 2000-09-26 BR BR0014349-9A patent/BR0014349A/pt not_active Application Discontinuation
- 2000-09-26 JP JP2001526698A patent/JP4785312B2/ja not_active Expired - Lifetime
- 2000-09-26 DE DE60022219T patent/DE60022219T2/de not_active Expired - Lifetime
- 2000-09-26 MX MXPA02003231A patent/MXPA02003231A/es active IP Right Grant
- 2000-09-26 WO PCT/IB2000/001486 patent/WO2001023995A2/en active IP Right Grant
- 2000-09-26 MY MYPI20004482A patent/MY127993A/en unknown
-
2002
- 2002-09-14 HK HK02106761.2A patent/HK1045385B/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2308536A (en) * | 1995-12-21 | 1997-06-25 | Mitsubishi Electric Corp | A window display apparatus which moves display frames and a data processing system using this apparatus |
CN1202664A (zh) * | 1997-06-18 | 1998-12-23 | 惠普公司 | 在计算机屏幕上显示方格图窗口数据用的方法及设备 |
CN1190219A (zh) * | 1998-01-14 | 1998-08-12 | 英业达股份有限公司 | 关联视窗的信息处理***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
HK1045385B (zh) | 2006-07-07 |
EP1411427A2 (en) | 2004-04-21 |
EP1232434A2 (en) | 2002-08-21 |
KR20020033832A (ko) | 2002-05-07 |
AU7679700A (en) | 2001-04-30 |
EP1411427A3 (en) | 2009-09-09 |
WO2001023995A3 (en) | 2001-10-11 |
KR100677777B1 (ko) | 2007-02-05 |
MY127993A (en) | 2007-01-31 |
BR0014349A (pt) | 2002-06-04 |
DE60022219T2 (de) | 2006-02-16 |
MXPA02003231A (es) | 2003-12-11 |
CN102819428A (zh) | 2012-12-12 |
JP2003510717A (ja) | 2003-03-18 |
HK1045385A1 (en) | 2002-11-22 |
DE60022219D1 (de) | 2005-09-29 |
US7068266B1 (en) | 2006-06-27 |
CN1391669A (zh) | 2003-01-15 |
WO2001023995A2 (en) | 2001-04-05 |
EP1232434B1 (en) | 2005-08-24 |
JP4785312B2 (ja) | 2011-10-05 |
ES2246895T3 (es) | 2006-03-01 |
ATE302971T1 (de) | 2005-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102819428B (zh) | 窗口*** | |
JP5713459B2 (ja) | グラフィックオブジェクトの表示 | |
US5541662A (en) | Content programmer control of video and data display using associated data | |
US6108042A (en) | Method and system for configuring a display | |
US6600496B1 (en) | Interactive graphical user interface for television set-top box | |
EP1008933A2 (en) | TV pip using java api classes and java implementation classes | |
KR100805691B1 (ko) | 네비게이션 | |
JP4549532B2 (ja) | レシーバ/デコーダおよびビデオデータの処理方法 | |
EP1098246A1 (en) | Displaying graphical objects | |
EP1094385A1 (en) | Windowing systems | |
EP1521174A1 (en) | Service safely-extensible platform | |
CZ20003997A3 (cs) | Způsob zpracování video dat a přijímač /dekodér |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190528 Address after: France Patentee after: Data Exchange Patent Holding Company Address before: French Boulogne Billancourt Patentee before: RCA Thomson Licensing Corporation |
|
TR01 | Transfer of patent right | ||
CX01 | Expiry of patent term |
Granted publication date: 20181113 |
|
CX01 | Expiry of patent term |