專利名稱:用于選擇性顯示部分顯示屏的用戶界面系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于在計(jì)算機(jī)或計(jì)算設(shè)備顯示屏上顯示內(nèi)容的計(jì)算機(jī)軟 件。具體地,本發(fā)明涉及用于選擇性地顯示顯示屏的一部分的放大視圖的 計(jì)算機(jī)軟件。
背景技術(shù):
近幾年來,計(jì)算機(jī)、計(jì)算設(shè)備以及相關(guān)外圍設(shè)備經(jīng)歷了持續(xù)不斷的改 進(jìn)過程。例如,事實(shí)上由于電子設(shè)備的小型化的發(fā)展,所有計(jì)算機(jī)和計(jì)算 設(shè)備已經(jīng)變得越來越小并且越來越輕。與這些設(shè)備相關(guān)的外圍設(shè)備,包括 顯示屏,同樣也變得越來越小。這些顯示屏在體積上越來越小的同時(shí),也 在顯示分辨率上有顯著的增加。
這種像素("pixel")密度的增加能夠產(chǎn)生一種情況,即人們較難有效 地看出在顯示屏上顯示的內(nèi)容。對于視力減弱的人而言,使用與這種顯示 屏關(guān)聯(lián)的計(jì)算機(jī)或計(jì)算設(shè)備就變得不可能。甚至對于具有正常敏銳視力的 人而言,這種查看困難會導(dǎo)致艱辛的和令人失望的經(jīng)歷,這會嚴(yán)重影響計(jì) 算機(jī)或計(jì)算設(shè)備的生產(chǎn)力和使用感受。
現(xiàn)有技術(shù)的計(jì)算機(jī)系統(tǒng)及其相關(guān)的應(yīng)用通常具有對顯示屏一部分進(jìn)行 放大和縮放的能力。 一些版本的Microsoft \^11(10 5@操作系統(tǒng),例如,包括 稱作"放大器"的程序。諸如放大器的現(xiàn)有技術(shù)方法還存在一些缺陷。例 如,放大器永遠(yuǎn)專用屏幕的一部分來顯示鼠標(biāo)指針下任意內(nèi)容的放大視圖。 這種屏幕空間的分配減少了可用于顯示非放大內(nèi)容的屏幕分辨率的數(shù)量。 此外,由于放大器顯示區(qū)域的尺寸是固定的,其不能同時(shí)放大顯示器的所 有相關(guān)部分。放大器也不允許用戶直接與被放大內(nèi)容進(jìn)行交互。被放大的 顯示區(qū)域在其中不是"活動(dòng)的",例如,放大按鈕不起作用了。能夠點(diǎn)擊該 顯示區(qū)域,但是點(diǎn)擊后不會發(fā)生任何結(jié)果。最后,沒有保持被放大圖像的 位置與在屏幕上所顯示的圖像之間的空間關(guān)系。例如,如果放大視圖窗口在顯示屏的頂端,而選擇屏幕底端圖像的一部分用于放大,則被選擇的處 于屏幕底端的部分將以放大的形式出現(xiàn)在屏幕的頂端。雖然諸如放大器的 現(xiàn)有技術(shù)方法提供了改變放大量的能力,但是其僅經(jīng)由麻煩的基于菜單的 系統(tǒng)來做到這些。為了改變放大設(shè)置,用戶必須通過菜單操作并選擇一些 新的預(yù)設(shè)放大級別,這將會一直生效直至下次這種設(shè)置。放大器,以及相 似的現(xiàn)有技術(shù)方法,僅僅是簡單的計(jì)算機(jī)實(shí)現(xiàn)的具有固定放大量的放大鏡。 其它現(xiàn)有應(yīng)用軟件程序通常包括對由這種軟件所顯示的內(nèi)容進(jìn)行放大
或縮放的一些能力。例如,Adobe Reader 6.0允許用戶改變打開的PDF文件 的顯示放大率。在從Reader 6.0的菜單中選擇縮放選項(xiàng)后,指針圖標(biāo)變成放 大鏡的形狀。用戶指向他們希望放大的文檔區(qū)域,并點(diǎn)擊按鈕。則放大了 PDF文檔視圖,并重新以應(yīng)用程序窗口的視圖區(qū)域?yàn)橹行?。除增加視圖的 放大率以外,最終被放大視圖的尺寸和位置總是一樣的。此外,這種在 Reader 6.0內(nèi)的放大器功能局限于僅用于PDF文檔內(nèi)容。也就是,除了應(yīng) 用程序窗口的視圖區(qū)域,沒有Reader 6.0應(yīng)用程序窗口的其它部分或任意其 它窗口中的內(nèi)容可以利用這種功能來進(jìn)行放大。這是一個(gè)嚴(yán)重的缺點(diǎn),因 為用戶沒有能力放大Reader 6.0的任何工具欄或菜單。此外,通過放大整個(gè) PDF文檔,也放大了不需要放大的部分文檔,從而導(dǎo)致文檔的其它部分延 伸到顯示屏的外部。
另一類現(xiàn)有軟件應(yīng)用程序使用一種功能基本類似于圖片剪切的放大方 法。例如,Microsoft Streets and Trips ('Streets')是一種用于査看地圖的軟 件應(yīng)用程序。在啟動(dòng)Streets時(shí),該應(yīng)用程序通常在應(yīng)用程序窗口的視圖區(qū) 域顯示西半球的地圖。用戶可以通過使用鼠標(biāo)或其它指針在所選取的子區(qū) 域周圍拖拽一個(gè)方框,并且在所選子區(qū)域內(nèi)點(diǎn)擊鼠標(biāo)按鈕來在這個(gè)顯示子 區(qū)域上進(jìn)行放大。隨后將所選子區(qū)域放大以符合應(yīng)用程序窗口的視圖區(qū)域, 而處于所選區(qū)域之外的部分基本上被從中剪切掉。與Adobe Reader 6.0 — 樣,被放大視圖的尺寸和位置是固定的。同樣與Adobe Reader 6.0、 Streets 及其放大顯示屏一部分的方法,對任何Streets工具欄、菜單或者甚至任何 其它應(yīng)用程序的任何部分都不起作用。
因此,需要一種改進(jìn)的放大方法,用于智能地放大顯示屏的任何或所 有部分而保持與被放大內(nèi)容進(jìn)行交互的能力。這種方法還將優(yōu)選地提供一種改變放大率的直觀、快捷的方法。理論上,這種方法也會自動(dòng)地允許在 放大視圖內(nèi)移動(dòng)顯示下面的內(nèi)容。
發(fā)明內(nèi)容
本發(fā)明涉及一種系統(tǒng)和計(jì)算機(jī)實(shí)現(xiàn)方法,當(dāng)該系統(tǒng)和方法結(jié)合計(jì)算機(jī) 系統(tǒng)和其它計(jì)算設(shè)備使用時(shí)可用于選擇性地顯示顯示屏的所放大部分。典 型計(jì)算機(jī)系統(tǒng)和計(jì)算設(shè)備通常安裝有顯示信息和各種類型圖形的模塊。某 些計(jì)算機(jī)操作系統(tǒng)和軟件應(yīng)用程序僅提供顯示顯示屏的某些子部分被放大 或被縮放的視圖的有限的模塊。這樣的操作系統(tǒng)或應(yīng)用程序,例如,不為 用戶提供任何直接與被放大視圖交互的能力。該計(jì)算機(jī)實(shí)現(xiàn)方法提供了一 種選擇并顯示顯示屏的某些部分的被放大視圖的增強(qiáng)模塊?;谄聊恢羔?的定位,該方法自動(dòng)確定在屏幕指針下和屏幕指針周圍的區(qū)域中的顯示屏 的內(nèi)容和上下文??蛇x地,該方法放大當(dāng)前的前臺窗口,而不是屏幕指針 下面和其周圍的窗口。該方法使用關(guān)于內(nèi)容的信息來顯示該內(nèi)容的放大視 圖。通過如此操作,該方法使得被放大圖像保持下面的內(nèi)容和上下文的功 能方面。該方法還提供了一種可配置的交互式增加或減少被放大內(nèi)容放大 率的裝置。該方法還允許在所放大視圖內(nèi)自動(dòng)移動(dòng)顯示下面的內(nèi)容。因此, 所提供的方法能夠大大增強(qiáng)計(jì)算機(jī)系統(tǒng)及其相關(guān)應(yīng)用程序的可用性和親和 力。
圖1是計(jì)算機(jī)系統(tǒng)框圖,在該計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)了本發(fā)明實(shí)施例。
圖2是本發(fā)明實(shí)施例的高級流程圖。
圖3是圖2所示的高級流程圖中準(zhǔn)備放大窗口子例程的流程圖。 圖4是放大例程的一個(gè)實(shí)施例的流程圖。
圖5a是顯示包含圖形圖像的典型網(wǎng)頁的網(wǎng)頁瀏覽器應(yīng)用程序的屏幕截 圖。
圖5b是顯示典型網(wǎng)頁并示出圖5a所示的圖形圖像的被放大視圖的網(wǎng) 頁瀏覽器應(yīng)用程序的屏幕截圖。
圖6a是顯示典型對話框窗口的字處理應(yīng)用程序的屏幕截圖。圖6b是顯示圖6a所示對話框的放大視圖的字處理程序的屏幕截圖。
具體實(shí)施例方式
本發(fā)明的實(shí)施例提供一種用于選擇性地顯示顯示屏幕的一部分的系統(tǒng) 和方法。在下面的描述中以及在圖1至圖6b中提出了本發(fā)明某些實(shí)施例的 許多具體細(xì)節(jié),以提供對這些實(shí)施例的全面理解。盡管如此,本領(lǐng)域技術(shù) 人員可以理解本發(fā)明還具有其它的實(shí)施例,或者在沒有下面所描述的若干 細(xì)節(jié)的情況下可以實(shí)施本發(fā)明。
圖1示出一種示例性計(jì)算機(jī)系統(tǒng)100,在其中實(shí)現(xiàn)了本發(fā)明實(shí)施例。雖 然以在操作系統(tǒng)中實(shí)現(xiàn)的實(shí)施例的形式或按照在計(jì)算機(jī)上運(yùn)行的獨(dú)立的應(yīng) 用程序來進(jìn)行描述,但是本領(lǐng)域技術(shù)人員將會認(rèn)識到本發(fā)明也可以在與其 它程序模塊的組合中實(shí)施。 一般說來,程序模塊包括例程、程序、組件, DLL,插件(plug-in), JAVA程序,數(shù)據(jù)結(jié)構(gòu)等,其執(zhí)行特定的任務(wù)或?qū)崿F(xiàn) 特定的抽象數(shù)據(jù)類型。本領(lǐng)域技術(shù)人員還應(yīng)當(dāng)注意,可以使用其它計(jì)算機(jī) 系統(tǒng)結(jié)構(gòu)實(shí)現(xiàn)本發(fā)明,這些計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)包括例如手持設(shè)備,比如蜂窩 電話,個(gè)人數(shù)字助理(PDA)或其它基于微處理的或可編程的消費(fèi)電子產(chǎn) 品,多處理器系統(tǒng),微型計(jì)算機(jī),大型計(jì)算機(jī)等。
計(jì)算機(jī)系統(tǒng)100包括處理器104,其通過存儲器/總線接口 112耦合至 主存儲器108。將存儲器/總線接口 112耦合至擴(kuò)展總線116,例如工業(yè)標(biāo)準(zhǔn) 結(jié)構(gòu)(ISA)總線或周邊部件互連(PCI.)總線。計(jì)算機(jī)系統(tǒng)100還包括一 個(gè)或多個(gè)輸入設(shè)備120,例如鍵盤,鼠標(biāo)或手寫筆,所述輸入設(shè)備通過擴(kuò)展 總線U6和存儲器/總線接口 112耦合至處理器104。輸入設(shè)備120允許操 作者或電子設(shè)備向計(jì)算機(jī)系統(tǒng)100輸入數(shù)據(jù)。將一個(gè)或多個(gè)輸出設(shè)備120 耦合至處理器104以提供由處理器104生成的輸出數(shù)據(jù)。輸出設(shè)備124通 過擴(kuò)展總線116和存儲器/總線接口 112耦合至處理器104。輸出設(shè)備124 的實(shí)例包括打印機(jī)和聲卡驅(qū)動(dòng)的音頻揚(yáng)聲器。將一個(gè)或多個(gè)數(shù)據(jù)存儲設(shè)備 128通過存儲器/總線接口 112和擴(kuò)展總線116耦合至處理器104,以在存儲 介質(zhì)(未標(biāo)示)中存儲數(shù)據(jù)或從其中取回?cái)?shù)據(jù)。存儲設(shè)備128和存儲介質(zhì) 的實(shí)例包括固定磁盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、盒式磁帶和壓縮盤只讀存儲驅(qū) 動(dòng)器。計(jì)算機(jī)系統(tǒng)100還包括圖形處理系統(tǒng)132,其通過擴(kuò)展總線116和存儲 器/總線接口 112耦合至處理器104??蛇x地,圖形處理系統(tǒng)132可以通過 其它類型的架構(gòu)耦合至處理器104和主存儲器108。例如,圖形處理器132 可以通過存儲器/總線接口 112以及諸如加速圖形端口 (AGP)的高速總線 136來耦合,以利用直接存儲器存取(DMA)向主存儲器108提供圖形處 理系統(tǒng)132。即,高速總線136和存儲器總線接口 112允許圖形處理器132 在沒有處理器104干預(yù)的情況下讀取和寫入主存儲器108。因此,可以遠(yuǎn)大 于通過擴(kuò)展總線116傳輸?shù)膫鬏斔俾氏蛑鞔鎯ζ?08來回傳送數(shù)據(jù)。將顯 示器140耦合至圖形處理系統(tǒng)132,以顯示圖形圖像。顯示器140可以是任 意類型的顯示器,例如陰極射線管(CRT),場發(fā)射顯示器(FED),液晶顯 示器(LED)及其觸摸屏變體等,這些顯示器通常用于桌上型電腦,手持 電腦和工作站或服務(wù)器應(yīng)用。
圖2示出本發(fā)明的一個(gè)實(shí)施例的高級流程圖200,其可用于對在圖1的 計(jì)算機(jī)系統(tǒng)100中使用的處理器104進(jìn)行編程。在對顯示器的一部分進(jìn)行 放大之前,用戶指向其希望放大的顯示器部分。這通常通過使用鼠標(biāo)或其 它輸入設(shè)備將鼠標(biāo)指針放到用戶希望放大的區(qū)域上來實(shí)現(xiàn)。然后當(dāng)用戶按 下某種組合按鍵或發(fā)起與放大顯示屏相關(guān)的一些其它動(dòng)作時(shí),則在步驟204 處放大處理開始。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,另一個(gè)實(shí)施例可以改變事件 的順序。例如,在支持觸摸屏的PDA上實(shí)現(xiàn)的本發(fā)明的實(shí)施例,例如 PalmPilot ,將要求用戶首先初始化程序執(zhí)行,然后使用手寫筆在恰當(dāng)?shù)亩?位敲擊屏幕。在本發(fā)明的另一個(gè)實(shí)施例中,將設(shè)置存儲在系統(tǒng)寄存器中或 其它適當(dāng)?shù)亩ㄎ?,并且使得利用?dāng)前前臺窗口而不是鼠標(biāo)指針下的顯示區(qū) 域來開始放大。
盡管是按照按下一個(gè)或多個(gè)按鍵的方式進(jìn)行描述的,但是當(dāng)用戶按下 新式鼠標(biāo)上某一個(gè)可配置的按鈕時(shí),放大過程也會開始。在觸摸屏的情況 下,放大過程同樣可以通過預(yù)定義的屏幕點(diǎn)擊設(shè)置或其它輸入機(jī)制初始化。 盡管如此,為了實(shí)現(xiàn)圖2,可以理解,用戶指向其希望放大的顯示器的部分, 然后按下預(yù)定義的一個(gè)或多個(gè)放大按鍵。
在步驟204處按下放大按鍵后,本發(fā)明的實(shí)施例隨后確定顯示上下文。 顯示上下文是用戶希望放大的顯示器的一個(gè)矩形區(qū)域,并包括關(guān)于指針下面區(qū)域的圖形內(nèi)容以及關(guān)于顯示區(qū)域內(nèi)指針定位的信息。然而,具有不同 形狀的顯示器部分,例如圓形,也可以用作顯示上下文。例如,指針下面 的區(qū)域可以包括純圖形內(nèi)容,例如圖形圖像,或者該區(qū)域也可以包括對話
框或用戶需要用于與應(yīng)用程序進(jìn)行交互的其它窗口。在下面圖4的描述中 將更具體地解釋顯示上下文的確定。
通過在步驟208中首先測試指針是否位于對話框之上來確定顯示上下 文。對話框是特殊類型的窗口,其不允許用戶重新調(diào)整大小。在某些情況 下,不允許這種重新調(diào)整大小是很重要的,因?yàn)槿绻磺‘?dāng)?shù)卣{(diào)整對話框 的大小,對話框內(nèi)的控制或重要信息可能被隱藏。當(dāng)指針位于對話框之上 時(shí),將顯示上下文確定為指針及其定位之下的對話框。然后程序流程繼續(xù) 至步驟220,以準(zhǔn)備放大該對話框窗口。如果指針不在對話框之上,則在步 驟212處進(jìn)行進(jìn)一步檢査以確定指針是否在圖形項(xiàng)的上面。步驟208和212 處的檢測順序確保放大例程永遠(yuǎn)不會放大位于對話框內(nèi)的圖形項(xiàng)。圖形項(xiàng) 可以是任意類型的圖形圖像,例如JPEG, GIF, TIFF, BMP, PCX, PCD, PICT, PNG, TGA, ICO等等,這些是常用數(shù)字圖像類型并且可以由計(jì)算 機(jī)或計(jì)算設(shè)備來顯示。圖形項(xiàng)也可以是一個(gè)動(dòng)態(tài)項(xiàng),例如電子數(shù)據(jù)表中的 圖表??s放功能使用微軟提供的API來確定項(xiàng)目在用戶界面中的作用。如 果在步驟212中確定指針位于圖形項(xiàng)的上面,則將顯示上下文確定為由指 針選擇的圖形項(xiàng)本身及其定位,并且程序執(zhí)行繼續(xù)至步驟216。如果在步驟 212中確定指針沒有位于圖形項(xiàng)的上面,則將顯示上下文確定為指針下的應(yīng) 用程序窗口,及其由指針選擇的定位。在這種情況下,程序執(zhí)行繼續(xù)至步 驟220。
在步驟216處準(zhǔn)備放大圖形項(xiàng)或在步驟220處準(zhǔn)備放大對話框包括許 多相同的任務(wù)。在兩種情況下,確定并復(fù)制屏幕的相關(guān)子矩形的像素。在 步驟216處,屏幕的這個(gè)矩形部分根據(jù)圖形項(xiàng)的性質(zhì)來確定,并且通常對 應(yīng)于該項(xiàng)的邊框。在對話框的情況下,步驟220處的準(zhǔn)備過程將子矩形設(shè) 置為其自身窗口的邊界區(qū)域。 一旦確定了被放大的子矩形,則創(chuàng)建硬件視 頻覆蓋,以便顯示被放大的圖像。正如本領(lǐng)域技術(shù)人員將會理解的,使用 硬件視頻覆蓋是優(yōu)選的,因?yàn)槠淅脠D形處理系統(tǒng)132 (如圖1所示)的特 性來計(jì)算和維護(hù)圖像,從而減輕了CPU的負(fù)擔(dān)。另外,由于硬件視頻覆蓋獨(dú)立于視窗/操作系統(tǒng)進(jìn)行操作,因此不存在與放大相關(guān)的副作用以降低與 被放大窗口關(guān)聯(lián)的軟件應(yīng)用程序的性能。具有不能支持硬件視頻覆蓋的不 復(fù)雜圖形處理系統(tǒng)的系統(tǒng)仍然可以用于實(shí)施本發(fā)明的實(shí)施例,盡管性能低 下。
放大的圖形項(xiàng)僅僅是基本圖形項(xiàng)的放大視圖,并且僅對于該放大的圖 形項(xiàng)的可視內(nèi)容顯示該圖形項(xiàng)。除簡單的放大該項(xiàng)以用于改善觀看效果外, 不需要操作或與該圖形項(xiàng)進(jìn)行交互。如果顯示上下文是對話框或其它窗口, 那么本發(fā)明的實(shí)施例將放大整個(gè)對話框或窗口,而同時(shí)允許操作和與放大
的對話框或窗口進(jìn)行交互。在步驟220處準(zhǔn)備放大窗口還包括為放大該窗 口而同時(shí)保持該窗口的放大視圖是"活動(dòng)的"所需要的那些操作。準(zhǔn)備放 大窗口或圖形項(xiàng)還需要初始確定被放大圖像可能具有的尺寸和位置。由許 多因素來確定放大圖像的位置。更典型地,放大圖像的位置在被放大顯示 屏的矩形部分的中心。然后有時(shí)這樣的位置將是不可能的。例如,在圖形 項(xiàng)處于十分接近顯示屏邊緣的情況下,以該位置為中心顯示放大圖像將導(dǎo) 致放大圖像的一部分移出顯示屏的一個(gè)或多個(gè)邊界。在那種情況下,確定 放大圖像具有盡可能接近指針定位的定位以避免任何由于邊界的影響而丟 失圖像。對話框或窗口位置的確定也采用相似的形式。
當(dāng)準(zhǔn)備放大圖形項(xiàng)或窗口時(shí),還確定放大圖像的尺寸。在圖形項(xiàng)的情 況中,該項(xiàng)放大視圖的尺寸通常是以相對較小的系數(shù)來放大以保持背景的 一些可視能力。例如,放大非常小的圖形項(xiàng)使其占據(jù)整個(gè)屏幕將會不允許 在該圖形上下文中査看該圖形項(xiàng),并且將會使整個(gè)圖像視圖嚴(yán)重扭曲。通 常優(yōu)選地,初始以相對較小的放大系數(shù)來顯示圖形項(xiàng)。盡管本實(shí)施例是以 由程序確定的初始放大系數(shù)的形式進(jìn)行描述的,但是另一實(shí)施例可以允許 用戶設(shè)置默認(rèn)的放大系數(shù)。在以窗口替代顯示上下文的情況下,該例程通 常將試圖最大化該窗口放大視圖的區(qū)域。不管顯示上下文是圖形項(xiàng)還是窗 口,圖像的放大系數(shù)可以在任何時(shí)候由用戶來改變,如下面更加全面討論 的。當(dāng)顯示上下文是對話框或其它窗口時(shí),應(yīng)當(dāng)理解該對話框的放大顯示 在其放大狀態(tài)中保持全部功能。即,盡管對話框現(xiàn)在以放大形式顯示,但 是所有按鈕、菜單、選項(xiàng)、文本區(qū)域等都保持其全部功能。用戶可以與放 大對話框直接交互,就像其未被放大一樣。圖3更具體地示出了準(zhǔn)備放大窗口例程220。準(zhǔn)備過程在步驟300處開 始于檢測所選擇或活動(dòng)窗口是否完全在屏幕上。如果不是,則在步驟304 處重新放置窗口使其位于屏幕上。在確保窗口完全位于屏幕上之后,執(zhí)行 在步驟308處繼續(xù)檢測所選擇窗口是否是前臺窗口。同樣,如果該窗口不 是前臺窗口,則在步驟312處例程將該窗口變?yōu)榍芭_窗口并且流程繼續(xù)至 步驟316。該例程在步驟316處確定所選擇窗口是否是對話框。當(dāng)在步驟 316處該例程確定該窗口不是對話框時(shí),該例程計(jì)算放大圖像的初始尺寸, 并且隨后在步驟320處確定該圖像是否太寬以至于不適合于顯示屏。如果 圖像太大,則重新計(jì)算放大圖像的初始尺寸以便在步驟324中被放大后適 于顯示,程序流程繼續(xù)至步驟330。如果所計(jì)算的初始圖像的尺寸是可接受 的,則執(zhí)行同樣繼續(xù)至步驟330。這種調(diào)整大小的行為不包括對話框,因?yàn)?這些對話框相對于顯示屏的尺寸通常較大,并且調(diào)整該對話框的大小以適 合于顯示屏僅能提供較小的初始放大率或不能提供初始放大率。
準(zhǔn)備放大繼續(xù)在步驟330處確定指針是否當(dāng)前在將被放大的窗口內(nèi)。 如果不是,則在步驟334處將指針移動(dòng)至窗口中心。最后,在完成這些準(zhǔn) 備之后,建立并定位硬件覆蓋,并且從而以預(yù)先計(jì)算的位置和放大系數(shù)來 顯示初始放大圖像。然后程序控制轉(zhuǎn)至用于管理放大圖像的放大例程224。
盡管沒有示出,但是準(zhǔn)備放大圖形項(xiàng)實(shí)質(zhì)上與準(zhǔn)備放大窗口 220是相 同的。在圖形項(xiàng)的實(shí)例中,盡管不需要在步驟316處確定窗口是否是對話 框。同樣的,與例程320和324相關(guān)的邏輯也不是必須的。
圖4更具體地示出了放大例程224。在本發(fā)明的一個(gè)實(shí)施例中,放大例 程224包含一個(gè)循環(huán)。該循環(huán)在步驟404以檢測該窗口是否已關(guān)閉進(jìn)入。 首次進(jìn)入該循環(huán)時(shí),雖然不是必須的,但是步驟404至420的各個(gè)檢測通 常是"假"并且程序流程將進(jìn)入步驟428。通過該循環(huán)的連續(xù)迭代,在步驟 404至420處的檢測將導(dǎo)致不同的行為,如在下面更加全面描述的。在初始 遍歷該循環(huán)時(shí),沒有在放大圖像上執(zhí)行的更新,程序流程繼續(xù)至步驟432。
放大循環(huán)在步驟432處繼續(xù)檢測用戶是否按下放大鍵持續(xù)1秒鐘的時(shí) 間。在這種事件中,在步驟456處停止放大圖像的顯示。如果沒有按下放 大鍵,則在步驟436處通過檢測期望的放大系數(shù)的變化來繼續(xù)該例程。
如上所述,在放大圖像的顯示期間,用戶可以增大或減小放大圖像的放大系數(shù)。典型地,設(shè)置兩個(gè)熱鍵以便控制放大系數(shù)的增大或減小。例如,
可以將熱鍵設(shè)置為持續(xù)按下鍵盤上的Ctrl鍵并按下Up箭頭鍵將增大放大系 數(shù),同樣的,持續(xù)按下Ctrl鍵并按下Down箭頭鍵將減小放大系數(shù)。本領(lǐng) 域技術(shù)人員可以理解,用于指示這些放大系數(shù)的其它方式也是可能的。例 如鼠標(biāo)滾輪,滾動(dòng)滾輪、輕推滾輪、輕撥等都可以用于在放大圖像顯示過 程中改變放大系數(shù)。本發(fā)明的這個(gè)實(shí)施例在步驟436處檢測由用戶發(fā)起的 對放大系數(shù)的改變。當(dāng)檢測到這種改變時(shí),將關(guān)于改變量的信息(例如, 滾輪點(diǎn)擊多少次和/或按下按鍵的數(shù)目)傳回至步驟424,以用于重新確定 放大圖像的尺寸和位置,然后流程如以前一樣繼續(xù)。當(dāng)在步驟424處重新 確定尺寸和位置之后,程序流程繼續(xù)至步驟428用于放大圖像的更新。在 步驟428處使用新的尺寸和位置并根據(jù)改變的放大系數(shù)來重新顯示放大圖 像。在一些實(shí)例中,需要對放大圖像的其它更新,這些更新也在步驟428 處完成。
本發(fā)明的一個(gè)實(shí)施例提供了對放大圖像下面的內(nèi)容的自動(dòng)移動(dòng)顯示。 如在圖3的描述中所討論的,在準(zhǔn)備放大窗口結(jié)束時(shí),但是在顯示放大圖 像之前,將指針移動(dòng)到窗口的中心。因此,在放大內(nèi)容初始顯示之上,指 針在放大視圖內(nèi)是可視的。如果用戶試圖將鼠標(biāo)指針移動(dòng)到放大圖像的邊 界之外,放大例程224將在步驟428處自動(dòng)更新放大圖像。這種更新通過 從下面的窗口中選擇新的將被放大的子矩形來完成。這個(gè)新矩形的尺寸與 現(xiàn)有子矩形相同,但是在鼠標(biāo)移動(dòng)的方向上移位。例如,假設(shè)用戶將指針 移動(dòng)至放大圖像的最頂端邊界。放大例程在步驟428處將檢測指針到邊界 的接近度,并向上移動(dòng)下面內(nèi)容的所選子矩形。該行為對于放大圖像的四 個(gè)邊界分別是相同的,并且該放大例程將允許移動(dòng)顯示下面的內(nèi)容,向上 到該內(nèi)容的邊界。 一旦確定了這個(gè)新的子矩形,則如前所述拷貝其像素并 更新硬件覆蓋,從而重新顯示移動(dòng)顯示的圖像。
在放大圖像在步驟428處更新之后,由于放大系數(shù)的改變或因?yàn)橐苿?dòng) 顯示,流程通常繼續(xù)至步驟432和436,并返回至步驟404,其中執(zhí)行一系 列的檢測步驟404至步驟420以便確定顯示是否改變了狀態(tài)。這種改變能 以若干方式中的任意方式發(fā)生。在顯示狀態(tài)的最后檢査之后,與放大圖像 相關(guān)的窗口可能已被關(guān)閉、隱藏、最小化,失去焦點(diǎn)或被移動(dòng)和/或調(diào)整大小。如以上簡要討論的,在循環(huán)的第一次遍歷期間,通常這些事件都不會
發(fā)生。對于下面的對在步驟404、 408、 412、 416和420處所示的檢測的討 論,應(yīng)當(dāng)理解盡管以檢測窗口狀態(tài)的改變進(jìn)行討論,但是當(dāng)顯示上下文是 圖形項(xiàng)時(shí)以及當(dāng)它是對話框或其它窗口時(shí)都執(zhí)行這些檢測。當(dāng)顯示上下文 是圖形項(xiàng)時(shí),則在該圖形項(xiàng)位于的窗口上執(zhí)行這些檢測。當(dāng)顯示上下文是 對話框或其它窗口時(shí),則在對話框或其自身的窗口上執(zhí)行這些檢測。
在步驟404處執(zhí)行第一次檢測,以確定窗口是否已經(jīng)關(guān)閉。在窗口已 經(jīng)關(guān)閉的情況下,控制轉(zhuǎn)至步驟440,步驟440將在下面更加全面的討論。 如果窗口未被關(guān)閉,程序執(zhí)行在步驟408處繼續(xù)檢測窗口是否變?yōu)殡[藏。 窗口可以由于多種原因而變?yōu)殡[藏。最典型地,新窗口在放大窗口的上面 打開,從而從視圖中遮蔽了放大窗口。如果窗口被隱藏,則控制轉(zhuǎn)至步驟 440,否則控制向下轉(zhuǎn)至步驟412。程序流程在步驟412處繼續(xù)執(zhí)行,在步 驟412處執(zhí)行測試以檢測窗口是否被最小化。在幾乎所有的情況中,窗口 最小化是由于用戶的人為操作。如果窗口被最小化,放大例程在步驟440 處繼續(xù)執(zhí)行。否則,流程在步驟416處繼續(xù)檢測窗口是否失去焦點(diǎn)。當(dāng)新 窗口打開并且將用戶輸入指向該窗口時(shí),窗口失去焦點(diǎn)。這可能由于多種 原因而發(fā)生。例如,用戶可以在軟件應(yīng)用程序中選擇一個(gè)或多個(gè)菜單選項(xiàng) 從而導(dǎo)致顯示對話框。當(dāng)窗口沒有失去焦點(diǎn)時(shí),則在步驟420處執(zhí)行最后 剩余的檢測,即檢測該窗口是否被移動(dòng)或改變尺寸。
如果在步驟416處確定窗口已經(jīng)失去焦點(diǎn),則流程轉(zhuǎn)移至步驟448,在 步驟448中所執(zhí)行的檢測是用于確定新窗口是否為相同的應(yīng)用程序所有。 通過實(shí)例方式可以更好地理解該檢測。假設(shè)用戶正在運(yùn)行一個(gè)軟件應(yīng)用程 序并且放大了該應(yīng)用程序的對話框。如上所述,對話框在其放大形式中是 完全起作用的,用戶可以與對話框進(jìn)行交互就像其未放大一樣。此外,假 設(shè)用戶發(fā)起對話框中的一些動(dòng)作,其導(dǎo)致打開新的對話框或窗口。當(dāng)新窗 口打開時(shí)而先前的對話框仍就可見時(shí),則新窗口具有焦點(diǎn)而舊窗口失去焦 點(diǎn)。由于舊窗口未被關(guān)閉、隱藏或最小化,放大循環(huán)將在步驟416檢測到 窗口失去焦點(diǎn),并且將控制傳送至步驟448處的測試。在步驟448處的測 試確定當(dāng)前處于焦點(diǎn)中的窗口是否由與曾經(jīng)處于焦點(diǎn)中的窗口相同的應(yīng)用 程序占有或者在該相同的應(yīng)用程序中運(yùn)行。在這些實(shí)例中,新的對話框事實(shí)上作為該相同的應(yīng)用程序的一部分來運(yùn)行。因此,在步驟452處保存顯 示的先前放大狀態(tài),并且取而代之放大當(dāng)前處于焦點(diǎn)中的新窗口。當(dāng)保存 顯示的先前放大狀態(tài)時(shí),保存關(guān)于先前處于焦點(diǎn)中的對話框的放大信息。 該信息通常包括關(guān)于放大圖像的定位及其尺寸和/或放大系數(shù)的信息。本領(lǐng) 域技術(shù)人員應(yīng)當(dāng)理解,用于存儲和取回該信息的最普通的抽象數(shù)據(jù)類型是 堆棧。雖然該實(shí)施例是根據(jù)堆棧描述的,但是可以理解,本發(fā)明的其它實(shí) 施例可以使用其它抽象數(shù)據(jù)類型。如下面更加全面討論的,所保存的放大 狀態(tài)隨后在步驟440和444處使用。在保存了顯示的先前放大狀態(tài)之后, 在步驟452處通過確定新打開的對話框的位置和尺寸來放大該對話框,并 且然后在步驟428處更新所顯示的圖像。然后如上所述,程序流程在步驟 432進(jìn)行執(zhí)行。在新窗口不屬于與先前窗口相同的應(yīng)用程序的情況下,放大 例程在步驟456處退出,放大圖像從顯示中移除。
當(dāng)用戶完成與當(dāng)前放大窗口的交互,以及例如關(guān)閉該窗口時(shí),被保存 的放大狀態(tài)隨后將可以使用。假設(shè)己經(jīng)保存了該放大狀態(tài),如果與當(dāng)前顯 示的放大圖像相關(guān)的當(dāng)前窗口被關(guān)閉、隱藏或最小化,則放大例程將分別 在步驟404、 408、 412檢測到,并且將控制傳送至步驟440。在步驟440處, 放大例程確定在堆棧中是否有所保存的放大狀態(tài)。在該狀態(tài)存在的情況下, 則在步驟444中將其從堆棧中彈出并且利用所保存的尺寸合位置來重新顯 示與該狀態(tài)相關(guān)的放大圖像。這時(shí),程序控制返回至在步驟404處的放大 例程的主循環(huán)。如果在步驟440處確定在堆棧中沒有存儲放大狀態(tài),那么 放大例程在步驟456處退出,并且將放大圖像從顯示中移除。
圖5a示出了顯示包含圖形圖像504的典型網(wǎng)頁的網(wǎng)頁瀏覽器應(yīng)用程序 的屏幕截圖500。如上文具體討論的,圖形圖像504實(shí)際上可以是任何類型 的圖形圖像。
圖5b示出了顯示典型網(wǎng)頁并示出圖5a所示的圖形圖像504的放大視 圖512的網(wǎng)頁瀏覽器應(yīng)用程序的屏幕截圖508。如上所述,該圖形項(xiàng)以相對 較小的初始放大系數(shù)來進(jìn)行放大。這允許更容易地在整個(gè)網(wǎng)頁環(huán)境中査看 該圖形項(xiàng)。
圖6a是顯示典型對話框窗口 604的字處理應(yīng)用程序的屏幕截圖600。 圖6b是顯示對話框604的放大視圖608的字處理應(yīng)用程序屏幕截圖602。如上所述,放大圖像是完全"活動(dòng)的",用戶可以直接與放大對話框 進(jìn)行交互。例如,可以選擇"區(qū)域陰影(Field shading)"下拉框612,并 且其選項(xiàng)改變。同樣,可以設(shè)置或清除"制表符(Tab characters)"復(fù)選框 616。如上所述,對話框以相對較大的系數(shù)進(jìn)行放大,使得對話框幾乎使用 了整個(gè)顯示區(qū)域。該初始放大系數(shù)是優(yōu)選的,因?yàn)閷υ捒蛲ǔ]^復(fù)雜并且 包含大量的輸入項(xiàng)。在這種情況下,放大對話框的可視性和可用性是極為 重要的。同時(shí),對話框的操作上下文通常沒有該圖形項(xiàng)重要。
盡管參照所公開的實(shí)施例對本發(fā)明進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員 應(yīng)當(dāng)理解在不偏離本發(fā)明精神和范圍的情況下,可以在形式和具體細(xì)節(jié)上 進(jìn)行修改。這種修改在本領(lǐng)域普通技術(shù)人員理解范圍內(nèi)。因此,除所附權(quán) 利要求外,不對本發(fā)明進(jìn)行限制。
權(quán)利要求
1、一種用于根據(jù)放大信號選擇性放大顯示屏一部分的計(jì)算機(jī)實(shí)現(xiàn)方法,所述方法包括確定顯示上下文;確定所述顯示上下文的放大圖像在所述顯示屏上的位置,其中所述位置與在所述顯示屏上選擇的定位相關(guān);確定所述放大圖像的尺寸和放大系數(shù);以及利用所確定的位置、所確定的尺寸和所確定的放大系數(shù)來顯示所述放大圖像,其中所述放大圖像具有所述顯示上下文的功能特性。
2、 如權(quán)利要求1所述的方法還包括 在顯示所述放大圖像時(shí),檢測第一信號;根據(jù)檢測的所述第一信號,增加用于所述放大圖像的放大系數(shù)并且利 用所確定的尺寸、所確定的位置和所述增加的放大系數(shù)重新顯示所述放大 圖像。
3、 如權(quán)利要求2所述的方法還包括 在顯示所述放大圖像時(shí),檢測第二信號;根據(jù)檢測的所述第二信號,減小用于所述放大圖像的放大系數(shù)并且利 用所確定的尺寸、所確定的位置和所述減小的放大系數(shù)重新顯示所述放大 圖像。
4、 如權(quán)利要求3所述的方法還包括 在顯示所述放大圖像時(shí),檢測第三信號; 根據(jù)檢測的所述第三信號,終止顯示所述放大圖像。
5、 如權(quán)利要求4所述的方法還包括在顯示所述放大圖像時(shí),檢測顯示狀態(tài)的改變,以提供新的顯示狀態(tài); 根據(jù)檢測的所述顯示狀態(tài)的改變,按照新的顯示狀態(tài)重新確定用于所述放大圖像的尺寸、位置和放大系數(shù),并且重新顯示所述放大圖像。
6、 如權(quán)利要求1所述的方法,其中所述確定顯示上下文的步驟包括 使用指示設(shè)備在示出所確定的顯示上下文的所述顯示屏的一部分上放置指針。
7、 如權(quán)利要求1所述的方法,其中所述確定所述顯示上下文的放大圖 像在所述顯示屏上的位置的步驟包括確定在所述顯示屏上所述顯示上下文的定位;以及 使用所述顯示上下文的位置作為在所述顯示屏上所選擇的定位。
8、 一種用于根據(jù)放大信號選擇性放大顯示屏一部分的系統(tǒng),所述系統(tǒng) 包括處理部件;顯示屏,耦合至所述處理部件;數(shù)據(jù)存儲部件,耦合至所述處理部件并且存儲由所述處理部件執(zhí)行的 放大程序,所述放大程序用于 確定顯示上下文;確定所述顯示上下文的放大圖像在所述顯示屏上的位置,其中所述位 置與在顯示屏上的指針定位相關(guān);確定用于所述放大圖像的尺寸和放大系數(shù);利用所確定的位置、所確定的尺寸和所確定的放大系數(shù)顯示所述放大 圖像,其中所述放大圖像具有所述顯示上下文的功能特性。
9、 如權(quán)利要求8所述的系統(tǒng),其中由所述處理部件執(zhí)行的所述放大程 序還用于在顯示所述放大圖像時(shí),檢測第一信號;根據(jù)檢測的所述第一信號,增加用于所述放大圖像的放大系數(shù)并且利 用所確定的尺寸、所確定的位置和所述增加的放大系數(shù)重新顯示所述放大 圖像。
10、 如權(quán)利要求9所述的系統(tǒng),其中由所述處理部件執(zhí)行的所述放大程序還用于在顯示所述放大圖像時(shí),檢測第二信號;根據(jù)檢測的所述第二信號,減小用于所述放大圖像的放大系數(shù)并且利 用所確定的尺寸、所確定的位置和所述減小的放大系數(shù)重新顯示所述放大 圖像。
11、 如權(quán)利要求IO所述的系統(tǒng),其中由所述處理部件執(zhí)行的所述放大 程序還用于在顯示所述放大圖像時(shí),檢測第三信號; 根據(jù)檢測的所述第三信號,終止顯示所述放大圖像。
12、 如權(quán)利要求ll所述的系統(tǒng),其中由所述處理部件執(zhí)行的所述放大 程序還用于在顯示所述放大圖像時(shí),檢測顯示狀態(tài)的改變,以提供新的顯示狀態(tài); 根據(jù)檢測的所述顯示狀態(tài)的改變,按照新的顯示狀態(tài)重新確定用于所 述放大圖像的尺寸、位置和放大系數(shù),并且重新顯示所述放大圖像。
13、 如權(quán)利要求8所述的系統(tǒng),還包括指示設(shè)備,并且其中由所述處 理部件執(zhí)行的所述放大程序用于通過使用指示設(shè)備在示出所確定的顯示上下文的所述顯示屏的一部分 上放置指針,來確定所述顯示上下文。
14、 如權(quán)利要求8所述的系統(tǒng),其中由所述處理部件執(zhí)行的所述放大 程序用于通過下列步驟確定所述顯示的放大圖像在所述顯示屏上的位置在所述顯示屏上確定所述顯示上下文的定位;以及 使用所述顯示上下文的位置作為在所述顯示屏上所選擇的定位。
15、 一種計(jì)算機(jī)可讀介質(zhì),其內(nèi)容致使計(jì)算機(jī)系統(tǒng)通過執(zhí)行下列步驟能夠根據(jù)放大信號選擇性放大顯示屏的一部分 確定顯示上下文;確定放大圖像在所述顯示屏上的位置; 確定用于所述放大圖像的尺寸和放大系數(shù);以及利用所確定的位置、所確定的尺寸和所確定的放大系數(shù)顯示所述放大 圖像,其中所述放大圖像具有所述顯示上下文的功能特性。
16、 如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì) 的內(nèi)容還致使計(jì)算機(jī)系統(tǒng)在顯示所述放大圖像時(shí),檢測第一信號;以及根據(jù)檢測的所述第一信號,增加用于所述放大圖像的放大系數(shù)并且利 用所確定的尺寸、所確定的位置和所述增加的放大系數(shù)重新顯示所述放大 圖像。
17、 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì) 的內(nèi)容還致使計(jì)算機(jī)系統(tǒng)在顯示所述放大圖像時(shí),檢測第二信號;以及根據(jù)檢測的所述第二信號,減小用于所述放大圖像的放大系數(shù)并且利 用所確定的尺寸、所確定的位置和所述減小的放大系數(shù)重新顯示所述放大 圖像。
18、 如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì) 的內(nèi)容還致使計(jì)算機(jī)系統(tǒng)-在顯示所述放大圖像時(shí),檢測第三信號; 根據(jù)檢測的所述第三信號,終止顯示所述放大圖像。
19、 如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì) 的內(nèi)容還致使計(jì)算機(jī)系統(tǒng)在顯示所述放大圖像時(shí),檢測顯示狀態(tài)的改變,以提供新的顯示狀態(tài);以及根據(jù)檢測的所述顯示狀態(tài)的改變,按照新的顯示狀態(tài)重新確定用于所 述放大圖像的尺寸、位置和放大系數(shù),并且重新顯示所述放大圖像。
20、 如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì) 的內(nèi)容還致使計(jì)算機(jī)系統(tǒng)使用指示設(shè)備在示出所確定的顯示上下文的所述 顯示屏的一部分上放置指針。
21、 如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì) 的內(nèi)容還致使計(jì)算機(jī)系統(tǒng)通過下列步驟確定所述顯示上下文的放大圖像在 所述顯示屏上的位置在所述顯示屏上確定所述顯示上下文的定位;以及 使用所述顯示上下文的位置作為在所述顯示屏上所選擇的定位。
全文摘要
一種計(jì)算機(jī)系統(tǒng)或計(jì)算設(shè)備包括顯示器,用于顯示任意數(shù)量的軟件應(yīng)用程序的可視輸出。在該計(jì)算機(jī)系統(tǒng)或計(jì)算設(shè)備上執(zhí)行一種選擇性顯示顯示屏的一部分的放大視圖的計(jì)算機(jī)實(shí)現(xiàn)方法。該方法允許用戶選擇顯示屏的一部分用于放大,然后顯示顯示屏的該部分的放大視圖。所放大的視圖保留下面的未放大的源內(nèi)容的功能和交互特性。該方法還提供了用于控制放大視圖中放大量的可配置手段。該方法允許使用放大視圖來移動(dòng)顯示下面的未放大的源內(nèi)容。
文檔編號G06F15/00GK101432711SQ200780015783
公開日2009年5月13日 申請日期2007年3月7日 優(yōu)先權(quán)日2006年5月18日
發(fā)明者D·巴內(nèi) 申請人:伏爾甘·波塔爾斯公司