CN1130683C - 用于控制辅助用户界面的显示的方法和相应显示控制器 - Google Patents
用于控制辅助用户界面的显示的方法和相应显示控制器 Download PDFInfo
- Publication number
- CN1130683C CN1130683C CN98812497A CN98812497A CN1130683C CN 1130683 C CN1130683 C CN 1130683C CN 98812497 A CN98812497 A CN 98812497A CN 98812497 A CN98812497 A CN 98812497A CN 1130683 C CN1130683 C CN 1130683C
- Authority
- CN
- China
- Prior art keywords
- viewing area
- user interface
- addressable
- video
- whole
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
- G09G1/06—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
- G09G1/14—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
- G09G1/16—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
- G09G1/165—Details of a display terminal using a CRT, the details relating to the control arrangement of the display terminal and to the interfaces thereto
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
- G09G1/06—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
- G09G1/14—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
- G09G1/16—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
- G09G3/34—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
- G09G3/36—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
- G09G3/3611—Control of matrices with row and column drivers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/37—Details of the operation on graphic patterns
- G09G5/377—Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/06—Details of flat display driving waveforms
- G09G2310/061—Details of flat display driving waveforms for resetting or blanking
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/02—Graphics controller able to handle multiple formats, e.g. input or output formats
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
- G09G5/397—Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
Abstract
在通常由普通操作系统使用的显示区域外面的过扫描区域中建立和访问图形用户界面的一种方法。这种正常的显示区域通常被称为“桌面”。桌面用作操作系统的图形用户界面。桌面显示一些代表用户可用的文件、文档和应用程序的图象。桌面被限制在一般的环境中,该环境对应于一组预定义的分辨率(例如640*480,800*600,1024*768),如VGA和SVGA标准所定义的。在这个区域外面的可显示边界是过扫描区域。
Description
本发明涉及用于控制辅助用户界面的显示的方法和相应显示控制器,尤其涉及独立于标准用户界面显示的用户界面的使用方法和相应显示控制器。
以前,个人计算机最流行的操作系统(DOS)不包括图形用户界面。任何公司都可以创建“菜单”或者“外壳”,这些“菜单”或者“外壳”将是启动计算机时被运行的第一个程序,并且将为用户运行和管理各种应用程序提供选择。虽然在DOS环境中难以进行图形程序设计,但某些公司还是建立了可以启动其它程序的图形用户界面。
华盛顿州Redmond的微软公司引入了这样一种图形用户界面,用于启动应用程序,该图形用户界面被称为“Windows”。Windows的头三种版本仅仅是可以在DOS下运行的应用程序,并且可以是由非微软公司的某个公司提供的以前运行的外壳或者菜单中选择的许多项目中的一个。这继续允许其它公司为用户提供主要的用户界面程序,而用户不需要通过由微软控制的用户界面。
然而,随着微软公司对Windows 95TM的引入,操作系统的初始装载在开始时就提供微软开发的图形用户界面,这占有整个的屏幕显示。如同其以前的操作系统产品一样,微软公司安排标准计算机硬件的制造商在出售每一台计算机时都带有该操作系统。随着微软公司对这一市场的控制,其他软件供应商不可能在包括整个屏幕显示的微软“桌面”之内为用户提供非微软风格图标的界面。这提出了访问用户界面的需要:可以在标准计算机屏幕显示外面提供一种界面,因此不依赖于微软公司对其“桌面”内项目的规定。
标准的个人计算机使用VGA、超级VGA或者XGA视频显示系统。这些显示系统以标准化的图形方式,例如640×480象素,800×600象素,1024×768象素和1280×1024象素操作。当选择这些显示方式中的一种时,这是可供显示的整个区域。在微软Windows环境中,用户指示Windows操作系统选择这些标准显示方式中的一个,并且Windows操作系统提供所有应用程序及其被选择显示区域中的图标。目前没有办法能够使Windows“桌面”使用比整个显示区域小的区域和实现所需的功能,并且允许来自另一个供应商的另一个程序控制其余程序。所需要的是将阻碍视频存储器从这种方式移开的能力,并且保证没有别的将成为阻碍的东西以后可以被定位在这个空间中。
本发明提供了这样一种技术,在标准用户图形显示界面上,例如在标准的屏幕显示区域以外的边界中增加和使用一个新的用户界面。常规的视频系统,诸如VGA,SVGA和XGA视频系统,包括围绕该显示区域的一条定义的边界。这条边界的原来目的是,允许阴极射线管显示器中的电子枪有充分的时间进行水平和垂直回扫描。然而,随着LCD显示器的出现,以及现代监视器中回扫描速度的提高,现在可以在这条边界上提供用户界面显示。可以被控制作为用户界面的边界是被称为“过扫描”的一部分。本发明是,例如,在围绕通常被称为桌面的常规用户界面显示的过扫描区域中,提供一个或多个附加或者从属的用户界面的一种方法。
当CRT的电子枪回扫描到屏幕的左边或者屏幕的顶端时,它要求大量的时间提供数据扫描行。在回扫描期间,电子枪被关闭(″消隐″)。如果回扫描所需的消隐时间等于可用的时间,就没有可利用的过扫描。然而,现代监视器回扫描的速度已经变得快得多,留下了电子枪不必消隐的许多时间,允许出现一条可显示的边界。在现有的技术中,虽然边界通常是“黑色”(电子枪被关闭)的,但众所周知的是,该边界可以具有六种颜色中的任何一种。标准的基本输入输出系统允许说明这种颜色。期望的颜色在视频控制器的一个寄存器中被简单地指定。没有关于这种颜色的数据被储存在用于显示的视频存储器的缓冲器里面。本发明为边界建立一个附加的视频缓冲器并且允许这个缓冲器像常规显示缓冲器一样写入显示数据。显示区域由此在一个或多个边上被扩充,提供以前看不见而现在可以见到的一个区域。使这个新近可以见到的显示区域之内的象素,通过作为本发明组成部分的应用编程界面(API)可由程序访问。加入图形用户界面的程序可以在以前的消隐区域中被显示,无须修改硬件就可以在功能上增加可访问的显示区域。
本发明是用于在被视频显示系统产生的主要显示区外面的一个区域中显示某个视频显示系统的图象的一种方法。两个维定义标准的显示区域,每一个维规定一些象素。选择一种视频“方式”来说明这些维。这种方法是通过调整视频显示系统的参数以增加显示系统的至少一个维中的象素的数目来实现的。被添加的象素的数目少于或者等于在视频方式中所说明的象素数目和视频显示系统能有效地显示的象素最大数目之间的差值。这个差值就是该过扫描区域。因为所有界面显示都是通过向视频显示的缓冲器或者存储器写入一个期望的图象来创建的,所以该方法要求为增加的象素分配附加的视频显示存储器。写给这样的存储器的图象然后通过在原来的显示区域旁边的系统予以显示。
在第一实施例中,仅仅垂直的维被增加并且在主要的显示区域上面或者下面提供过扫描的用户界面。另外,水平维也可能被增加,并且在主要显示区域的左边或右边显示过扫描的用户界面。同样地,界面图象可能被显示在主要显示区域的任何一面或者所有的四个侧面。
图1给出现有技术的标准显示。
图2给出具有在底部过扫描区域中的一个过扫描用户界面的标准显示。
图3表示带有所有四条显示边界上的一个过扫描的用户界面的标准显示。
图4表示与视频显示系统有关的计算机系统的组成部分。
图5表示在过扫描用户界面内的光标或者指针以及在其上的标准显示内的热点。
图6表示在标准显示周围的垂直过扫描和水平过扫描之内的可利用边界。
图7是表示本发明的一个最佳实施例操作的综述流程图。
图8是图7中识别显示步骤102中的子步骤的流程图。
图9是图7中改变显示分辨率的步骤114的子步骤的流程图。
图10是图7中画显示步骤120的子步骤的流程图。
图11是图7中使能线性寻址步骤112的子步骤的流程图。
图12是图7过程信息回路的子步骤的流程图。
图13是图12中检查鼠标和键盘事件步骤184的子步骤的流程图。
图14是图7中改变仿真技术分辨率步骤115的子步骤的流程图。
本发明包括这样的技术,提供和使用一个从属或者附加的用户界面,最好是一个从属的图形用户界面或者从属的GUI,至少与诸如常规桌面GUI的主用户界面同时显示。
在一个最佳实施例中,计算机系统中的程序设计机制和界面方便地提供从属的GUI,并且通过向一般被忽略和不可访问的监视器显示的一个部分(以后叫“过扫描区”)提供访问和能见度,提供当前未用过的潜在显示区域。图1给出一种在微软的Windows 95TM下运行的标准的现有技术的显示桌面。在桌面31之内的是任务栏32和桌面图标33。
在本发明的一个最佳实施例中,图形用户界面的图象被画在过扫描区的一个或多个边上,如图2和图3所示。图2和图3说明增加了在过扫描区中显示的图形栏用户界面的超级VGA(SVGA)显示。过扫描用户界面栏30被定义在“桌面”显示区31的边界外面。在图2中,修改该显示使之包括在底边下面的20个象素高的栏中的一个图形用户界面30。在图3中,修改该显示使之包括在4个显示边的每一个的外面、每个高/宽为20个象素的4个栏中的图形用户界面:底部栏30、左边栏34、右边栏36以及顶部栏38。
过扫描界面可以包括,但不局限于,按钮、菜单、应用程序输出控制(例如“ticker window”)、动画以及用户输入控制(例如编辑框)。因为过扫描界面不会受到运行在标准桌面内的其他应用程序的阻碍,因此,过扫描界面可以持续地可视,或者可以根据许多程序设计参数(包括,但不局限于,活动窗口的状态,触发按钮的状态等等。)中的任何一个,在可视和不可视状态之间进行转换。
图4给出了与视频显示系统相关的计算机系统的主要组成部分。在软件组成部分5之内有操作系统63和应用程序61。在现代系统的保护方式内,应用程序61没有直接访问视频或者图形驱动器64或者诸如包含视频芯片组66A,66B和66C的视频卡66的硬件组成部分。诸如应用程序界面(API)60和/或者直接API 62的抽象层一般通过操作系统63提供有限的访问。
本发明提供了一种描绘和访问在图形方式下通常不可访问或者使用的某个计算机显示区域的技术。在微软的Windows环境(包括微软视窗95和派生物,以及微软Windows NT 4.0和派生物)和其它当代的操作环境中,主要的显示区域“桌面”是由操作系统分配到一组预定的视频“方式”中的一个,例如下面表格1和2中所列出的那些,其中的每个都按某个特定的象素分辨率被预定义。这样,计算机显示的可访问的区域不可能被修改,除非通过选择另一个可用的预先定义的方式。
表格1:只读存储器基本输入输出系统视频方式
方式号 | 分辨率 | 方式颜色 | 缓冲区类型 | 段 |
00H | 42×25字符(320×350象素) | 16 | 字母 | B800 |
00H | 42×25字符(320×350象素) | 16 | 字母 | B800 |
00H | 42×25字符(320×400象素) | 16 | 字母 | B800 |
00H | 42×25字符(320×400象素) | 16 | 字母 | B800 |
01H | 42×25字符(320×200象素) | 16 | 字母 | B800 |
01H | 42×25字符(320×350象素) | 16 | 字母 | B800 |
01H | 42×25字符(320×400象素) | 16 | 字母 | B800 |
01H | 42×25字符(320×400象素) | 16 | 字母 | B800 |
02H | 80×25字符(640×200象素) | 16 | 字母 | B800 |
02H | 80×25字符(640×350象素) | 16 | 字母 | B800 |
02H | 80×25字符(640×400象素) | 16 | 字母 | B800 |
02H | 80×25字符(640×400象素) | 16 | 字母 | B800 |
03H | 80×25字符(640×200象素) | 16 | 字母 | B800 |
03H | 80×25字符(640×350象素) | 16 | 字母 | B800 |
03H | 80×25字符(640×400象素) | 16 | 字母 | B800 |
03H | 80×25字符(720×400象素) | 16 | 字母 | B800 |
04H | 320×200象素 | 4 | 图形 | B800 |
05H | 320×200象素 | 4 | 图形 | B800 |
06H | 840×200象素 | 2 | 图形 | B800 |
07H | 80×25字符(720×350象素) | 2 | 字母 | B000 |
07H | 80×25字符(720×400象素) | 2 | 字母 | B000 |
0DH | 320×200象素 | 16 | 图形 | A000 |
0EH | 640×200象素 | 16 | 图形 | A000 |
0FH | 640×350象素 | 4 | 图形 | A000 |
10H | 640×350象素 | 4 | 图形 | A000 |
10H | 640×350象素 | 16 | 图形 | A000 |
11H | 640×480象素 | 2 | 图形 | A000 |
12H | 640×480象素 | 16 | 图形 | A000 |
13H | 320×200象素 | 256 | 图形 | A000 |
第2表格:定义在VESA基本输入输出系统扩展中的SVGA视频
方式
方式号 | 分辨率 | 方式颜色 | 缓冲区类型 |
100H | 640×380象素 | 256 | 图形 |
101H | 640×480象素 | 256 | 图形 |
102H | 900×600象素 | 16 | 图形 |
103H | 800×600象素 | 256 | 图形 |
104H | 1024×768象素 | 16 | 图形 |
105H | 1024×768象素 | 256 | 图形 |
106H | 1280×1024象素 | 16 | 图形 |
107H | 1280×1024象素 | 256 | 图形 |
108H | 80×60字符 | 16 | 字母 |
109H | 132×25字符 | 16 | 字母 |
10AH | 132×43字符 | 16 | 字母 |
10BH | 132×50字符 | 16 | 字母 |
10CH | 132×60字符 | 16 | 字母 |
10DH | 320×200象素 | 32,768 | 图形 |
10EH | 320×200象素 | 65,536 | 图形 |
10FH | 320×200象素 | 16,777,216 | 图形 |
110H | 640×480象素 | 32,768 | 图形 |
111H | 640×480象素 | 65,536 | 图形 |
112H | 640×480象素 | 16,777,216 | 图形 |
113H | 800×600象素 | 32,768 | 图形 |
114H | 800×600象素 | 65,536 | 图形 |
115H | 800×600象素 | 16,777,216 | 图形 |
116H | 1024×788象素 | 32,768 | 图形 |
117H | 1024×768象素 | 65,536 | 图形 |
118H | 1024×768象素 | 16,777,216 | 图形 |
119H | 1260×1024象素 | 32,768 | 图形 |
11AH | 1280×1024象素 | 65,536 | 图形 |
11BH | 1280×1024象素 | 16,777,216 | 图形 |
如图6所示,所显示的图象是“过扫描的”。即,所显示的视频缓冲区数据占有少于整个可驱动的屏幕尺寸。可利用的过扫描边界的宽度依赖于减去水平消隐54的水平过扫描52的量,以及减去垂直消隐55的垂直过扫描53的量。
在第一个最佳实施例中,仅仅使用了在标准显示区域底部的一条边界。因而,只需要调整阴极射线管(CRT)控制器的垂直控制参数,如图4中的控制寄存器6H,16H,11H,10H,12H和15H所示。这些参数和其他的参数在下面表格3中给出:
表格3:CR程序设计的垂直时序参数。
寄存器 | 名 字 | 描述 |
6H | 垂直整个 | 值=(每帧扫描行总数)--2,该值的高位被储存在溢出寄存器 |
7H | 溢出 | 其它CR寄存器的高位。 |
10H | 垂直回扫描开始 | 在垂直回扫描开始的扫描行。该值高位被储存在溢出寄存器。 |
11H | 垂直回扫描结束 | 只保存实际垂直回扫描结束值的最低4位(第7位被设置到1以便写保护寄存器0-7) |
12H | 垂直显示结束 | 屏幕显示结束的扫描行。该值的高位被储存在溢出寄存器。 |
15H | 开始垂直消隐 | 垂直消隐开始的扫描行。该值的高位被储存在溢出寄存器。 |
16H | 结束垂直消隐 | 垂直消隐结束的扫描行。该值的高位被储存在溢出寄存器。 |
59H-5AH | 线性地址窗口位置 | 在32-位CPU地址空间中的线性地址窗口位置。 |
在标准的640×480图形方式下,额定水平扫描率是31.5KHz(每秒31,500次),具有60Hz(每秒60帧)的垂直的扫描率。因此一帧中的行数是31,500/60,或者525。因为仅仅480行数据需要显示,因此有525-480,或者45行可供垂直的过扫描使用。留下足够的余量用于回扫描,回扫描仅仅要求2行的时间,最佳实施例为本发明的过扫描显示使用20行。
本发明最佳实施例所揭示的方法是通过完成三个要求来实现的:
(1)提出并且修改视频显示系统的可视分辨率,使得过扫描区域部分是可视的,如图6所示,
(2)提出并且修改过扫描区域的可视部分的视频显示内容,并且
(3)提供应用程序界面(API)或者其它机制,允许应用程序执行这种功能。
图7,以及图8-13中提供的其他细节和子步骤,给出了执行满足上述要求的本发明的最佳实施例的流程图。这个执行环境是一个标准的微软Windows 95操作环境,使用微软的Visual C和微软的MASM作为开发平台。这并不意味着本发明被限制在那个环境或者平台的范围中。本发明可以在任何图形界面环境下执行,诸如X-Windows,OSFMotif,Apple OS,Java OS,以及其他采用类似的视频标准(VGA,SVGA,XGA,8514与A)的环境。由Richard Wilton编写的、并由微软公司出版社出版的参考书“个人电脑的视频系统”,以及由RichardF.Ferrano编写、并由Addison Wesley发行的“EGA,VGA,和超级VGA卡程序员指南”,提供了实现这个实施例的更充分的背景信息。
现在专门参考图7,在初始化时,在识别显示类型步骤102,程序试图确定显示类型,以及存储器中由该显示驱动程序使用的当前的地址,以便确定任何显示修改的大小和位置,例如,所使用的过扫描区的大小和位置。
如图8中进一步详细描述的,程序首先在查询硬件登记步骤131中查询硬件登记,试图确定所登记的显示器类型。如果成功的话,则程序在步骤135中确定显示类型所支持的兼容性信息,以便检验程序是否支持那种显示类型,并且确定存储器分配信息。
如果硬件登记信息难以获得,如步骤131所确定的,或者在步骤131中确定的显示类型不能在步骤104中确定被支持,则程序可以使用一种替换的方法,如图8中步骤135的子程序查询硬件所示,在步骤134中询问基本输入输出系统,并且在步骤136中查询视频芯片组66,以便得到类似的信息,如下面将要描述的一样。
如果在步骤134中要访问基本输入输出系统,则物理存储器首先在“分配物理存储器”步骤132中被分配,并且在步骤133中使用微软的DPMI(磁盘操作系统保护方式访问界面)进行访问,将其映射到线性的存储器地址,其中,基本输入输出系统驻留在Use DPMI,以便把基本输入输出系统的线性地址分配到物理存储器。
此后,程序在步骤134中,即读基本输入输出系统模块,搜索VGA/XVA类型和制造商标识符中,查询基本输入输出系统。如果成功的话,则驱动器和芯片组进一步被查询,以便在步骤136中,即为准确的芯片组而查询驱动器/芯片组中,确定显示类型和存储器位置。
在步骤134中,如果兼容性信息不表明标准的VGA,SVGA,XGA,或者8514/签名,则该子程序返回失败消息。如果找到一家已知的芯片组制造商的标识符,则在步骤136中,驱动器和/或者芯片组可以用厂商特定的子程序进行查询,以便在必要时,识别并且初始化特定的芯片组。
在步骤104中,如果程序或者因为步骤131登记查询不成功,或者因为步骤135的硬件查询不成功而最后不能识别显示类型,则用户可以在步骤116“(以窗口方式运行)”中被提示回答:程序是否应该继续作为标准“应用程序框”或者“工具框”来运行。程序可以退出或者继续作为桌面上的工具框来运行。
现在返回图8,如果检测到某个被支持的显示类型,则程序在步骤106“识别边界”中根据用户的爱好确定要被访问的屏幕边界以便在过扫描中显示,并且如果需要的话,则确定是否存在足够的视频存储器以便进行必要的显示变化。例如,如果屏幕当前被设置在每个象素16位的1024×768分辨率,并且该程序将包括四个图形的界面框,每个边上有一个,每一个框20个象素深,则程序必须检查保证视频存储器大于1.7MB(需要的字节数=象素宽度*BitsPerPixel*PixelsHeight)。
控制器寄存器6H,16H,11H,10H,12H和15H如图4中所示并且在表格3中详尽列出,它们可以通过标准的输入/输出端,使用标准的inp/outp函数进行访问。CR寄存器6H,16H,11H,10H,12H和15H首先必须被解锁,如图7步骤108“解锁CRTC寄存器”中所指出的那样,以便使之成为可写的。他们是通过在控制器寄存器11H中清除第7位而被解锁的。
在步骤112中通过若干方法中的一种实现视频存储器的寻址。一个方法是使用标准VGA64 Kb“硬件窗口”,必要时沿着视频存储器缓冲器67(图4)以64Kb增量移动。更为理想的方法是在图11的步骤138中,通过对视频芯片组询问线性窗口位置地址来实现线性寻址。在存储器中的这个32-位的偏移,允许程序在图11的步骤140和142中将线性存储器映射到一个物理地址,这可以有计划地进行操作。
这时,程序可以在图9的步骤114中修改显示,以便增加边界区域。这程序首先在步骤144中检查确定系统是否按“工具条”方式运行,并且,如果如此,则返回真值。如果不是,则确定是否将所有寄存器和值重置到它们原来的状态,在步骤152中有效地使显示恢复到它原来的样子。判定基于一些参数,诸如在步骤146中判定当前分辨率是否反映某个标准值,或者在步骤148中判断是否反映以前的计划性操作。如果已经设置了标准的分辨率,在步骤150中该变量被复位到包括指定的边界区域。CR寄存器在步骤154中被增量,以修改被扫描和消隐的显示区域。如果顶端或者侧面区域因此修改,则现有的视频存储器在图10的步骤162中被移动。
如果上述的任何子程序返回失败消息,则程序可能提示用户回答,在步骤113中确定是否应该使用“仿真”方式,或者在步骤116中确定是否应该使用窗口方式,或者在步骤124中确定程序是否应该退出。
按其最简单的形式,本发明可以被看作是增加从属GUI的一种技术,它通过重新配置实际的显示方式以添加被修改的、非标准的GUI方式,其中,标准的显示尺寸或者分辨率已经被增加,以便包括除主要的显示区域之外的从属显示区。例如,根据本发明修改标准的640×480显示使之变成更大的显示,其中的一段对应原来的640×480显示,而另一个段对应640×25的从属GUI显示。
有修改该系统使之包括从属的GUI所需的有各种各样的技术或者机制,这取决于从属GUI的要求以及未被修改的系统的现在的环境。
在本发明的另一个实施例中,通过假装让视频驱动器进入较大的的分辨率,为从属的GUI而分配系统资源。这种技术自动地保证足够空间成为被清除的,由于视频驱动器根据分辨率来分配系统资源,视频驱动器相信它将操作。为了在一个或更多屏幕的区域中操作一个或更多从属的用户界面,需要将连接视频存储器或帧缓冲区的存储器与邻接地在自由和可用的主要表面之下的位置联系起来。通过把一系列的特定的小程序写到已知具有从属用户界面的资源分配问题的硬件中,从属的用户界面应用程序可以运行这样的小程序,只要分辨率将被转换并且初始化与该特定的小程序相关的芯片组。如果应用程序查找到与当前特定的芯片组相关的一个小程序,则它将被发动。小程序或者微型驱动器可初始化自己,对驱动器视频分辨率表格执行必要的变化,迫使可重新使能的和足够的空间随后可用于一个或更多从属的用户界面。
当被重新使能时,驱动器根据UCCO分辨率表格上的数据按照需要为主要显示而分配视频存储器。因此,修改的值导致较大的分配。一旦驱动器已为主要的表面而分配所需要的存储器,驱动器就不允许对分配的存储器进行外部访问。这样,通过愚弄驱动器相信,它需要为确切地比当前分辨率大x个字节的分辨率而分配足够的存储器,其中,x是一个或多个从属的用户界面的尺寸,应用程序可以确信,分配的存储器位置的内部或者外部使用不会从属的用户界面冲突。
这种方法保证通过写小程序而为一个或更多从属的用户界面分配系统资源,该小程序将让视频驱动器按照这样一种方式工作,迫使视频驱动器在其下一次重新使能时,为高于实际的操作系统分辨率的分辨率而分配足够的视频存储器。这也可以通过修改广告方式表格的每个实例来实现,并且因此建立比主用户界面屏幕尺寸更大的屏幕尺寸。
这种技术还有另一个优点,不需要防止驱动器实际上变换成为指定的较大的的分辨率,从而交给主用户界面一个更大的显示表面分辨率。“硬件方式表格”,上述视频分辨率表格的一个变型,没有被做广告并且不能被访问。因此,当驱动器批准新的分辨率,检查硬件方式表格时,它将总是失败并且因此拒绝变换成为那个分辨率。因为这种技术在驱动器的处理中,足够早地修改广告的视频分辨率表格,分配存储器被修改,并且存储器地址在失败之前被设置为有效方式。其后当CRTC在步骤114中被修改时,驱动器为一个或多个从属用户界面保留足够的存储器,并且使它对任何其它过程或者目的都是可用的。
在本发明的另一个最佳实施例中,一个密封的驱动器被安装在现有的驱动器之上,并且在硬件提取层和实际的视频驱动器之间填入垫片,以便能够采用一种一般得多的方式,而不用芯片组的特定方式,处理所有对视频驱动器的调用并且修改驱动器和驱动器的表格。密封的驱动器,垫入主视频驱动器,透明地传递对主视频驱动器的来回调用。密封的驱动器可以在主视频驱动器中查找视频分辨率表格,该表格可以在驱动器之内的一些位置中。密封的驱动器修改表格(例如,把800乘600增加到800乘620)。1024乘768的表格记录可以变成1024乘800。
像以前所描述的实施例一样,主驱动器不能确认新的分辨率,因此,不能实际上改变显示设置。结果,驱动器分配存储器,分配高速缓存空间,确定存储器地址,并且在必要时移动高速缓存和画外缓冲区。因此,主驱动器从不使用所有分配的空间,并且将从不在那个空间中画图。
如上所述,本发明的方法包括三个主要的步骤:查找过扫描的区域,增加或者扩充过扫描的区域,和将数据放在扩充的过扫描的区域中。
查找过扫描区域的步骤要求回顾由VGA可兼容的芯片组或者图形板使用的控制器寄存器,CR寄存器的内容,以便识别过扫描的区域、消隐、垂直和水平整个和沉没应该在什么地方被设置。CR定义桌面显示,如何同步化,放在左边和右边的什么地方,每一边的缓冲器区域有多少,它将被存在视频存储器区中的什么地方。因此,CR数据寄存器内容的回顾充分定义了过扫描区域的位置和大小。
为了完成扩充过扫描区域的步骤,CR当前可以直接用于这样的系统,该系统具有在任何维中高达1024个象素的视频显示分辨率,即,分辨率可以按照每个寄存器10位由一般地可接受的VGA标准来定义。为了扩充过扫描的区域,使用诸如Inp和Outp函数这样的标准技术把新的数据写到CR中。标准的视频端口和MMIO函数也可以被用来修改CR。
在更高的分辨率下,可能需要用11位来适当地定义分辨率。当前没有定义第11位位置的标准方法。因此,例如,在1280乘1024以上的分辨率下,理解视频卡本身,特别是代表分辨率的11位如何被存储,是当前很需要的并且将在下面更详细地被描述。
当扩充过扫描时,重要的是查明以前的过扫描框,可能由于以前的一次毁坏或者其它未预料到的问题而没有被显示过。显示必须立即被复位到适当的分辨率缺省值,或者询问CR以确定由视频卡和驱动器理解的整个屏幕分辨率是否不同于操作系统显示界面已知的屏幕分辨率。如果整个的屏幕分辨率不等于标准VGA或者SVGA分辨率之中的一个,则过扫描框可能已经被显示。尤其是,如果整个的屏幕分辨率等于某个标准的VGA/SVGA分辨率加上过扫描所需要的的区域,或者大于被操作系统显示界面报告的分辨率,则显示被复位。
一旦被储存在CR里面的显示区域或者分辨率被确定,分辨率或者显示区域就可以按照若干不同的方法被扩展。过扫描的区域可以被添加到当前显示区域的底部、顶端或者右边,并且可选地,显示区域可以重新定位,这样,过扫描框从表面上看可以保持在中心。另外,过扫描区域可以被添加在任何地方,而原来的或者桌面显示区域可以被集中以便改进外观。在任何情况下,过扫描框需要的显示区域的高度/宽度被加到已经被储存在CR中的显示区域的尺寸上,并且其和被写到CR中,从而重写以前的数据。
当屏幕被放置在不同的方式中时,它通常出现一次迅速的闪烁,包括原来显示区域加上过扫描的区域中的一个新的显示框。一旦该变化发生,黑色的掩膜就可以被定位在新的区域上。新的菜单数据然后可以被安全地书写在黑色掩膜的顶端上,这样用户就看不见存储器的“垃圾”。
一般需要几秒钟的装载时间,在此期间,可以显示一条简单的信息,诸如“正在装载”,以避免让用户感到困惑。
完成此项工作可以有几种机制。使用一组类对象,所有的类对象都起源于与上述的VGA类技术对应的普通基类。
第一种机制是执行VGA类技术。使用这种机制,不需要特定于某个视频卡的信息,其它保证VGA支持。使用标准的应用程序设计界面(API)子程序,分配主要和从属的表面。CR中的新显示数据只不过是主要表面开始时的物理地址加上按屏幕大小定义的象素的数目。
主要表面的分配总是基于整个屏幕显示。给出分配的主要表面的线性地址,可以从中得出一个物理地址,可以推知,直接相邻于主要表面的视频存储器中的位置的物理地址由用于保持存储器中主要表面的存储器的字节数加上主要表面的物理地址的值之和来代表。
一旦主要表面的物理地址被知道,就可以确定在视频存储器中表示的主要表面的大小。
例如,系统在CR中查找屏幕的分辨率,800乘600,表示为每个象素的位数,或者每个象素的字节数。然后加上任何被储存在CR里面并且代表任何水平同步空间的数据。这是真实的扫描线长度。扫描线长度是在某个给定分辨率中宽度的一种更加精确的测量。
其次,分配的从属表面的物理地址起源于其线性的地址。在分配的从属表面实际上被分配在邻接主要表面的存储器空间中的情况下(从属表面物理地址的值等于主要表面物理地址的值加上主要表面的尺寸),从属表面被确定为过扫描显示的存储器位置。
然而,如果上述不是真实的并且从属表面不邻接主要表面,则需要另一个方法机制。
总之,第一种机制确定桌面的物理区域将是什么,然后在其下增加一个从属空间,以便在过扫描的区域上显示。新近分配的区域将是可用存储器的第一块。如果这个块直接在主要表面后面,则物理地址将对应与主要表面的物理地址有关的值,加上主要表面的大小。如果那是真实的,则存储器块邻接,就可以使用这种VGA类机制。
如果不能使用这第一种VGA类机制,则来自硬件登记和基本输入输出系统的视频卡和驱动器名称以及版本信息,如上所述,结合查找表使用,以便在余下的机制中确定最好的选择。表格包括对在硬件登记中找到的驱动器名称的列表是关键的一套标准。特定于视频芯片组的类对象,直接或者间接地基于VGA类对象被示例。
如果硬件查找不导致某个可靠的匹配,可靠性,或者信心,则蒙混因素可能被使用。例如,如果硬件查找确定一些种类的XYZ牌的设备正在被使用,但是被指名的特殊的XYZ设备在查找表格中没有被找到,则来自那家芯片组制造厂的类模型通常是可利用的。如果没有信息可用,则用户可能得到表明该硬件不被支持以及该程序不能在过扫描的区域上运行的消息。用户可能接着被询问以确定系统是否应该以“应用程序工具框”方式被操作,这基本上以完全相同的功能运行,但是在桌面之内的窗口环境中,而非在桌面外部的过扫描区域。
下一种预备的机制使用表面覆盖。这种方法的第一个步骤是确定系统是否将支持表面覆盖。调用视频驱动器以便确定什么特性被支持,以及要求什么其它的因素。例如,如果表面覆盖被支持,则可以有需要的比例因子。
例如,一台给定机器中的特定的视频卡,使用2兆的视频随机存取存储器,可以支持在1024×768每象素8位下,而不是在1024×768每象素16位下的非定标表面覆盖,因为与少量视频存储器连接的视频卡的带宽或者速度将不足以画满宽度的覆盖。待讨论的经常是水平定标;防止驱动器画满宽度的覆盖。在文字上覆盖是被画在主要表面顶端上的图象。这不是上述的一个从属的表面。在文字上,系统从视频驱动器到这样的硬件发送其信号,这样就融合了两个信号,在第一个的顶端上覆盖第二个信号。
如果系统或许由于带宽问题或者存储器问题而不能支持非定标的覆盖,则这种机制不是理想的。它不是被拒绝,但是成为较低优先级的选择。例如,如果比例因子在0.1之下,则正常框可以被画并且将被拉近边界。如果比例因子是超过10%,则需要另一个方法机制。
在下一组替换机制中,从属表面在尺寸上被足够分配,以便包含加上过扫描区域的正常桌面显示区域,用于显示过扫描框。使用这些机制,所分配的从属表面在存储器中不一定要邻接主要的表面。然而,这些方法比其他方法使用更多视频存储器。
第一个步骤是分配在大小上足够包含视频显示(主要表面)加上将被使用的过扫描区域的一个从属的表面。如果分配失败,则意味着没有足够的视频存储器来完成任务,这组机制被跳过,并且尝试下一个选择。在存储器的新块被分配之后,十分小间隔尺寸的定时器被用来执行到这从属表面的适当位置上的主要表面的内容的一种简单的存储复制。定时器在执行复制时大约每秒85次。
在这组替换机制内有一种使用系统页表的变种。这种机制询问系统页表以确定当前GDI表面地址,即,主要表面在页表格中的物理地址。然后创建从属表面,该表面大到足以保持视频存储器中加上显示过扫描框所需的存储器中的所有东西。这个表面地址然后被推到系统页表格中,并且被断言作为GDI表面地址。
此后,当GDI通过驱动器对主要表面进行读写时,它实际上读写新的较大的表面。随后,过扫描框程序可以修改不被GDI寻址的区域。原来的主要表面可以被重新分配并且存储器用法被重新述明。这种机制,是比以前描述的机制更有效的存储,是更为理想的选择。但是页表解决方案将不能在包括协同处理器设备的芯片组上正确地工作。如果初始的设备查询揭示设备确实包括协同处理器,则这个变种的机制将不被考虑。
上述机制的其他变化在引出的类对象中被解释。例如,当视频卡要求用超过10位来代表CR中的视频分辨率时,VGA类机制可能变化。一些实例可能要求11位。这样的寄存器通常不使用邻接的字节而是使用扩展位来为较高的位指定地址信息。
在这个例子中,第十一位通常在扩展的CR寄存器中被述明,并且,扩展的CR寄存器通常是芯片特定的。
同样地,表面覆盖机制的变体包括比例因子,如上所述。这种选择在具体的执行中通过引出的类对象被处理,并且在某些情况下可能是最好的解决方案。
这种技术的另一种实施方案使用“挂钩”机制,如图14所示。在通过硬件登记或者基本输入输出系统识别显示驱动器之后,如上所述,指向该驱动器的某个程序设计界面入口点在诸如步骤117被挂钩。换句话所述,当视频系统设备界面,例如视窗GDI,调用那些指向显示驱动器的入口点时,程序可以利用这个机会来修改被传递到显示驱动器的参数,并且/或者修改从显示驱动器返回的值。
通过在步骤117,在显示驱动器中挂钩“ReEnable”功能,过扫描框程序可以在步骤119中采用不同的方法来分配屏幕区域:
(1)在上升方式中,即步骤121中,通过截取分辨率变化要求和识别下一个更高支持屏幕分辨率,并且将该较高分辨率传递到显示驱动器,随后,当显示驱动器承认变化时,截取被返回的值,这将反映新的分辨率,并且实际上返回原来要求的分辨率。例如,GDI要求从640×480个分辨率改变为800×600个分辨率;过扫描程序拦截该要求并且修改它,以便把显示驱动器改变成为比800×600更高(比如说1024×768)的下一个被支持的分辨率。显示驱动器将把屏幕分辨率改变成为1024×768并且返回新的分辨率。过扫描程序截取该返回值并且将原始要求,800×600,传输到GDI。显示驱动器分配并且显示一个1024×768的存储区域。GDI和Windows将在800×600的显示区域上显示桌面,把可用的屏幕右边和底边的区域留给过扫描的程序。
(2)在共享的方式中,即步骤123中,通过从显示驱动器中仅仅截取返回值并且修改该值,以便改变操作系统实际屏幕分辨率的理解。例如,GDI要求从800×600分辨率改变成为1024×768分辨率。过扫描程序截取被返回的承认,在把该返回值传递到GDI之前减去32。显示驱动器分配并且显示1024×768的存储区域。GDI和Windows将在1024×736显示区域上显示桌面,把可用的屏幕底边的区域留给过扫描框程序。
在挂钩之后,过扫描框程序可以显示,通过:
(1)使用标准的应用程序界面调用来把框提供给屏蔽缓冲区,如在下一段中所所述的,然后与指向显示驱动器的“BitBlt”函数入口点挂钩,以便修改偏移和尺寸参数,并且随后重新将BitBlt指向一个应用程序界面相信是在屏幕上的区域之外的区域。
(2)使用主要和从属表面地址的机制,如上所述,程序确定留下可用的非桌面存储位置的线性地址,并且能直接提供那些存储器的位置。
本发明的第2段在步骤118中,即从把新的图象描绘到标准的屏蔽停止缓冲区中开始,正如在该技术中通常使用的一样,并且在步骤120中使内容可以见到,如图10所述。如果程序是在步骤156中按“工具框”方式,则在步骤166中屏蔽停止缓冲区被涂描到标准窗口客户空间中,并且在步骤164使用类窗口系统程序使之可见。否则,线性的窗口位置地址在步骤158中被映射,如在以前被解释的图11中所描述的。一旦线性存储器在步骤142中被映射到某个物理存储器地址,则在图10的步骤154中,屏幕显示缓冲区的内容可以被直接复制到视频缓冲区中,或者被画到某个从属的表面上。
最佳实施例应用程序在步骤122中包括标准应用信息回路,它处理系统和用户事件。图12中是一种最小的功能处理回路的例子。应用程序在这里处理一个最小组的系统事件,诸如步骤170中的绘画要求,步骤172中的系统分辨率变化,以及步骤174中的激活/不激活。在这里,诸如键盘或者鼠标事件的用户事件也可以在步骤184被处理,如在图13中所详尽述明。系统绘画信息在步骤178中通过绘画被适当处理到屏幕缓冲区中,并且在步骤180中适当地描绘窗口或者显示缓冲区,如上面的图10中所描述的一样。只要系统或者用户改变屏幕或者颜色分辨率,系统分辨率信息就被收到。程序把所有寄存器复位到正确的新值,然后在步骤182中改变显示分辨率,如以上图9中所描述,以便反映修改的新分辨率。当程序不是激活的应用时,用户信息被忽略。
图13描述了执行用户输入事件的一种方法。在这个实施例中,有三种用于执行光标或者鼠标支持的选择机制,这样,用户在过扫描区域用户界面内有一种指向设备输入工具。
在该最佳机制中,修改GDI的“cliprect”以便包围过扫描框的显示区域。这样,当光标进入过扫描的区域时,避免操作系统夹住光标。这种变化不一定使光标可以见到或者向应用程序提供事件反馈,但这是第一步。
一些当前的Windows应用连续不断地复位“cliprect”。在输入焦点使用或者损失之后复位“cliprect”是标准的程序设计过程。一些应用使用“cliprect”来把鼠标约束到具体区域,这可以由激活的应用程序来请求。只要过扫描显示框界面收到输入焦点,它就再述明“cliprect”,使之大到足以使鼠标向下移动进入过扫描空间。
一旦“cliprect”被扩充,鼠标就可以对操作系统产生信息,以反映在扩展区域之内的运动。然而,GDI不把光标移到它所理解的超出其分辨率的范围,也不把“out-of-bounds”(出界)事件信息传递给应用。过扫描程序使用VxD设备驱动程序,以及相关的回调功能,使硬件驱动器在零环调用以便监控实际的物理增量,或者在鼠标位置和状态下变化。所有的鼠标位置或者状态变化作为程序的事件而返回,这可以用图形表示在菜单显示框内的位置。
一种替换机制避免扩充“cliprect”的需要,以便避免与使用“cliprect”去促进虚拟显示平面的一类设备驱动程序发生冲突。直接询问鼠标输入设备,过扫描程序可以确定位置和状态方面的增量变化。只要光标触到标准显示上的象素的最后的行或者列,就通过把“cliprect”设置为只由那个最后的行或者列组成的长方形,把光标约束在那里。“虚拟”光标位置起源于由输入设备提供的增量。实际的光标被掩藏并且虚拟光标表示明确地被显示在虚拟坐标上,以向用户提供精确的反馈。如果虚拟坐标从过扫描区域移回到桌面,则“cliprect”被清除,虚拟表示被删除,并且在屏幕上恢复实际光标。
第三种替换机制创建了一个透明的窗口,用预先规定数目的象素,例如两个或者四个象素,来覆盖实际的Windows桌面的显示区域。如果鼠标进入那个小的、透明的区域,则程序掩藏光标。光标图象然后在过扫描框区域内显示,它具有相同的X坐标,但是Y-坐标相应地位移进入过扫描的区域。如果使用两象素覆盖区域,则这种方法使用的间隔尺寸为2。因此,这种唯一应用程序界面的方法仅仅提供有限的垂直间隔。这种替换机制,甚至当“cliprect”和输入设备驱动程序解决方案失败时,也保证所有执行将有某种程度的鼠标输入支持。
图7述明当程序在步骤124被关闭时,执行的清除机制。在步骤126,显示被复位到原来的分辨率,CR寄存器在步骤128被复位到他们原来的值,并且在步骤130中被锁。
替换的实施例
1.根据需要,利用VESA基本输入输出系统扩展(VBE)替代CRT控制器寄存器(图5)来确定线性窗口位置地址,步骤138。
2.利用有直接的驱动器和/或者硬件操纵能力的API(应用程序设计界面)的62,诸如微软的DirectX和/或者DirectDraw,替代CRT控制器寄存器和域者直接访问显示缓冲区。
3.利用API(应用程序设计界面)的62,诸如能够指导驱动器和/或者硬件操纵能力的微软的DirectX和/或者DirectDraw,在主要的显示上以相同的目的创建从属的虚拟显示表面,以显示一个单独和清晰的图形用户界面。
4.利用操作系统63的视频子系统中的修正,替代CRT控制器寄存器和/或者显示缓冲区的DirectX入口。
5.利用操作系统63的视频子系统中的修正在主要显示区上建立具有相同目的的从属虚拟显示表面,以显示一个单独和清晰的图形用户界面。
6.将这种功能加入实际的视频驱动器64和/或者小型驱动器。微软Windows为虚拟设备驱动器VxDs提供支持,它也可以直接与硬件和驱动器直接界面。这些也可以包括应用程序界面,为应用提供到被修改显示的界面。
7.用或不用VGA寄存器,把相同的功能结合到基本输入输出系统中,并且提供应用程序界面,允许应用具有到被修改显示的界面。
8.把相同的功能结合到硬件设备中,诸如监视器本身中,用到CPU的硬件和域者软件界面。
总的来说,视觉显示区域常规地被保持在芯片上的CRTC寄存器中的值定义,并且对驱动程序可用。正常显示区域按SVGA标准并且随后按VGA标准被定义为预置数目的方式,每个方式包括一个特定的显示分辨率,它规定可以显示桌面的显示区域。
桌面只能在这个区域上被显示,因为Windows不直接读/写视频存储器,而是使用程序设计界面来调用视频驱动程序。视频驱动程序简单地使用恰巧在视频存储器中的地址来读/写。因此,这种机制需要实现的值是视频卡和驱动器断言可供绘画使用的。该值从寄存器中被询问,由具体量修改,并且被重新写入该卡。其后,本发明改变可写可视显示空间的区域,而无须告知操作系统的显示界面的变化。
本发明不必改变只增加到底部的CRTC。最好顶端也上移一点。这使显示在过扫描区域内集中。例如,不是仅仅把32条扫描线添加到底部,而是将显示区域的顶端上移十六条线。
本发明并不单独取决于改变CRTC以便修改可以见到的显示区域的能力。替换的机制定义其它创建和访问可视屏幕区域的方法,该区域在被操作系统的显示界面访问的桌面的尺寸外部。
通过考虑说明书、附图以及权利要求书,对一个精通于计算机科学技术的人来说,本发明的其他实施例和变化将是明显的。
尤其是,从属的GUI可能被定位在这样的区域中,该区域通常不被认为是常规的过扫描区域。例如,从属的GUI可以被定位在准确地在正常显示中心的一个小方框中,以便提供特殊的系统和应用需要的服务。事实上,可以在本发明的范围之内使用阅读和重写屏幕显示信息的技术,将主要的GUI信息,或者它的一部分保持在一个附加的存储器中,并且有选择地在记时或者其它基础上,以从属GUI替换主要GUI的一部分。
作为一个简单的例子,安全系统可能要求向用户显示信息的能力而不考虑计算机系统的状态,并且/或者要求用户做选择,诸如通过单击“911?”要求帮助。本发明可以提供视频显示缓冲区,其中,主要GUI界面的一部分连续不断地被记录和显示在从属的GUI中,例如在屏幕的中心。在非紧急事件条件下,从属的GUI然后会有效地消失,这时,除主要的GUI之外,用户将看不到任何东西。
在适当的紧急事件条件下,通过重写被储存在从属GUI存储器中的主要显示的备份,警报监视器可以使从属的GUI提供“911?”给用户。另外,图片数据库可以被存储并且响应输入的电话而被调用,其中,呼叫者标识符识别与数据库照片记录有关的电话号码。
一般说来,本发明可以提供一个或多个从属的用户界面,该界面可以是有用的,只要更方便或者理想地控制整个显示的一部分,或者是在诸如过扫描的一个未用过的区域的主要显示外部,或者甚至是主要GUI的一部分,直接地或者通过时分多路复用,直接通过与视频存储器的通信,可以是至少旁通视频存储器的一部分来创建新的视频存储器。换句话所述,本发明可以在控制主要GUI的系统,诸如操作系统,的控制外面提供一个或多个从属的用户界面。
附加的用户界面可以用于各种各样的不同的目的。例如,一个从属的用户界面可能被用来提供同时访问因特网,满的运动视频,以及会议通道。一个从属的用户界面可以奉献给一个本地的网络,或者多重的从属用户界面可以为一台特定的计算机可能连接的于其上一个或更多网络提供同时的访问和数据。
现在已依据专利法令的要求描述本发明,精通于这种技术的那些人会理解在本发明中如何改变以满足他们的具体要求或者条件。这样的变化和修正可以不脱离下面的权利要求书中提出的本发明的范围和精神。
Claims (43)
1.一种用于在与一个计算机操作系统的用户界面相结合的视频显示系统上显示数据的方法,其中该计算机操作系统的用户界面至少占用一个第一显示区域的至少一部分,该第一显示区域可由该计算机操作系统用户界面所访问,该视频显示系统具有整个可寻址的显示区域,其中该第一显示区域是该整个显示区域的一部分,该方法包括:
通过调整视频显示系统的显示参数,修改视频显示系统的整个可寻址的显示区域,以便包括一个不能被该操作系统用户界面所访问的第二显示区域;
在第一显示区域和第二显示区域之间分配修改的整个可寻址的显示区域;
依据修改的整个可寻址的显示区域的分配,将数据写入第二显示区域,从而数据被显示在与该计算机操作系统的用户界面相结合的视频显示系统上。
2.权利要求1的方法,其中,分配整个可寻址的显示区域减少了可由操作系统用户界面所访问的部分相对于整个可访问显示区域的大小。
3.权利要求2的方法,其中,被修改的整个可寻址的显示区域比修改以前大。
4.权利要求1的方法,其中,被修改的整个可寻址的显示区域大于修改前的区域,并且分配修改的整个可寻址的显示区域增加了第一显示区域的大小。
5.权利要求4的方法,其中,第一显示区域增加的尺寸不是一个标准的视频分辨率模式尺寸。
6.权利要求1的方法,其中,调整视频显示系统的显示参数,以便至少在整个可寻址的显示区域的一个维上增加可寻址象素的数目,少于或等于能有效地由视频显示系统显示的最大象素数目。
7.权利要求6的方法,其中,调整视频显示系统的显示参数通过寻址在视频显示系统的一个过扫描区域中的象素而增加可寻址象素的数目。
8.权利要求7的方法,其中,数据至少被显示在过扫描区域一部分象素中,并且包括随用户输入移动的一个可移动的指针。
9.权利要求8的方法,其中,指针有一相关的尖端,位于与其相关的光标激活点的外面,当指针被显示在该数据之内时,光标激活点被保持在第一显示区域之内。
10.权利要求6的方法,其中,被调整的显示参数是阴极射线管显示控制器的控制参数。
11.权利要求1的方法,其中,通过增加整个可寻址的显示区域的至少一个维中的可寻址象素的数目,被修改的整个可寻址的显示区域被扩大到包括一个从属显示区域。
12.权利要求11的方法,其中,可寻址象素的数目被增加的维度是垂直方向上的,并且数据是在操作系统用户界面之下被显示的。
13.权利要求11的方法,其中,可寻址象素的数目被增加的维度是垂直方向上的,并且数据被显示在操作系统用户界面之上。
14.权利要求11的方法,其中,可寻址象素的数目被增加的维度是水平方向上的,并且数据被显示在操作系统用户界面的左边。
15.权利要求11的方法,其中,可寻址象素的数目被增加的维度是水平方向上的,并且数据被显示在操作系统用户界面的右边。
16.权利要求11的方法,其中,可寻址象素的数目被增加的维度是水平和垂直方向上的,并且数据被显示在操作系统用户界面的一个水平侧面上和操作系统用户界面的一个垂直侧面上。
17.权利要求1的方法,其中,通过调整参数修改视频显示系统的整个可寻址的显示区域使之包括第二显示区域,把整个可寻址的显示区域的分辨率增加到被视频显示系统支持的标准分辨率。
18.权利要求1的方法,其中,调整显示参数和分配修改的整个可寻址的显示区域进一步包括:
从操作系统中截取一个要求,以便使用第一较高的视频分辨率模式;
要求视频显示系统使用比第一较高的视频分辨率模式更高的第二较高的视频分辨率模式,从而增加整个可寻址的显示区域的大小;
将对应于第一较高的视频分辨率模式的整个可寻址的显示区域的一部分分配到第一显示区域;以及
将第一较高的视频分辨率模式和第二较高的视频分辨率模式之间的增加的整个可寻址的显示区域的一部分分配到第二显示区域,以便在其上显示数据。
19.权利要求1的方法,其中,调整参数和分配修改的整个可寻址的显示区域进一步包括:
从操作系统中截取一个要求,以便使用比当前分辨率模式更高的较高的视频分辨率模式,使得整个可寻址的显示区域被增加到较高视频分辨率模式;
将对应于当前分辨率模式的整个可寻址的显示区域的一部分分配到第一显示区域;以及
将较高的视频分辨率模式和当前的视频分辨率模式之间的增加的可显示的区域分配到第二显示区域,用于显示数据。
20.权利要求1的方法,其中,调整显示参数和分配修改的整个可寻址的显示区域进一步包括:
从操作系统中截取一个要求,以便使用第一较高的视频分辨率模式;
要求视频显示系统使用第一较高的视频分辨率模式,由此产生该整个可寻址的显示区域的一个增加的区域;
把该整个可寻址的显示区域的一部分增加的区域分配到第一显示区域;以及,
把增加的区域的余下部分分配到第二显示区域,用于显示数据。
21.权利要求1的方法,其中,至少一部分的数据以禁止操作系统用户界面覆盖图象部分的方式与操作系统用户界面一同被显示。
22.一种显示控制器,其能结合一个在视频显示系统的第一显示区域上由某个独立的控制程序提供的主要的用户界面,在某个视频显示系统上显示从属用户界面,该视频显示系统具有整个可寻址的显示区域,包括:
显示调整工具,它通过调节视频显示系统的显示参数,修改视频显示系统的整个可寻址的显示区域,以便包括一个不能被该独立的控制程序所访问的第二显示区域;
存储器定位器,它当被修改的整个可显示区域被扩大时,定位附加的视频显示存储器来对应从属的显示区域,进而创建一个可寻址的扩大的视频显示存储器;
显示分配工具,它在第一显示区域和第二显示区域之间分配修改的整个可寻址的显示区域;以及
显示传输机构,它依据修改的整个可寻址的显示区域的分配,把从属的用户界面写到第二显示区域,使得从属的用户界面与主要的用户界面一同被显示。
23.权利要求22的显示控制器,其中,显示分配工具减少可由该独立的控制程序所访问的整个可寻址的显示区域的一部分相对于整个可寻址的显示区域的大小。
24权利要求23的显示控制器,其中,显示调整工具扩大整个可寻址的显示区域。
25.权利要求22的显示控制器,其中,显示调整工具扩大整个可寻址的显示区域,并且显示分配工具增加第一显示区域的大小。
26.权利要求25的显示控制器,其中,被分配到第一显示区域的增加尺寸不是一个标准的视频分辨率模式尺寸。
27.权利要求22的显示控制器,其中,显示调整视频显示系统的显示参数,把整个可寻址的显示区域的一个维度中的可寻址的象素的数目增加到少于或等于能被视频显示系统有效地显示的最大象素数目。
28.权利要求27的显示控制器,其中,显示调整工具通过寻址在视频显示系统的一个过扫描区域上的象素,调节视频显示系统的显示参数。
29.权利要求28的显示控制器,其中,显示传输机构至少在过扫描区域的一部分象素中,用随用户输入移动的一个可移动的指针,显示从属的用户界面。
30.权利要求29的显示控制器,其中,可移动指针有一相关的尖端,它被定位在与其相关的光标激活点外面,当指针在从属的用户界面内被显示时,光标激活点保留在第一显示区域之内。
31.权利要求27的显示控制器,其中,被显示调整工具调整的显示参数是阴极射线管显示的控制器的控制参数。
32.权利要求22的显示控制器,其中,显示调整工具通过增加整个可寻址的显示区域的至少一个维中的可寻址象素的数目,扩大整个可寻址的显示区域,使之包括一个第二显示区域。
33.权利要求32的显示控制器,其中,可寻址象素的数目被增加的维是垂直的,并且从属用户界面在主要用户界面之下被显示。
34.权利要求32的显示控制器,其中,可寻址象素的数目被增加的维是垂直的,并且从属的用户界面被显示在主要的用户界面之上。
35.权利要求32的显示控制器,其中,可寻址象素的数目被增加的维是水平的,并且从属用户界面被显示在主要用户的左边。
36.权利要求32的显示控制器,其中,可寻址象素的数目被增加的维是水平的,并且从属用户界面被显示在主要用户界面的右边。
37.权利要求32的显示控制器,其中,可寻址象素的数目被增加的维是水平和垂直的,并且从属的用户界面在主要的用户界面的一个水平侧面上以及在主要的用户界面的一个垂直的侧面上被显示。
38.权利要求22的显示控制器,其中,显示调整工具通过调整显示参数修改整个的可寻址显示区域以便包括第二显示区,把整个可寻址的显示的区域增加到视频显示系统支持的标准分辨率。
39.权利要求22的显示控制器,其中,显示调整工具和显示分配工具进一步包括:
挂钩机构,它从单独地受控制的程序中截取一个要求,以便使用第一较高的视频分辨率模式;
要求视频显示系统使用比第一较高视频分辨率模式更高的第二较高视频分辨率模式,从而增加整个可寻址的显示区域的大小;
将对应第一较高的视频分辨率模式的整个可寻址的显示区域的一部分分配到第一显示区域;以及
将第一较高的视频分辨率模式和第二较高的视频分辨率模式之间增加的整个可寻址的显示区域的一部分分配到第二显示区域。
40.权利要求22的显示控制器,其中,显示调整工具和显示分配工具进一步包括:
挂钩机构,它从单独受控制的程序中截取一个请求,以便使用比当前分辨率模式更高的较高视频分辨率模式,从而增加整个可寻址的显示区域的大小;
将对应于当前分辨率模式的整个可寻址的显示区域分配到第一显示区域;同时
将较高视频分辨率模式和当前视频分辨率模式之间增加的可显示的区域分配到第二显示区域。
41.权利要求22的显示控制器,其中,显示调整工具和显示分配工具进一步包括:
挂钩机构,它从单独地受控制的程序中截取一个要求,以便使用第一较高的视频分辨率模式;
要求视频显示系统使用第一较高的视频分辨率模式,进而增加整个可寻址的显示区域;
将整个可寻址的显示区域的增加的一部分分配到第一显示区域;以及
将整个可寻址的显示区域的增加的剩余部分分配到第二显示区域。
42.权利要求22的显示控制器,其中,显示传输机制以禁止主要用户界面重写部分从属的用户界面的方式,至少使一部分从属的用户界面与主要的用户界面一同显示。
43.权利要求22的显示控制器,其中,显示调整工具通过执行对视频显示系统驱动器软件的功能调用,调整视频显示系统的显示参数。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/975,268 US6018332A (en) | 1997-11-21 | 1997-11-21 | Overscan user interface |
US8847898P | 1998-06-05 | 1998-06-05 | |
US60/088,478 | 1998-06-05 | ||
US09/191,322 | 1998-11-13 | ||
US08/975,268 | 1998-11-13 | ||
US09/191,322 US6330010B1 (en) | 1997-11-21 | 1998-11-13 | Secondary user interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1283296A CN1283296A (zh) | 2001-02-07 |
CN1130683C true CN1130683C (zh) | 2003-12-10 |
Family
ID=27375984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98812497A Expired - Fee Related CN1130683C (zh) | 1997-11-21 | 1998-11-18 | 用于控制辅助用户界面的显示的方法和相应显示控制器 |
Country Status (10)
Country | Link |
---|---|
US (4) | US6330010B1 (zh) |
EP (1) | EP1031127B1 (zh) |
JP (1) | JP2001524725A (zh) |
CN (1) | CN1130683C (zh) |
AT (1) | ATE289108T1 (zh) |
AU (1) | AU736654B2 (zh) |
BR (1) | BR9814888A (zh) |
CA (1) | CA2310759C (zh) |
DE (1) | DE69828994T2 (zh) |
WO (1) | WO1999027517A1 (zh) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018332A (en) | 1997-11-21 | 2000-01-25 | Ark Interface Ii, Inc. | Overscan user interface |
US6330010B1 (en) * | 1997-11-21 | 2001-12-11 | Xsides Corporation | Secondary user interface |
US6337717B1 (en) | 1997-11-21 | 2002-01-08 | Xsides Corporation | Alternate display content controller |
US6686936B1 (en) | 1997-11-21 | 2004-02-03 | Xsides Corporation | Alternate display content controller |
US6639613B1 (en) * | 1997-11-21 | 2003-10-28 | Xsides Corporation | Alternate display content controller |
US6437809B1 (en) | 1998-06-05 | 2002-08-20 | Xsides Corporation | Secondary user interface |
US6426762B1 (en) * | 1998-07-17 | 2002-07-30 | Xsides Corporation | Secondary user interface |
US8555194B2 (en) * | 1998-07-17 | 2013-10-08 | D. David Nason | Secondary user interface |
US6590592B1 (en) | 1999-04-23 | 2003-07-08 | Xsides Corporation | Parallel interface |
US6593945B1 (en) | 1999-05-21 | 2003-07-15 | Xsides Corporation | Parallel graphical user interface |
US7523415B1 (en) * | 1999-06-24 | 2009-04-21 | Porter Swain W | Exclusive use display surface areas and persistently visible display of contents including advertisements |
US6570595B2 (en) * | 1999-06-24 | 2003-05-27 | Xoucin, Inc. | Exclusive use display surface areas and persistently visible display of contents including advertisements |
US6630943B1 (en) * | 1999-09-21 | 2003-10-07 | Xsides Corporation | Method and system for controlling a complementary user interface on a display surface |
US20040226041A1 (en) * | 2000-02-18 | 2004-11-11 | Xsides Corporation | System and method for parallel data display of multiple executing environments |
US6892359B1 (en) | 2000-02-18 | 2005-05-10 | Xside Corporation | Method and system for controlling a complementary user interface on a display surface |
WO2001067285A2 (en) * | 2000-03-03 | 2001-09-13 | Merinta, Inc. | Persistent portal for a browser |
US7227511B2 (en) * | 2000-04-24 | 2007-06-05 | Microsoft Corporation | Method for activating an application in context on a remote input/output device |
US7030837B1 (en) | 2000-04-24 | 2006-04-18 | Microsoft Corporation | Auxiliary display unit for a computer system |
US6917373B2 (en) * | 2000-12-28 | 2005-07-12 | Microsoft Corporation | Context sensitive labels for an electronic device |
JP3601781B2 (ja) * | 2000-10-17 | 2004-12-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ装置、表示装置、表示制御装置、記憶媒体、プログラム伝送装置、表示制御方法 |
US6793625B2 (en) * | 2000-11-13 | 2004-09-21 | Draeger Medical Systems, Inc. | Method and apparatus for concurrently displaying respective images representing real-time data and non real-time data |
US7099439B2 (en) | 2001-02-26 | 2006-08-29 | Classco Inc. | Loop test apparatus and method |
DE10112723A1 (de) * | 2001-03-14 | 2002-09-19 | Siegfried Koenig | Verfahren zum Platzieren einer Informationsfläche auf einer Webside und Informationsfläche auf einer Webside |
US20030038837A1 (en) * | 2001-06-27 | 2003-02-27 | United Virtualities, Inc. | Method for controlling a computer display |
US7602991B2 (en) * | 2001-10-24 | 2009-10-13 | Nik Software, Inc. | User definable image reference regions |
CN100389428C (zh) * | 2001-10-24 | 2008-05-21 | Nik软件公司 | 用于利用图像基准点处理数字图像的方法和设备 |
US7418087B2 (en) * | 2002-01-04 | 2008-08-26 | Classco Inc. | Telephone network messaging |
US20030223586A1 (en) * | 2002-05-30 | 2003-12-04 | Edward Green | Method and system for secure communications over a communications network |
TW591398B (en) * | 2002-09-26 | 2004-06-11 | Tatung Co | Method of implementing a plurality of system tray areas |
US20040113950A1 (en) * | 2002-12-17 | 2004-06-17 | International Business Machines Corporation | System and method for centrally managed self-contained desktops |
US7111245B2 (en) * | 2002-12-17 | 2006-09-19 | International Business Machines Corporation | System and method for smart graphical components |
US7243336B2 (en) * | 2002-12-17 | 2007-07-10 | International Business Machines Corporation | System and method of extending application types in a centrally managed desktop environment |
US7310775B2 (en) * | 2002-12-17 | 2007-12-18 | International Business Machines Corporation | System and method for restoring desktop components using distributed desktop packages |
US7203905B2 (en) | 2002-12-17 | 2007-04-10 | International Business Machines Corporation | System and method for platform independent desktop lockdown |
US7117448B2 (en) | 2002-12-17 | 2006-10-03 | International Business Machines Corporation | System and method for determining desktop functionality based on workstation and user roles |
KR100524066B1 (ko) * | 2003-02-08 | 2005-10-26 | 삼성전자주식회사 | 디바이스 대화창 표시방법 및 장치 |
US7395334B2 (en) * | 2003-04-25 | 2008-07-01 | International Business Machines Corporation | System for determining unreturned standby resource usage |
US7796141B2 (en) * | 2003-05-14 | 2010-09-14 | Timothy M. Sheridan | Persistent portal |
US8302111B2 (en) * | 2003-11-24 | 2012-10-30 | Time Warner Cable Inc. | Methods and apparatus for hardware registration in a network device |
US7266726B1 (en) | 2003-11-24 | 2007-09-04 | Time Warner Cable Inc. | Methods and apparatus for event logging in an information network |
US9213538B1 (en) | 2004-02-06 | 2015-12-15 | Time Warner Cable Enterprises Llc | Methods and apparatus for display element management in an information network |
WO2005098588A1 (ja) * | 2004-04-05 | 2005-10-20 | Matsushita Electric Industrial Co., Ltd. | 表示画面管理装置 |
US7546599B2 (en) * | 2004-12-20 | 2009-06-09 | Intel Corporation | Method, apparatus and system for instructing a virtual device from a virtual machine |
US7890881B1 (en) * | 2005-07-29 | 2011-02-15 | Adobe Systems Incorporated | Systems and methods for a fold preview |
US20070033522A1 (en) * | 2005-08-02 | 2007-02-08 | Lin Frank L | System and method for dynamic resizing of web-based GUIs |
US7844673B2 (en) * | 2005-10-24 | 2010-11-30 | International Business Machines Corporation | Filtering features for multiple minimized instant message chats |
US20070094342A1 (en) * | 2005-10-24 | 2007-04-26 | Bostick James E | Detachable control window for instant messaging chats |
US9563876B2 (en) * | 2005-10-24 | 2017-02-07 | International Business Machines Corporation | Control options for instant message display and notification |
US20080034037A1 (en) * | 2006-08-04 | 2008-02-07 | Jean-Pierre Ciudad | Sharing Graphical User Interface Output In Chat Environment |
KR101321435B1 (ko) * | 2006-11-10 | 2013-10-25 | 삼성전자주식회사 | 컴퓨터 시스템 및 그 제어방법 |
US8174491B2 (en) * | 2007-06-05 | 2012-05-08 | Fuji Xerox Co., Ltd. | Image display medium and image display device |
CN101398766B (zh) * | 2007-09-29 | 2012-05-09 | 联想(北京)有限公司 | 一种虚拟机系统中的显示处理方法及虚拟机系统 |
US9292069B1 (en) * | 2007-11-12 | 2016-03-22 | Nvidia Corporation | System and method for controlling mode switches in hardware |
US8319805B2 (en) * | 2008-02-20 | 2012-11-27 | Google Inc. | Screen condensation with heterogeneous display resolution |
US10489053B2 (en) * | 2008-11-20 | 2019-11-26 | Gula Consulting Limited Liability Company | Method and apparatus for associating user identity |
TW201101117A (en) * | 2009-06-26 | 2011-01-01 | Ibm | Handheld device, method and computer program product for user selecting control unit of application program |
US9401099B2 (en) | 2010-05-11 | 2016-07-26 | AI Squared | Dedicated on-screen closed caption display |
US8856682B2 (en) * | 2010-05-11 | 2014-10-07 | AI Squared | Displaying a user interface in a dedicated display area |
US9843665B2 (en) * | 2011-05-27 | 2017-12-12 | Microsoft Technology Licensing, Llc | Display of immersive and desktop shells |
US10417018B2 (en) * | 2011-05-27 | 2019-09-17 | Microsoft Technology Licensing, Llc | Navigation of immersive and desktop shells |
US8924885B2 (en) | 2011-05-27 | 2014-12-30 | Microsoft Corporation | Desktop as immersive application |
CN103365563A (zh) * | 2012-04-06 | 2013-10-23 | 精英电脑股份有限公司 | 保持窗口应用程序完整可视范围的方法 |
CN105453010B (zh) * | 2014-07-30 | 2019-06-11 | 华为技术有限公司 | Ui控件背景设置方法、装置及终端 |
CN107077816A (zh) * | 2014-10-29 | 2017-08-18 | 寇平公司 | 三进制可寻址选择扫描器 |
WO2016147576A1 (ja) | 2015-03-13 | 2016-09-22 | パナソニックIpマネジメント株式会社 | 電子機器及びその制御方法 |
CN105278811B (zh) * | 2015-10-23 | 2022-06-07 | 三星电子(中国)研发中心 | 智能终端的屏幕显示装置和方法 |
WO2017069551A1 (en) | 2015-10-23 | 2017-04-27 | Samsung Electronics Co., Ltd. | Image displaying apparatus and method of operating the same |
US11716558B2 (en) | 2018-04-16 | 2023-08-01 | Charter Communications Operating, Llc | Apparatus and methods for integrated high-capacity data and wireless network services |
US11366571B2 (en) * | 2018-05-04 | 2022-06-21 | Dentma, LLC | Visualization components including sliding bars |
EP3864917A4 (en) | 2018-10-12 | 2022-07-06 | Charter Communications Operating, LLC | APPARATUS AND METHODS FOR IDENTIFYING CELLS IN WIRELESS NETWORKS |
US10866728B2 (en) * | 2018-10-23 | 2020-12-15 | Lenovo (Singapore) Pte. Ltd. | Notch taskbar |
US11129171B2 (en) | 2019-02-27 | 2021-09-21 | Charter Communications Operating, Llc | Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system |
US11026205B2 (en) | 2019-10-23 | 2021-06-01 | Charter Communications Operating, Llc | Methods and apparatus for device registration in a quasi-licensed wireless system |
Family Cites Families (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2096866B (en) | 1981-04-10 | 1985-02-20 | Philips Electronic Associated | Improvements relating to character display |
DE3381300D1 (de) | 1983-03-31 | 1990-04-12 | Ibm | Abbildungsraumverwaltung und wiedergabe in einem bestimmten teil des bildschirms eines virtuellen mehrfunktionsterminals. |
US4558413A (en) | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
US5163024A (en) | 1983-12-30 | 1992-11-10 | Texas Instruments Incorporated | Video display system using memory with parallel and serial access employing serial shift registers selected by column address |
US4586035A (en) | 1984-02-29 | 1986-04-29 | International Business Machines Corporation | Display terminal with a cursor responsive virtual distributed menu |
US4649499A (en) | 1984-03-07 | 1987-03-10 | Hewlett-Packard Company | Touchscreen two-dimensional emulation of three-dimensional objects |
US4710761A (en) | 1985-07-09 | 1987-12-01 | American Telephone And Telegraph Company, At&T Bell Laboratories | Window border generation in a bitmapped graphics workstation |
US4868765A (en) | 1986-01-02 | 1989-09-19 | Texas Instruments Incorporated | Porthole window system for computer displays |
US4899136A (en) | 1986-04-28 | 1990-02-06 | Xerox Corporation | Data processor having a user interface display with metaphoric objects |
US5394521A (en) | 1991-12-09 | 1995-02-28 | Xerox Corporation | User interface with multiple workspaces for sharing display system objects |
US5072412A (en) | 1987-03-25 | 1991-12-10 | Xerox Corporation | User interface with multiple workspaces for sharing display system objects |
US5001697A (en) | 1988-02-10 | 1991-03-19 | Ibm Corp. | Method to automatically vary displayed object size with variations in window size |
US5036315A (en) | 1988-09-06 | 1991-07-30 | Spectragraphics, Inc. | Simultaneous display of interleaved windowed video information from multiple asynchronous computers on a single video monitor |
US4947257A (en) | 1988-10-04 | 1990-08-07 | Bell Communications Research, Inc. | Raster assembly processor |
US5146556A (en) | 1988-10-11 | 1992-09-08 | Next Computer, Inc. | System and method for managing graphic images |
US4972264A (en) | 1989-06-19 | 1990-11-20 | International Business Machines Corporation | Method and apparatus for viewing an overscanned image |
US5060170A (en) | 1989-08-09 | 1991-10-22 | International Business Machines Corp. | Space allocation and positioning method for screen display regions in a variable windowing system |
US5167030A (en) | 1989-08-23 | 1992-11-24 | Helix Software Company, Inc. | System for dynamically allocating main memory to facilitate swapping of terminate and stay resident communication program to increase available memory space |
US5119082A (en) | 1989-09-29 | 1992-06-02 | International Business Machines Corporation | Color television window expansion and overscan correction for high-resolution raster graphics displays |
JP3245655B2 (ja) | 1990-03-05 | 2002-01-15 | インキサイト ソフトウェア インコーポレイテッド | 作業スペースの表示処理方法 |
US5202961A (en) | 1990-06-08 | 1993-04-13 | Apple Computer, Inc. | Sequential information controller |
JPH0455890A (ja) * | 1990-06-25 | 1992-02-24 | Canon Inc | 画像データ制御装置及び表示システム |
US5305435A (en) | 1990-07-17 | 1994-04-19 | Hewlett-Packard Company | Computer windows management system and method for simulating off-screen document storage and retrieval |
US5367623A (en) | 1990-09-25 | 1994-11-22 | Sharp Kabushiki Kaisha | Information processing apparatus capable of opening two or more windows on screen, one window containing a page and other windows containing supplemental information |
FR2693810B1 (fr) * | 1991-06-03 | 1997-01-10 | Apple Computer | Systemes d'interfaces d'utilisateurs a acces direct a une zone secondaire d'affichage. |
JPH05181443A (ja) | 1991-07-01 | 1993-07-23 | Seiko Epson Corp | コンピュータ |
US5237669A (en) | 1991-07-15 | 1993-08-17 | Quarterdeck Office Systems, Inc. | Memory management method |
US5500934A (en) | 1991-09-04 | 1996-03-19 | International Business Machines Corporation | Display and control system for configuring and monitoring a complex system |
US5148346A (en) * | 1991-09-20 | 1992-09-15 | Conax Florida Corporation | EMI protected water-activated pressurized gas release apparatus |
JP2552071B2 (ja) | 1992-03-31 | 1996-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 異なるグラフィック・ユーザ・インタフェースでサポートされる複数のウィンドウを同時に提示するための方法及びシステム |
US5418572A (en) | 1992-04-29 | 1995-05-23 | Quantel Limited | Method of and apparatus for displaying images at different rates |
JPH06167966A (ja) | 1992-06-15 | 1994-06-14 | Seiko Epson Corp | 表示回路 |
KR960003880B1 (ko) | 1992-10-12 | 1996-03-23 | 엘지전자주식회사 | 캡션 자막 표시 제어장치와 표시 제어방법 |
US5673403A (en) | 1992-11-13 | 1997-09-30 | International Business Machines Corporation | Method and system for displaying applications of different operating systems on a single system using the user interface of the different operating systems |
US5986684A (en) * | 1992-12-08 | 1999-11-16 | Ricoh Company, Ltd. | Thermal printing system having function for preventing over heating of thermal head |
US6091430A (en) | 1993-03-31 | 2000-07-18 | International Business Machines Corporation | Simultaneous high resolution display within multiple virtual DOS applications in a data processing system |
CA2095448C (en) | 1993-05-04 | 1998-05-05 | Phillip J. Beaudet | Window management system utilizing icons and miniature windows |
US5694149A (en) | 1993-07-01 | 1997-12-02 | Intel Corporation | Vertically scaling image signals using digital differential accumulator processing |
US5652851A (en) | 1993-07-21 | 1997-07-29 | Xerox Corporation | User interface technique for producing a second image in the spatial context of a first image using a model-based operation |
US5631825A (en) | 1993-09-29 | 1997-05-20 | Dow Benelux N.V. | Operator station for manufacturing process control system |
US5872714A (en) * | 1993-11-26 | 1999-02-16 | Ford Global Technologies, Inc. | Rapidly making a contoured part |
JP2972510B2 (ja) | 1993-11-25 | 1999-11-08 | 株式会社日立製作所 | 文書作成装置 |
US5825357A (en) | 1993-12-13 | 1998-10-20 | Microsoft Corporation | Continuously accessible computer system interface |
US5421009A (en) | 1993-12-22 | 1995-05-30 | Hewlett-Packard Company | Method of remotely installing software directly from a central computer |
US5513342A (en) | 1993-12-28 | 1996-04-30 | International Business Machines Corporation | Display window layout system that automatically accommodates changes in display resolution, font size and national language |
US5651127A (en) | 1994-03-08 | 1997-07-22 | Texas Instruments Incorporated | Guided transfers with variable stepping |
US6185629B1 (en) | 1994-03-08 | 2001-02-06 | Texas Instruments Incorporated | Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time |
US5521614A (en) | 1994-04-29 | 1996-05-28 | Cirrus Logic, Inc. | Method and apparatus for expanding and centering VGA text and graphics |
WO1995034186A1 (en) | 1994-06-03 | 1995-12-14 | Apple Computer, Inc. | System for producing directional sound in computer-based virtual environments |
US5568603A (en) | 1994-08-11 | 1996-10-22 | Apple Computer, Inc. | Method and system for transparent mode switching between two different interfaces |
US5555364A (en) | 1994-08-23 | 1996-09-10 | Prosoft Corporation | Windowed computer display |
KR970005940B1 (ko) | 1994-09-30 | 1997-04-22 | 대우전자 주식회사 | 모니터의 온스크린 디스플레이 장치 |
US5619639A (en) | 1994-10-04 | 1997-04-08 | Mast; Michael B. | Method and apparatus for associating an image display area with an application display area |
US5764964A (en) | 1994-10-13 | 1998-06-09 | International Business Machines Corporation | Device for protecting selected information in multi-media workstations |
US6067098A (en) | 1994-11-16 | 2000-05-23 | Interactive Silicon, Inc. | Video/graphics controller which performs pointer-based display list video refresh operation |
US5838334A (en) | 1994-11-16 | 1998-11-17 | Dye; Thomas A. | Memory and graphics controller which performs pointer-based display list video refresh operations |
US6002411A (en) | 1994-11-16 | 1999-12-14 | Interactive Silicon, Inc. | Integrated video and memory controller with data processing and graphical processing capabilities |
US6008803A (en) | 1994-11-29 | 1999-12-28 | Microsoft Corporation | System for displaying programming information |
US5621428A (en) | 1994-12-12 | 1997-04-15 | Auravision Corporation | Automatic alignment of video window on a multimedia screen |
US5617526A (en) | 1994-12-13 | 1997-04-01 | Microsoft Corporation | Operating system provided notification area for displaying visual notifications from application programs |
US5473745A (en) | 1994-12-14 | 1995-12-05 | International Business Machines Corporation | Exposing and hiding a title bar behind its window using a visual cue |
US5745762A (en) | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture supporting multiple system emulations |
US5621904A (en) | 1995-01-24 | 1997-04-15 | Intel Corporation | Method and apparatus for avoiding overlapped windows and a gutter space |
JP3517301B2 (ja) | 1995-03-28 | 2004-04-12 | 富士通株式会社 | 仮想画面表示処理システム |
AR000593A1 (es) | 1995-04-26 | 1997-07-10 | Wink Communications Inc | Método y sistema de información intreactivo para determinar información de radiodifusor |
US5867178A (en) | 1995-05-08 | 1999-02-02 | Apple Computer, Inc. | Computer system for displaying video and graphic data with reduced memory bandwidth |
US5675755A (en) | 1995-06-07 | 1997-10-07 | Sony Corporation | Window system preventing overlap of multiple always-visible windows |
FR2735648B1 (fr) * | 1995-06-13 | 1997-07-11 | Bull Sa | Procede de refroidissement d'un circuit integre monte dans un boitier |
DE19523715C1 (de) * | 1995-06-22 | 1996-10-10 | Mannesmann Ag | Horizontal-Stranggießanlage mit einem beheizbaren Mehrkammerofen mit ofenabhängiger Kokille |
US5680323A (en) | 1995-06-23 | 1997-10-21 | Canon Information Systems, Inc. | Multimedia player |
US5704050A (en) | 1995-06-29 | 1997-12-30 | International Business Machine Corp. | Snap control for relocating elements of a graphical user interface |
US5742797A (en) | 1995-08-11 | 1998-04-21 | International Business Machines Corporation | Dynamic off-screen display memory manager |
US5757386A (en) | 1995-08-11 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for virtualizing off-screen memory of a graphics engine |
TW302453B (zh) | 1995-08-25 | 1997-04-11 | Ibm | |
US5838296A (en) | 1995-08-31 | 1998-11-17 | General Instrument Corporation | Apparatus for changing the magnification of video graphics prior to display therefor on a TV screen |
US5745386A (en) * | 1995-09-25 | 1998-04-28 | International Business Machines Corporation | Timing diagram method for inputting logic design parameters to build a testcase for the logic diagram |
US5940610A (en) | 1995-10-05 | 1999-08-17 | Brooktree Corporation | Using prioritized interrupt callback routines to process different types of multimedia information |
JPH09106336A (ja) | 1995-10-11 | 1997-04-22 | Sharp Corp | 複数の表示画像を情報処理装置の表示窓内に表示する方法 |
JPH09114443A (ja) | 1995-10-20 | 1997-05-02 | Seiko Epson Corp | 映像スケーリング装置 |
US5793438A (en) | 1995-11-13 | 1998-08-11 | Hyundai Electronics America | Electronic program guide with enhanced presentation |
CA2240009A1 (en) | 1995-12-08 | 1997-06-12 | Bell Communications Research, Inc. | Method and system for placing advertisements in a computer network |
US5724797A (en) * | 1995-12-21 | 1998-03-10 | New Holland North America, Inc. | Crop guide for forage harvester row crop attachment |
US5657050A (en) * | 1996-01-30 | 1997-08-12 | Microsoft Corporation | Distance control for displaying a cursor |
US5940077A (en) | 1996-03-29 | 1999-08-17 | International Business Machines Corporation | Method, memory and apparatus for automatically resizing a window while continuing to display information therein |
US5745109A (en) | 1996-04-30 | 1998-04-28 | Sony Corporation | Menu display interface with miniature windows corresponding to each page |
US6148346A (en) | 1996-06-20 | 2000-11-14 | Peerless Systems Imaging Products, Inc. | Dynamic device driver |
US6067071A (en) * | 1996-06-27 | 2000-05-23 | Cirrus Logic, Inc. | Method and apparatus for expanding graphics images for LCD panels |
KR0174152B1 (ko) | 1996-07-02 | 1999-04-01 | 삼성전자 주식회사 | 디지털 디스플레이 모니터의 영상크기 조정장치 |
US5771042A (en) | 1996-07-17 | 1998-06-23 | International Business Machines Corporation | Multi-size control for multiple adjacent workspaces |
US6151059A (en) | 1996-08-06 | 2000-11-21 | Starsight Telecast, Inc. | Electronic program guide with interactive areas |
KR100256443B1 (ko) * | 1996-08-16 | 2000-06-01 | 윤종용 | 멀티 미디어 디스플레이 장치 |
US5847709A (en) | 1996-09-26 | 1998-12-08 | Xerox Corporation | 3-D document workspace with focus, immediate and tertiary spaces |
US5796393A (en) | 1996-11-08 | 1998-08-18 | Compuserve Incorporated | System for intergrating an on-line service community with a foreign service |
US5870767A (en) | 1996-11-22 | 1999-02-09 | International Business Machines Corporation | Method and system for rendering hyper-link information in a printable medium from a graphical user interface |
US6081262A (en) | 1996-12-04 | 2000-06-27 | Quark, Inc. | Method and apparatus for generating multi-media presentations |
US5850218A (en) | 1997-02-19 | 1998-12-15 | Time Warner Entertainment Company L.P. | Inter-active program guide with default selection control |
US5874958A (en) | 1997-03-31 | 1999-02-23 | Sun Microsystems, Inc. | Method and apparatus for accessing information and items across workspaces |
US5874709A (en) * | 1997-04-14 | 1999-02-23 | Tweco Products, Inc. | Strain relief assembly for welding cable |
US6072483A (en) | 1997-06-02 | 2000-06-06 | Sony Corporation | Active frame scroll interface |
US6025841A (en) | 1997-07-15 | 2000-02-15 | Microsoft Corporation | Method for managing simultaneous display of multiple windows in a graphical user interface |
US6330010B1 (en) * | 1997-11-21 | 2001-12-11 | Xsides Corporation | Secondary user interface |
US6018332A (en) | 1997-11-21 | 2000-01-25 | Ark Interface Ii, Inc. | Overscan user interface |
US6337717B1 (en) | 1997-11-21 | 2002-01-08 | Xsides Corporation | Alternate display content controller |
KR100253002B1 (ko) * | 1997-11-28 | 2000-04-15 | 구자홍 | 디티브이의 디스플레이용 영상 처리장치 및 그 방법 |
JPH11167478A (ja) | 1997-12-02 | 1999-06-22 | Yokogawa Electric Corp | 警報表示方法及びこれを用いた分散型制御システム |
US6434532B2 (en) | 1998-03-12 | 2002-08-13 | Aladdin Knowledge Systems, Ltd. | Interactive customer support for computer programs using network connection of user machine |
US6437809B1 (en) | 1998-06-05 | 2002-08-20 | Xsides Corporation | Secondary user interface |
US6426762B1 (en) | 1998-07-17 | 2002-07-30 | Xsides Corporation | Secondary user interface |
US6320577B1 (en) | 1998-11-03 | 2001-11-20 | Agilent Technologies, Inc. | System and method for graphically annotating a waveform display in a signal-measurement system |
US6356284B1 (en) | 1999-03-29 | 2002-03-12 | Powerware Corporation | Operating system-independent graphical user interface with sliding panel |
US6570595B2 (en) | 1999-06-24 | 2003-05-27 | Xoucin, Inc. | Exclusive use display surface areas and persistently visible display of contents including advertisements |
US6510451B2 (en) | 1999-10-14 | 2003-01-21 | Yodlee.Com, Inc. | System for completing a multi-component task initiated by a client involving Web sites without requiring interaction from the client |
-
1998
- 1998-11-13 US US09/191,322 patent/US6330010B1/en not_active Expired - Lifetime
- 1998-11-18 WO PCT/US1998/024633 patent/WO1999027517A1/en active IP Right Grant
- 1998-11-18 AT AT98959501T patent/ATE289108T1/de not_active IP Right Cessation
- 1998-11-18 DE DE69828994T patent/DE69828994T2/de not_active Expired - Lifetime
- 1998-11-18 CN CN98812497A patent/CN1130683C/zh not_active Expired - Fee Related
- 1998-11-18 AU AU15288/99A patent/AU736654B2/en not_active Ceased
- 1998-11-18 CA CA002310759A patent/CA2310759C/en not_active Expired - Fee Related
- 1998-11-18 BR BR9814888-5A patent/BR9814888A/pt not_active IP Right Cessation
- 1998-11-18 JP JP2000522579A patent/JP2001524725A/ja active Pending
- 1998-11-18 EP EP98959501A patent/EP1031127B1/en not_active Expired - Lifetime
-
2001
- 2001-09-21 US US09/960,850 patent/US6828991B2/en not_active Expired - Lifetime
- 2001-11-14 US US09/991,365 patent/US6661435B2/en not_active Expired - Lifetime
-
2004
- 2004-10-21 US US10/971,503 patent/US20050052473A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1031127B1 (en) | 2005-02-09 |
US6330010B1 (en) | 2001-12-11 |
ATE289108T1 (de) | 2005-02-15 |
WO1999027517A1 (en) | 1999-06-03 |
US20050052473A1 (en) | 2005-03-10 |
US20020113807A1 (en) | 2002-08-22 |
DE69828994T2 (de) | 2006-03-30 |
CA2310759A1 (en) | 1999-06-03 |
EP1031127A1 (en) | 2000-08-30 |
CN1283296A (zh) | 2001-02-07 |
CA2310759C (en) | 2004-02-03 |
AU736654B2 (en) | 2001-08-02 |
DE69828994D1 (de) | 2005-03-17 |
US6828991B2 (en) | 2004-12-07 |
BR9814888A (pt) | 2001-11-13 |
US20020101452A1 (en) | 2002-08-01 |
JP2001524725A (ja) | 2001-12-04 |
AU1528899A (en) | 1999-06-15 |
US6661435B2 (en) | 2003-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1130683C (zh) | 用于控制辅助用户界面的显示的方法和相应显示控制器 | |
US6310603B1 (en) | Overscan user interface | |
US6337717B1 (en) | Alternate display content controller | |
US6590592B1 (en) | Parallel interface | |
US7340682B2 (en) | Method and system for controlling a complementary user interface on a display surface | |
US6686936B1 (en) | Alternate display content controller | |
US6639613B1 (en) | Alternate display content controller | |
US6437809B1 (en) | Secondary user interface | |
US5850232A (en) | Method and system for flipping images in a window using overlays | |
US5615326A (en) | Object-oriented viewing framework having view grouping | |
US8555194B2 (en) | Secondary user interface | |
JP3023702B2 (ja) | ビデオ情報の多重化方法 | |
AU772369B2 (en) | Secondary user interface | |
MXPA00004943A (en) | Secondary user interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20031210 Termination date: 20141118 |
|
EXPY | Termination of patent right or utility model |