專利名稱:用于查看重疊對象的帶有單層模式的計算機接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及用于計算機的操作系統(tǒng),并且更具體地涉及管理向用戶呈現(xiàn)多個重疊對象的方式的人機接口。
背景技術(shù):
每個新一代的個人計算機可使用的不斷提高的處理能力對用戶提供了完成各種不同任務(wù)的機會。用戶不再限于在任何給定時刻于個人計算機上完成單個任務(wù)。相反,多任務(wù)已變成操作計算機的常見方式。這種多任務(wù)可在單個應(yīng)用程序內(nèi)出現(xiàn),例如,用戶可能在一個字處理或圖形程序內(nèi)打開多個文檔。同樣,多任務(wù)可在幾個應(yīng)用之間出現(xiàn)。例如,用戶可打開網(wǎng)絡(luò)瀏覽器以訪問因特網(wǎng)上的一個或多個網(wǎng)站,同時運行電子郵件程序以便讀消息并且運行字處理程序以便把消息或者網(wǎng)站的內(nèi)容粘貼到一個或多個文檔中。
在利用窗口呈現(xiàn)數(shù)據(jù)的圖形用戶接口中,每個用戶正在進行的任務(wù)可能具有一個或多個與它相關(guān)的窗口。例如,字處理程序中打開的每個文檔會使它的內(nèi)容顯示在獨立的窗口中。此外,該程序?qū)崿F(xiàn)的各種功能,例如拼寫檢查、假脫機打印等,可各具有與它關(guān)聯(lián)的一個或更多的次窗口,以提供狀態(tài)信息和/或用戶輸入。類似地,計算機上運行的每個其它應(yīng)用程序?qū)τ脩籼峁┮粋€或更多的窗口。例如,如果利用瀏覽器訪問若干不同類型的網(wǎng)站,例如http站點、ftp站點和新聞?wù)军c,每個站點的內(nèi)容可能在各自不同的窗口中呈現(xiàn)。
可以理解,當在計算機上進行多任務(wù)時,同時顯示的窗口的數(shù)量可能變得很多。對于經(jīng)驗不多的用戶,多個打開的窗口可能是失敗或混淆的源泉。更具體地,這些窗口是按分層的方式呈現(xiàn)的。每個窗口帶有與它關(guān)聯(lián)的相對深度,其中最新訪問的或者當前的窗口出現(xiàn)在顯示器的前臺,而每個其它窗口按訪問其的次序的逆關(guān)系位于該當前窗口的“后面”。因此,感興趣的窗口可能變成全部被其它晚訪問的窗口覆蓋,從而擋著看不到。用戶可能不知道如何不關(guān)閉、最小化或者重新定位所有覆蓋著期望窗口的窗口(這可能不和用戶希望的操作相符)而導(dǎo)航到該期望的窗口。即使對于較有經(jīng)驗的用戶,大量打開的窗口可能代表一個雜亂的界面,降低了方便地訪問特定窗口中的期望信息的能力。
在于2000年1月4日申請的共同待決共同轉(zhuǎn)讓的美國09/447,419號申請中說明一種解決該問題的方法。在該方法中,可以選擇單窗口查看模式,在此模式下向用戶顯示與當前有效任務(wù)關(guān)聯(lián)的單個窗口或者最多幾個窗口。與非當前任務(wù)相關(guān)的所有其它窗口自動地變成最小,從而在任何時刻減少向用戶顯示的信息量。
本發(fā)明涉及一種促進在多個信息窗口間導(dǎo)航的替代方法。更具體地,一些用戶可能偏好對所有正在進行的任務(wù)保持窗口打開,而不是把它們減少到最小化狀態(tài)。例如,可能希望保持多個窗口打開以便能從一個窗口把內(nèi)容拷貝到另一個上。但是,隨著打開窗口數(shù)量的增加,用戶能夠定位含有期望內(nèi)容的窗口變得更加困難。
盡管容易用重疊窗口的情況說明用戶潛在的困難,但這不是唯一的其中重疊的對象可能是用戶不方便的源由的情況。例如,文件夾中的多個圖符可以位于彼此的頂上,從而制止用戶定位感興趣的圖符的能力。更一般地,圖形用戶接口中幾乎任何類型的對象都可以出現(xiàn)在另一個對象的前面,從而干擾用戶的感受。
發(fā)明內(nèi)容
依據(jù)本發(fā)明,一種人機接口提供在便利查看多個彼此重疊的對象的方式下管理計算機顯示器的可使用空間的機構(gòu)。該接口包括一個或更多的其中重新排列對象并且若需要重新定對象尺寸的用戶可選擇的模式,由此可以在顯示區(qū)內(nèi)同時完整查看各個對象,從而能方便選擇任何一個供訪問的對象。實際上,各對象的呈現(xiàn)是“平化的(flattened)”,從而所有對象在相同的虛擬深度下出現(xiàn)而不是彼此重疊。一旦選擇了期望的對象,自動地或者響應(yīng)用戶進一步的命令顯示返回到常規(guī)的分層查看。利用該方法,不需要使窗口最小化也不需要在顯示器上手動移動對象以便訪問被其它對象覆蓋的對象,從而用戶能保持固定的工作環(huán)境。
下面連帶在附圖中示出的本發(fā)明的優(yōu)選實施例進一步說明本發(fā)明的特征以及其達到的優(yōu)點。
圖1是在其中實現(xiàn)本發(fā)明的計算機系統(tǒng)的總方塊圖;圖2是示出該計算機系統(tǒng)的一些軟件和硬件部分的關(guān)系的方塊圖;圖3-8是說明本發(fā)明達到的效果的例子的屏幕快照;圖9-15描述一種用來重新定位各窗口的算法的示意例子;圖16是概括該算法的流程圖;圖17描述利用每個窗口的邊界;圖18示出本發(fā)明一種變型的例子;圖19a-19d和20a-20d示意說明“示出桌面”查看模式下的操作;圖21示出“顯示桌面”模式下的顯示器的例子;圖22示出用于選取用戶選項以便選擇不同的查看模式的屏面;以及圖23a-23d示意說明“應(yīng)用單一”查看模式。
具體實施例方式
為了幫助理解本發(fā)明,下面具體參照查看計算機顯示器的桌面上的多個打開的窗口說明本發(fā)明。但是應(yīng)理解支持本發(fā)明的原理不限于這種特定應(yīng)用。相反,可以在任何多個對象可能彼此重疊并且用戶希望同時完整地查看每個對象的環(huán)境下使用這些原理。
另外,本發(fā)明的各種特征有時是在與蘋果計算機公司提供的Macintosh操作系統(tǒng)(Mac OS)關(guān)聯(lián)的用戶接口中實現(xiàn)的環(huán)境中描述的。這些特征可等同地應(yīng)用于其它類型的圖形用戶接口。因此,下面說明的特定方面的實現(xiàn)不應(yīng)當看成是對本發(fā)明在各種不同人機接口的應(yīng)用性的任何限制。
本發(fā)明涉及在計算機系統(tǒng)中向用戶呈現(xiàn)對象,例如顯示窗口、圖符、圖象等。現(xiàn)簡單說明其中可以實現(xiàn)本發(fā)明的計算機系統(tǒng)類型的硬件組成部分,以便充分了解為了產(chǎn)生期望的結(jié)果在該系統(tǒng)內(nèi)操作本發(fā)明的方式。參照圖1,一種示例計算機系統(tǒng)包括其上連接著各種外圍部件12的計算機10。計算機10包括中央處理器14以及關(guān)聯(lián)的存儲器。存儲器通常包括典型地以隨機存取存儲器16的形式實現(xiàn)的主存儲器、可包括可讀存儲器18的靜態(tài)存儲器以及諸如磁盤或光盤20的永久存儲部件。通過內(nèi)部總線22,CPU 14和每種形式的存儲器通信。外圍部件12包括數(shù)據(jù)輸入裝置,例如鍵盤24,以及定位或光標控制部件26,例如鼠標、跟蹤球、筆等。一個或更多的諸如CRT監(jiān)視器或LCD屏幕的顯示器部件28提供信息的可視顯示,包括圖形用戶接口的各個部分。通過打印機30或類似部件可以提供所需信息的硬拷貝。網(wǎng)絡(luò)連接31對計算機提供對一個或更多的可充當網(wǎng)關(guān)、文件存儲系統(tǒng)、消息收發(fā)系統(tǒng)等的服務(wù)器的訪問。每個外圍部件12通過計算機上的一個或更多的輸入/輸出端口32與CPU 14通信。
用戶操作計算機的體驗的一個重要部分是用戶接口,即計算機通過顯示器部件28向用戶呈現(xiàn)信息的方式。在使計算經(jīng)歷盡可能對用戶友好并且直觀的努力中,許多計算機系統(tǒng)使用圖形用戶接口。圖形用戶接口可構(gòu)成計算機的操作系統(tǒng)的一項要素,如在Mac OS和微軟公司提供的視窗操作系統(tǒng)中那樣。在別的情況中,圖形用戶接口可能包括和操作系統(tǒng)交互或者和操作系統(tǒng)集成的獨立應(yīng)用程序。
大多數(shù)圖形用戶接口的基本組成部分之一是窗口。實質(zhì)上,窗口充當要對用戶呈現(xiàn)的特定類型數(shù)據(jù),例如字處理文檔中的正文、繪圖文檔中的圖形圖象或者因特網(wǎng)網(wǎng)頁的內(nèi)容的容器。正在計算機上執(zhí)行的每個不同的應(yīng)用程序在一個獨立窗口中呈現(xiàn)它的關(guān)聯(lián)數(shù)據(jù)。做為例子,圖2示出一個例子,其中在計算機上同時運行的三個應(yīng)用程序34,例如一個字處理程序,一個網(wǎng)瀏覽程序以及一個電子郵件程序。這些程序的部分或者全部代碼裝入到主存儲器16中以供CPU 14訪問。一旦這些程序之一具有要對用戶顯示的數(shù)據(jù),它對計算機的操作系統(tǒng)36發(fā)送一個要求供呈現(xiàn)該數(shù)據(jù)的窗口的請求。該請求提交到窗口管理器38,后者向顯示器驅(qū)動器40發(fā)送指令以在顯示器28上建立窗口結(jié)構(gòu)并且通知該應(yīng)用程序可以在其內(nèi)顯示它的數(shù)據(jù)的區(qū)域。
如果所有三個應(yīng)用程序同時在計算機上運行,可能顯示三個分別和這三個程序關(guān)聯(lián)的不同的窗口。在任何給定時刻,這些窗口中的一個是當前窗口,即與當前任務(wù)有關(guān)并且從鍵盤24和光標控制部件26接收用戶輸入的窗口。如果用戶為進行新任務(wù)點擊其它窗口中的一個,它變成當前窗口并且先前的當前窗口變成不當前。窗口管理器響應(yīng)光標控制部件26的動作以相應(yīng)地改變當前和非當前窗口的顯示,例如通過暗淡非當前窗口的特征或從它們的組成部分中去掉彩色,以及使當前窗口位于顯示器的前臺。此外,窗口管理器響應(yīng)其它用戶動作以便為每個窗口存儲數(shù)據(jù)。這樣,如果用戶重新定位窗口或者重新對窗口定尺寸,存儲該信息從而下次打開該窗口時它以用戶最后設(shè)定的尺寸和位置出現(xiàn)。
也可能在單個應(yīng)用程序的控制下打開幾個窗口。例如,如果用戶對字處理程序中的多個文檔進行工作,每個文檔在單獨的窗口中顯示。另外,可以在各個不同的窗口中顯示同一個文檔中的不同部分。因此,可能在計算機的顯示器28上打開大量的窗口,尤其是那些在他們的計算機上進行若干不同任務(wù)的用戶。圖3示出包含各種窗口的計算機顯示器的例子,這些窗口可以是一天中打開計算機進行所有任務(wù)的集累結(jié)果。
盡管由于其對用戶提供瞬刻訪問與若干不同任務(wù)關(guān)聯(lián)的信息同時在計算機顯示器上打開多個窗口是有好處的,但是在一些情況下這種顯示可能削弱用戶的感受。例如,多個打開的窗口可能抑制用戶導(dǎo)航到期望的某特定信息項的能力。更具體地,窗口是在分層環(huán)境下顯示的。每當打開一個新窗口時,它出現(xiàn)在顯示器的前臺,并且可能重疊或者完全遮擋其它窗口。類似地,當訪問先前打開的窗口并且使它變成當前窗口時,它出現(xiàn)在前臺并且可能也重疊或遮擋其它窗口。從而,最先訪問過的窗口會出現(xiàn)在所有其它窗口的“背后”,使用戶難以找到它。
當然用戶可以通過關(guān)閉所有在它的上面顯示的所有其它窗口定位一個期望的窗口。但是,這樣的動作可能違背用戶的意圖,因為關(guān)閉一個窗口可能實際上終止與該窗口中的信息關(guān)聯(lián)的任務(wù)。若該任務(wù)尚未完成,用戶可能不希望關(guān)閉該窗口。作為替代,用戶可以手動地移動所有窗口,或者把它們最小化到諸如停放塢(dock)的指定保持區(qū)中,或者隱藏所有正在運行的應(yīng)用。但是,每個這樣的動作造成工作環(huán)境的改變,這可能是不希望的。此外,用戶方以后的工作會要求把環(huán)境恢復(fù)到原始狀態(tài)下。
依據(jù)本發(fā)明,在一種用于選擇性地提供對要查看的打開窗口的“平化”(即虛擬二維)視圖的用戶接口中解決和窗口的激增相關(guān)的關(guān)注。通常,這種平化是通過把每個要查看的窗口定位到總顯示區(qū)的各自的部位上來實現(xiàn)的,并且還帶有任何為清除窗口的重疊而需要的重定尺寸。由此,用戶能整體查看每個感興趣的窗口。從這個視圖中,用戶能方便地定位和選擇在顯示器上打開的任何期望窗口。在進行選擇之后,顯示器返回到常規(guī)視圖,其中該選定的窗口出現(xiàn)在前臺,并且所有其它窗口位于它們先前的位置上。
在圖3-8描述的屏幕快照序列中說明利用本發(fā)明達到的效果。如前面指出那樣,圖3示出典型計算機顯示器的一個例子,其中包含各種打開窗口42-50。窗口42是當前窗口,并且因此出現(xiàn)在前臺中。由于顯示器呈現(xiàn)分層的窗口視圖,每個其它窗口44-50顯現(xiàn)成位于一個或更多的其它窗口的后面。從而,每個窗口的一個屬性是它相對于其它窗口的層或深度。在完成與窗口42關(guān)聯(lián)的任務(wù)之后,用戶可能希望訪問窗口46的內(nèi)容。出于說明的目的,可在窗口44的后面看到窗口46的外緣。但是,情況可能是窗口44比窗口46大,其結(jié)果是窗口46被完全擋著用戶看不到。
依據(jù)本發(fā)明,通過暫時地把窗口重新排列成虛擬的不分層或“平化”布局提高用戶訪問窗口46或者任何其它部分或全部被擋著的窗口的能力。為了啟動這種查看模式,在本發(fā)明的一個實施例中用戶可以激勵適當?shù)目刂圃珂I盤上的某預(yù)定鍵或鍵組合,窗口之一上的控制按鈕,菜單52中的選項等等?;蛘撸脩艨砂l(fā)出語音命令。在其它實施例中,指示進入該替代的查看模式可來自用戶之外的因素。例如,某程序可通過應(yīng)用編程接口(API)調(diào)用請求該模式。例如,響應(yīng)某種條件,操作系統(tǒng)、應(yīng)用程序或者計算機系統(tǒng)的其它組成部分可啟動該替代的查看模式。
當請求這種查看模式時,窗口從最初的圖3的分層視圖轉(zhuǎn)變成圖5的平化的或單層的視圖。圖4示出當窗口從圖3的多層視圖移動到圖5的虛擬單層視圖時的中間狀態(tài)??梢钥闯?,窗口彼此移開并且尺寸縮小。這種移動最好在可識別的時段內(nèi)出現(xiàn),從而用戶可以看出從分層視圖到平化視圖的轉(zhuǎn)變。在圖5中描述的最后階段中,每個窗口在顯示器的面積內(nèi)不重疊地,即它們的定位彼此排斥地,占據(jù)自己的空間。為了實現(xiàn)這種外觀,如果需要的話重新定位窗口并且減小尺寸。另外,最好使顯示器的桌面區(qū)51變暗以暗淡圖符以及其它背景對象,從而增亮要在此模式下查看的窗口。
從圖5的虛擬單層視圖中,用戶可以方便地選擇期望的窗口或者任何窗口中的某個對象。例如,用戶可能選擇窗口42中的某文件并把它拖到先前被遮擋的窗口46中的文件夾中。為了幫助辨別每個窗口,尤其當尺寸明顯縮小時,可以在光標所位于的窗口中拉出一個文本標記。該標記(未示出)可以顯示該窗口的標題或名字。
繼續(xù)該示例,用戶選擇了窗口46,這在圖6中通過光標的位置以及加陰影描述。做出該選擇之后,如圖7和8中所描述,根據(jù)窗口管理器38中保持的數(shù)據(jù)各窗口返回到原始尺寸和位置以便重新呈現(xiàn)分層的視圖。返回到分層視圖可以響應(yīng)選取某窗口自動實現(xiàn),或者可以是用戶方的確認動作,例如對用來啟動單層查看模式的鍵或按鈕的翻轉(zhuǎn)動作、從菜單選擇某命令、激勵用戶接口中的某控制元件等的結(jié)果。一旦返回到常規(guī)分層視圖,作為已由用戶選擇的結(jié)果該選定窗口46的深度屬性被改變,從而現(xiàn)在它出現(xiàn)在前臺中,使得用戶能方便地訪問該窗口的內(nèi)容。
本發(fā)明利用典型地把每個窗口的內(nèi)容緩存在與顯示器驅(qū)動器40關(guān)聯(lián)的存儲器中的事實。這樣,每個窗口的所有象素數(shù)據(jù)都可以作為被揭開的重疊窗口的部分顯示,從而避免從應(yīng)用34請求任何數(shù)據(jù),或者要使它們被替代的查看模式知曉。但是,即使不緩存全部窗口內(nèi)容,本發(fā)明的原理仍是可應(yīng)用的。在此情況下,可以調(diào)用各應(yīng)用以使各應(yīng)用在一旦重新定位它們的窗口后重新拉出這些窗口的內(nèi)容。
本發(fā)明的功能可以駐留在若干不同環(huán)境中。在圖2描述的示例計算機系統(tǒng)的情況下,它可結(jié)合在窗口管理器中。在其它情況中它可體現(xiàn)在操作用來展開應(yīng)用窗口或者其它用戶接口元件的獨立程序中,例如插入模塊。它還可存在于應(yīng)用程序中。
在本發(fā)明的一優(yōu)選實施例中,當用戶啟動單層查看模式時,例如通過按某個預(yù)定功能鍵,在后臺計算各個窗口的位置,同時窗口保持在它們的原始位置上。一旦確定出新位置,接著窗口從它們原始的分層位置在平穩(wěn)方式下移動到計算出的不分層位置上?,F(xiàn)參照圖9-13中描述的一個示例說明一種計算窗口的新位置的算法。在此例中,如圖9中所示,常規(guī)查看模式下三個窗口A、B或C彼此重疊。一旦用戶進行啟動虛擬單層查看模式的動作,該進程的第一步是定義在其中查看各窗口的區(qū)域。顯示器的總面積在圖9中用矩形S4表示。在一實施例中,允許各窗口覆蓋該整個面積是可接受的。但是在其它情況下,可能把各窗口限制在顯示器的某些部分之外是更恰當?shù)?。例如,可能希望所有時間都保持查看菜單欄52,而不是允許窗口覆蓋它。類似地,顯示器可能包含一個停放塢56,用于存放控制元件、最小化的窗口等。該停放塢可出現(xiàn)在顯示器的底部如圖9中示出那樣或者沿著一條邊,并且可能同樣希望所有時間都保持看到它。在考慮到這些事項的情況下,確定通過矩形58描述的邊界以定義允許窗口在其中移動的區(qū)域。
一旦確定邊界58,就確定每個窗口的目標位置。在本發(fā)明的一實施例中,該算法試圖在可能的范圍內(nèi)保持窗口的相對定位。從而在本實施例中對每對重疊的窗口建立一個向量來標識窗口彼此相對的期望移動。在圖9的例子中,向量VAC指示窗口A和C彼此的相對移動方向。該向量是通過在二個窗口各自的中心點CA和CC之間畫一條線建立的。在類似方式下,通過在其它每對重疊窗口的中心點之間畫線建立向量VAB和VBC。
對于每對窗口,確定水平方向以及垂直方向上的重疊量。在圖9的例子中,窗口A和B的水平重疊用ΔXAB標識,并且用ΔYAB標識垂直重疊。類似地,窗口A和C之間的重疊用ΔXAC和ΔXAC測量,窗口B和C之間的重疊用ΔXBC和ΔYBC測量。這些增量值表示為了消除重疊各個窗口必須彼此移開的距離。例如可以以象素為單位或者以任何其它適當?shù)亩攘繕藴蕼y量這些尺寸。
在本發(fā)明的一種實現(xiàn)中,最好沿著向量VAC、VAB等移動每個窗口,從而在可能的范圍內(nèi)保持它們的相對位置。與此目標相容,還希望為消除重疊最少量地移動窗口。例如參照圖10,可以看出二個窗口D和E在水平方向上具有大的重疊量ΔXDE,而在垂直方向上具有相對小的重疊量ΔYDE。例如,ΔXDE可以是20而ΔYDE可以是3。一旦這二個窗口垂直地彼此移開至少三個象素,它們之間進一步的相對移動不再需要,即使它們可能仍在水平方向上“重疊”,如圖11中所示。
為此,作為本發(fā)明的另一個特征,一旦確定ΔXDE以及ΔYDE的值,選擇二者中較小的值。接著作為該選定值和該向量的斜率的函數(shù),為這二個參數(shù)中的另一個計算出值。由此,在上面給出的例子中,其中ΔXDE=20和ΔYDE=3,如果假定向量VDE的斜率等于1.5,由于ΔYDE是二個值中較小的一個它保持它的實際值3,并把ΔXDE置為調(diào)整后的值3/1.5=2。
接著在每對窗口之間分配這些建立的增量值。再次參照圖9,假定對ΔXAC的調(diào)整值等于12象素。在一種方法下,可在二個窗口間相等地分配值。在此情況下,對窗口A分配ΔXA,C=-6的值,即向左移動六個單位,并對窗口C分配ΔXC,A=+6的值。在第一種方法下,和它的尺寸成反比地加權(quán)每個窗口的移動量,從而較大的窗口比較小的窗口移動少。如果窗口A的面積比窗口C的面積大三倍,則按1∶3的比率分配它們的相對移動。這樣,對窗口A分配ΔXA,C=-3的值,而對窗口C分配ΔXC,A=+9的值。
對于重疊窗口A和B,如果假定它們具有大致相等的面積,在它們之間相等地加權(quán)ΔX值。這樣,如果ΔXAB=30,對窗口A分配的值為ΔXA,B=-15,對窗口B分配的值為ΔXB,A=+15。
接著對給定窗口代數(shù)相加對它分配的所有ΔX值,以便計算該窗口的移動值。對于采用加權(quán)的情況,在前面的例子中用于窗口A的水平移動值ΔXA從而為-18。在相同的方式下確定垂直移動值ΔYA。在本情況中,窗口A和B之間的重疊在該值上的分量即ΔyA,B是正的,而對窗口A和C之間的重疊有貢獻的分量即ΔyA,C是負的。從而,該垂直移動量的合成量看來相當小。在類似方式下對每個窗口B和C計算水平和垂直移動值ΔX和ΔY。
然后利用算出的移動值確定各窗口的目標位置。以一種迭代方式進行各窗口目標位置的確定。為此,用一個適當?shù)倪m度因子乘以算出的ΔX和ΔY,并且根據(jù)這些適度量計算窗口的新位置。例如,如果該適度因子為0.5,在第一次迭代后這三個窗口中的每一個會移動為消除重疊所需的距離的一半,如圖12中所示。接著以循環(huán)方式重復(fù)上述步驟,直至消除掉或者至少基本消除窗口間的重疊??梢栽诿看蔚斜3衷撨m度因子不變,或者可以改變它以便在該過程期間改變窗口的移動速率。例如,在該過程開始時可以采用相對大的適度因子,然后在以后的迭代中減小,從而有效窗口移動相對快地啟動并且當它們接近最終狀態(tài)時減慢。相反,該適度因子可以從大到小改變,從而窗口移動緩慢開始,接著隨著重疊程度減少而加速。
還可以利用其它條件確定適當?shù)倪m度因子。例如,如果窗口間存在大的重疊量,例如由測出的增量值中的最大值所指示,可能最好從移動的小增量開始,從而保持相對定位。另一方面,極小的重疊量允許采用較大的適度因子,以減小定義目標位置所需的迭代次數(shù)。
作為另一個條件,可以考慮要重新定位的窗口的數(shù)目。如果窗口的數(shù)量少,例如二個或三個,可以從開頭采用較大的適度因子。相反,如果窗口的數(shù)量大,可能最好為較小的適度因子,以避免小窗口可能“蛙跳(leap frog)”過相鄰的窗口,尤其當采用加權(quán)時。
當對各窗口計算新位置時,它們中的一些會接近邊界58。參照圖13,數(shù)次迭代之后,窗口A和B超出邊界58的水平范圍。從而,為了最大地利用該指定的顯示區(qū),選擇性地對移動計算添加外力。為此,對所有窗口確定一個定界矩形59。該定界矩形59還包圍邊界58。這樣,當所有窗口包含在邊界58之內(nèi)時,定界矩形59與邊界58相鄰。但是,當為窗口算出的任何位置超出該邊界,如圖13所描述那樣時,該定界矩形不再和該邊界吻合。
每次迭代期間,比較定界矩形59的縱橫比和邊界58的縱橫比。在圖13的例子中,邊界58可能具有5∶3或1.67的縱橫比,而該定界矩形可能具有6∶3即2的縱橫比。相應(yīng)地,對每個超出邊界58的窗口的移動向量添加一個水平的外力值。在圖13的例子中,應(yīng)對窗口A的移動向量添加正值以迫使它向右,并且應(yīng)對窗口B的移動向量添加負的力值。該力的量可以是邊界58和定量矩形59的縱橫比中的差異的函數(shù)。
按適當?shù)牡螖?shù)進行上述處理,以便為每個窗口增量地計算平化查看模式下的目標位置。迭代次數(shù)可以是固定的,或者可以根據(jù)不同的因素改變。例如,一旦在所有窗口間消除重疊或者重疊達到一個適當?shù)臉O小值,例如小于窗口面積的1%,可以停止處理。作為另一個條件,可能希望根據(jù)時間限制該進程,從而用戶不必在輸入平化查看模式命令到啟動窗口移動之間等待過長。
可能在該進程的最后迭代之前窗口會到達“僵局”位置。例如,一次迭代期間某窗口可能輕微向左移動以減少和第二窗口的重疊。但是,這可能造成它和第三窗口重疊或者超出邊界,在這種情況它可能在下次迭代中間右移動。從而在僵局狀態(tài)下窗口可能簡單地原地跳動,而不是移動到非重疊位置。為了檢測這種情況,可以對最近迭代適當?shù)拇螖?shù),例如十次迭代,取每個窗口的位置的平均值。如果在隨后的迭代中該移動平均值不變,可以采取消除僵局的措施。例如,在致力于找到最優(yōu)位置的過程中可以減小外力以允許窗口更遠地移出邊界。
如圖9、12和13的例子示出那樣,如果窗口A和B保持原始尺寸,可能不能在把它們保持在邊界58內(nèi)的情況下完全地分開它們。因此,作為另一個步驟,如果需要可以縮小窗口的尺寸。圖14示出完成最后計算后各窗口的目的地位置。此刻,判定定界矩形59的任何尺寸是否大于邊界58的尺寸。若大于,按和這二個矩形的尺寸的比相對應(yīng)的量縮小各窗口的尺寸,如圖15中描述那樣。盡管可能只有一個窗口延伸超出邊界,最好對所有的窗口應(yīng)用該縮放因子,從而它們在單層模式中保持相同的相對尺寸。另外,該縮放應(yīng)成比例地應(yīng)用到水平和垂直二個方向上,從而保持窗口的外形即縱橫比。
一旦確定最終目的地和縮放因子,接著對各窗口重新定位和重新定尺寸(若需要)。最好在可覺察的時間內(nèi)用窗口從它們的原始位置轉(zhuǎn)變到目標位置及目標尺寸的動畫來出現(xiàn)這些動作。例如,可以在2-5秒的時間內(nèi)以線性方式出現(xiàn)移動和改變尺寸。這樣,對于用戶該迭代過程是透明的,并且只顯示從原始位置到替代視圖的平滑轉(zhuǎn)變。
圖16的流程圖概括在上面的處理中進行的一種總過程的實現(xiàn)。響應(yīng)步驟60中接收把顯示改變到平化查看模式的命令,在步驟62確定顯示區(qū)域的邊界58。該邊界可以在該步驟中計算,或者它可以是預(yù)先定義的,在此情況下于步驟62從存儲器檢索它。然后,在步驟64對每對重疊窗口產(chǎn)生重疊增量列表,并在步驟65判定所有增量是否都為零,即不存在重疊窗口,或者為某適當?shù)臉O小值。若是,則此刻可結(jié)束該重新定位過程。如果至少二個窗口重疊,在步驟66對每一對重疊窗口確定移動向量。根據(jù)該確定的向量,在步驟68選擇每對窗口的二個增量中的較小者,并在步驟70對另一個增量計算調(diào)整值。在步驟72,接著在每對窗口之間作為帶符號的值分配結(jié)果增量以指示右/左或上/下移動。在步驟74,比較邊界58和定界矩陣59的縱橫比。如果它們不相等,在步驟76為超出邊界的各窗口計算外力值。接著在步驟78檢查各窗口的移動平均值,以確定它們是否改變。如果否,在步驟80減小或去掉外力值。
接著在步驟82為每個窗口計算合成增量值,并且在步驟84根據(jù)適度因子縮放這些值以確定每個窗口的移動量和方向。
在步驟86把這些移動向量施加到當前窗口位置以確定新的目標位置,然后該進程返回到步驟64,為下次迭代測量窗口在新位置上的重疊量。通過每一步驟64-86循環(huán)該進程并且計算新的目標位置,直至在步驟65作出沒有重疊窗口的判斷或者達到某個其它終止條件。此刻,確定出目的地位置。
一旦以此方式計算出目的地位置,在步驟88比較定界矩形59和邊界58的尺寸。如果定界矩形尺寸之一超過該邊界時,在步驟90超出量被確定并用于計算縮放因子。接著,在步驟92,在顯示器上各窗口移動到目的地位置,并且如果需要根據(jù)該縮放因子同時改變尺寸。
但是,通過窗口管理器38保存窗口的原始位置和尺寸。隨后,當用戶發(fā)出返回到分層視圖的命令時,同樣最好在可覺察的時間內(nèi)窗口返回到它們的原始位置和尺寸。如果用戶在平化視圖中選擇了某特定窗口,窗口管理器相應(yīng)地改變各窗口的相對深度值,從而當窗口返回到原始位置時該選取的窗口出現(xiàn)在前臺中。如果該選取的窗口是某邏輯群的成員,最好把該群中的所有窗口帶有前臺。例如,一個窗口群可包括與某應(yīng)用關(guān)聯(lián)的所有窗口。另一種類型的群可以是一個主窗口以及任何和該主窗口關(guān)聯(lián)的次級窗口,例如工具選擇板,對話框等。
在此總框架內(nèi),若干變型是可能的。例如,可能希望對每個窗口添加邊界,從而當重新定位它們時保持它們之間的間隙。例如如圖17中所描述,可以對每個窗口96的邊緣添加由適當數(shù)量的象素構(gòu)成的邊界94。在此方面,最好還在邊界94上設(shè)置圓角,從而能使窗口96彼此對角線地滑過。該邊界可以是看不到的,或者可以對用戶顯示,例如,在每個窗口周圍呈現(xiàn)暈圈外觀。
作為另一個變型,試圖把來自相同應(yīng)用的窗口保持在一起是有用的,例如便利剪貼操作。為了達到這種結(jié)果,可以對這樣的窗口計算“吸引”因子。例如,可以在屬于相同應(yīng)用的每對窗口之間建立向量,并且可以計算會使它們沿該向量彼此對著移動的吸引值。該值可以是窗口間的距離的函數(shù),例如它們中心之間距離的十分之一。這包括在窗口的ΔX和ΔY值的代數(shù)相加中以計算窗口的合成移動值。
在圖3-8的例子中,響應(yīng)啟動平化查看方式的命令,顯示器上所有打開的窗口被重新定位以被看到并且全部可被訪問。在本發(fā)明的各種變型中,可以包括附加的命令以使得對用戶呈現(xiàn)打開窗口的子集。例如,激勵第一功能鍵能使得重新定位所有打開的窗口,如圖3-8中所示,而激勵第二功能鍵能使得只把與當前應(yīng)用關(guān)聯(lián)的那些窗口帶到前臺并且重新定位。在此情況下,與非當前應(yīng)用關(guān)聯(lián)的窗口保持在它們的原始位置,但它們在重新定位各當前窗口時是模糊的。
第三功能鍵可以和啟動“顯示桌面”查看模式的命令相關(guān)聯(lián)。在此模式的一實施例中,所有窗口顯現(xiàn)為滑出(slide off)顯示器,從而用戶可以訪問桌面上的圖符。例如,圖18示出窗口移出顯示器,從而桌面和它的圖符變成可看見。為了達到該結(jié)果,把邊界58處理為靜止窗口。接著執(zhí)行上面的算法以使所有其它窗口重新定位成消除與該靜止窗口的重疊,這造成它們移出顯示區(qū)。
“顯示桌面”查看模式便利桌面對象之間以及桌面對象和打開的窗口間的交互,為了說明,圖19a示意描述其中若干重疊窗口F-K遮擋桌面圖符100的情況。如果用戶希望訪問這些圖符中的一個,啟動“顯示桌面”查看模式,例如通過按并保持按下某預(yù)定鍵或鍵的組合。結(jié)果,各窗口移到邊界58的外面并且因此移動到查看區(qū)的外面,如圖19b中用虛線表示那樣。在此狀態(tài)下,用戶可以查看各桌面圖符100,選擇其中期望的圖符并且把它拖到桌面上的任何期望位置或者其它圖符上。一旦釋放該鍵,各窗口返回到視場中它們的原始位置上,即圖19a中示出的位置,其中各圖符重新被覆蓋。
在本發(fā)明的一優(yōu)選實施例中,用戶可以利用“顯示桌面”查看模式在各窗口和桌面上的各被擋區(qū)之間傳送信息。再次參照圖19b,如果用戶在拖著圖符100a時退出“顯示桌面”模式,例如通過釋放該第三功能鍵,該拖位的圖符保持在窗口的頂上可看見,如圖19c所描繪。在此語境下,術(shù)語“拖”并不必須意味在各窗口正返回到它們的原始位置時該圖符在移動。相反,用戶只需要繼續(xù)按鼠標按鈕或者進行類似的動作,以在退出“顯示桌面”模式時保持對該圖符的選擇。一旦窗口返回到它們的原始位置,用戶可以繼續(xù)把該圖符拖到任何期望的窗口,如圖19a中所示,并且把它放在該窗口的內(nèi)容中。盡管該示例中示出施動單個圖符,可以選擇多個桌面圖符并且作為一個組拖到某個窗口。
相反,在常規(guī)查看模式下,用戶可以選擇某打開的窗口中含有的對象100b并且開始拖動,如圖20a中所示。一旦在繼續(xù)拖著該對象時按某個鍵或者采取其它適當動作以啟動“顯示桌面”查看模式,各打開的窗口從視圖中消失,但該選取的對象100b保持可看到,如圖20b中所描繪。接著用戶可以把該對象拖到先前被各窗口擋住的桌面圖符100c上,例如盤驅(qū)動器上,如圖20c中所示。此后,各窗口返回到它們的常規(guī)位置,如圖20d中所描繪。
這樣,“顯示桌面”模式能使用戶從視圖暫時移開打開的窗口以便提供對被這些窗口擋住的桌面對象的訪問,并且然后使各窗口返回到它們的原始位置。在無須重新定位、改變尺寸或小型化各窗口的情況下容易完成該操作。換言之,不必干擾窗口環(huán)境就可實現(xiàn)桌面對象和窗口內(nèi)容之間的交互。
可以采用移開窗口以便揭示桌面的替代技術(shù)。例如,替代滑動屏幕,激勵第三功能鍵可以造成按此鍵時所有窗口瞬時隱藏或者緩慢從視圖中淡去。類似地,可以采用各種形式的三維動畫,例如整個屏幕繞某個軸虛擬轉(zhuǎn)動,從而造成看到的各窗口轉(zhuǎn)出視線的同時桌面視場轉(zhuǎn)入視線。
替代在“顯示桌面”模式下完全使各窗口移出視場,最好能在顯示器的邊界上保持可看到各個窗口的一條邊,或者通過標記或者沿著邊界拉出抽屜表示各窗口。只要“顯示桌面”方式提供其中窗口不遮擋各圖符100的臨時查看狀態(tài),就能促進窗口和桌面對象間的交互能力。
圖21示出該概念的一個例子。當用戶執(zhí)行進入“顯示桌面”模式的適當動作時,隨著各窗口向顯示器的各邊緣移動,半透明屏幕邊界102淡入視場。各窗口不全部離開顯示器屏幕。相反,每個窗口的一部分104保持可在邊界102的下面看到,以便用戶確認各窗口未消失。這例如可以通過定義邊界58和該邊界的內(nèi)部相鄰來實現(xiàn)。作為用來返回到常規(guī)視圖的任何其它機制的一種替代或補充,用戶可以在邊界104的區(qū)域上點擊,或者把一個對象例如圖符拖到該邊界,這造成各窗口返回到它們的原始位置上。
在上面示出的例子中,“顯示桌面”查看模式包含整個顯示器區(qū)。在一些情況中,可能最好只移動那些遮擋顯示器的預(yù)定部分的窗口。例如,如果用戶典型地把感興趣的圖符群集在特定區(qū)域中,例如在上左象限中或者沿著右邊緣,則不必必須移動出現(xiàn)在其它區(qū)域中的窗口。在此情況下,“顯示桌面”查看模式可能被配置成只移動那些出現(xiàn)在顯示器的指定部分中的窗口。這例如可以通過把定界矩形58的尺寸定成只覆蓋感興趣的區(qū)域而不是大部分或全部顯示器區(qū)域來實現(xiàn)。
盡管上面把功能鍵描述成是用于進入不同查看模式的機制,也可以采用若干不同的方法。圖22示出一種選擇面板或控制面板的例子,用戶可以通過它選擇適當機制。如在該面板的下部中所示,用戶已選擇鼠標右按鈕以選擇“所有窗口”模式,鍵盤上的左控制按鈕用于選擇“應(yīng)用窗口”模式,F(xiàn)10功能鍵用于選擇“顯示桌面”模式。
除了鍵和鼠標按鈕之外,用戶可以指定當前屏幕的各角以啟動查看模式。在操作中,當用戶把光標定位在顯示器屏幕的指示角之一上時,啟動選定的查看模式。在該示出的例子中,屏幕上左上角選取成用于“所有窗口”模式,而右上角被指定用于所有“應(yīng)用窗口”模式。在右下角顯示可用的選擇的菜單,從該菜單,用戶可以指定“桌面”方式或者不同類型的功能。使用當前屏幕各角的特殊優(yōu)點在于這樣的事實如果用戶試圖把一個對象例如一個圖符拖到一隱藏的窗口,通過把該對象拖到當前角上,顯示器會自動切換到單層模式,從而該隱藏的窗口會出現(xiàn)并且可把該圖符拖到它的上面。利用這種方法,在拖放操作期間用戶只需專心在一個部件即鼠標或其它光標控制部件上,并且按連續(xù)、自然的方式移動它。他或她不需要為激勵不同元件,例如鍵盤上的鍵,而中斷該操作。
用戶最好可以在不同的單層模式之間切換。例如,當在“應(yīng)用窗口”模式中時,用戶可以通過按適當?shù)逆I或者把光標移到屏幕的當前角上把顯示切換到“所有窗口”模式。當此發(fā)生時,暗淡到后臺中的窗口返回到它們的常規(guī)亮度值,并且根據(jù)前面的說明,所有窗口重新定位。在此情況下,已在前臺中的各個應(yīng)用窗口從它們在“應(yīng)用窗口”模式中的當前位置移動,而不是返回到啟動應(yīng)用模式前它們占據(jù)的原始位置上。類似地,如果用戶從其它單層模式之一選擇“桌面”模式,各窗口從它們在該其它模式中的當前位置移出屏幕。
當在“應(yīng)用窗口”模式下,用戶可以在目前正運行的不同應(yīng)用之間切換。圖23a示出一個含有若干與不同應(yīng)用關(guān)聯(lián)的打開窗口的顯示的例子。用“A”標記的窗口和一個應(yīng)用關(guān)聯(lián),用“B”標記的窗口與第二應(yīng)用關(guān)聯(lián),而標記著“C”的窗口屬于第三應(yīng)用。一旦按第二功能鍵或者另外激勵用于啟動“應(yīng)用窗口”模式的控制元件,與前臺應(yīng)用(本情況下即應(yīng)用A)關(guān)聯(lián)的各窗口重新定位并且按需要改變尺寸以在單層視圖中展示它們,如圖23b中所描繪。與其它應(yīng)用關(guān)聯(lián)的窗口以暗淡狀態(tài)在后臺中保持它們的原始位置,用虛線表示。
在此視圖下,如果用戶激勵某指定的控制元件,例如按“制表”鍵,顯示可以切換到那些與應(yīng)用A之前的最當前的應(yīng)用關(guān)聯(lián)的窗口。參照圖23C,用于應(yīng)用B的各窗口被帶有前臺,并且被重新定位和需要時改變尺寸。同時,屬于應(yīng)用A的窗口變暗淡。它們可保持在它們的單層位置上,而不是返回到圖23a的原始位置。每次相繼地激勵該控制元件造成按從最近被訪問到最先被訪問的次序或者按其它適當次序,循環(huán)顯示與各個打開的應(yīng)用程序關(guān)聯(lián)的窗口。這樣,如圖23d中所示,下一次按“制表”鍵造成在單層視圖中呈現(xiàn)應(yīng)用C的各窗口。也可以在“全部窗口”方式下操作同樣的控制元件,以使視圖切換到“應(yīng)用窗口”模式。
為了能實現(xiàn)上述功能,當選擇任一單層查看模式時,計算機最好在模態(tài)狀態(tài)下操作。在此狀態(tài)下,窗口管理器或者其它提供本發(fā)明的功能的進程接收來自所有事件,例如鍵盤導(dǎo)航、鼠標點擊等的事件管理器的通知。這些事件受它的控制,從而不干擾目前正在執(zhí)行的任何應(yīng)用程序的操作。這種控制狀態(tài)還允許操作系統(tǒng)處理拖放動作以及其它正在計算機系統(tǒng)中發(fā)生用戶接口型活動。
如前面指出那樣,當選擇“所有窗口”模式時,桌面區(qū)變暗淡,從而所觀察的窗口增亮。類似地,當選擇“應(yīng)用窗口”方式時,不與當前應(yīng)用關(guān)聯(lián)的窗口以及桌面區(qū)變暗??梢酝ㄟ^生成一個覆蓋整個邊界區(qū)58的并且具有可變暗度值的背景窗口實現(xiàn)這些暗淡化功能。把該窗口插到窗口序列中的適當級上以達到期望結(jié)果。例如,當選擇“所有窗口”模式時,該背景窗口插到最后級上,從而只遮擋桌面對象的視圖而不遮擋任何打開的窗口。在窗口重新定位和改變尺寸的動畫期間,該背景窗口的暗度值可以從0%的值轉(zhuǎn)變到60%的值。
對于“應(yīng)用窗口”模式,該背景窗口插在當前應(yīng)用窗口的各級之后的但在所有其它窗口之前的一級上。同樣,當重新定位應(yīng)用窗口時,暗度值可以從0%轉(zhuǎn)變到60%,或者任何其它適當?shù)闹怠?br>
當在“所有窗口”模式和“應(yīng)用窗口”模式之間切換時,最好使用二個背景窗口。例如,在“所有窗口”模式下,可用60%的暗度值顯示最后面的背景窗口。當接著選擇“應(yīng)用窗口”模式時,可以以0%的初始暗度值在應(yīng)用窗口的后面插入第二背景窗口。接著,隨著這二個模式之間發(fā)生過渡,可以在這二個背景窗口之間出現(xiàn)交叉減弱(cross-fade)。例如,后背景窗口淡出,從60%的暗度到0%的暗度,而前背景窗口從0%到60%淡入。這二個窗口的淡入/淡出率被協(xié)調(diào)成隨著非當前應(yīng)用窗口相對于當前應(yīng)用窗口的變暗,桌面的暗淡顯現(xiàn)成保持固定。類似地,當從“應(yīng)用窗口”模式過渡到“所有窗口”模式時,進行相反的操作,從而非當前窗口重新出現(xiàn)同時桌面保持固定的暗淡等級。
平化查看模式期間可能不需要在顯示器上出現(xiàn)某些類型的二次窗口。例如,在此模式下工具選擇板典型地將是不能選擇的。從而,在此情況下,可以從顯示空間去掉這種類型的窗口,同時在平化模式下重新定位和查看可選擇的主窗口。
在其它情況下,可能希望在顯示器上保留某些類型的二次窗口。例如,能查看從主窗口延伸的抽屜(drawer)可能是有用的。在此情況下,抽屜應(yīng)利用它從其延伸的主窗口來停留。為了達到這樣的結(jié)果,可以把主窗口和抽屜當成單個合成窗口對待,從而當進行重新定位時它們保持在一起。
在上面的例子中,在和互連重疊窗口的矢量對應(yīng)的方向上重新定位窗口,從而在可能的程度下保持它們的相對位置。在其它實現(xiàn)中,可以使用不同的規(guī)則確定窗口布局。例如,可以把最前面的窗口放在邊界區(qū)58的左上角。下一個深度級的窗口可以在它的緊右側(cè)或者在它的下方放置,從而在顯示器上按照它們的相對深度級按行或按列出現(xiàn)各窗口。對于這種方案,可以在顯示器上建立一個可見的或不可見的網(wǎng)格圖案,并且每個窗口的初始移動向量可以從窗口的位置延伸到網(wǎng)格中指定的單元。作為這種方法的一種變型,可以通過應(yīng)用對窗口分組,從而屬于某個應(yīng)用的各窗口出現(xiàn)在左上角,用于另一個應(yīng)用的窗口出現(xiàn)在右上角,等等。
如前面指出那樣,本發(fā)明不限于在圖形用戶接口中顯示窗口。相反,它可以應(yīng)用于任何類型的、能由其它對象遮擋的對象。例如,它可用于對文件夾中的圖符或小塊圖象重新定位,從而用戶可以定位并選擇它們之中的任何期望的一個。它還可應(yīng)用于不同類型的對象,例如菜單、圖符、窗口、控制帶等的組合,從而用戶可以同時全部查看它們。
另外在此方面,重新定位對象以便可以同時全部查看它們的能力不受出現(xiàn)在計算機顯示器上的對象的限制。它還可應(yīng)用于打印圖象。例如,可以利用它排列要打印在單頁上的多個攝影圖像。
從而概言之,可以看出本發(fā)明的用戶接口提供一種訪問同時向用戶呈現(xiàn)的若干對象的任一對象的有效機制。通過在顯示器或頁面上把對象重新定位到相互排斥的區(qū)域上,并且當為此需要時改變它們的尺寸,本發(fā)明能使用戶方便地確定每個這樣的對象的內(nèi)容。當各對象處于平化查看模式下時,用戶可以從中選擇任何希望的一個。在窗口情況下,當顯示器返回常規(guī)查看模式時,該選取的窗口變成當前窗口。另外,盡管所有對象是可同時訪問的,用戶也可以進行其它類型的操作,例如對電子郵件消息從一個窗口向另一個可能在別的情況下被隱藏的窗口拖放附件。類似地,用戶可以關(guān)閉任何可能不再需要的窗口,或者使目前不需要打開的窗口最小化。
業(yè)內(nèi)人士會理解,在不背離其精神或基本特征的情況下,可以以其它專用形式實現(xiàn)本發(fā)明。從而目前公開的各實施例在所有方面上是看成是示意性的而不是限制性的。本發(fā)明的范圍是通過附后權(quán)利要求書指示的,而不是由上述說明指示的,并且所有包含在權(quán)利要求書的含意以及等同范圍內(nèi)的改變都包括在其中。
權(quán)利要求
1.一種在用于計算機的用戶接口中顯示對象的方法,包括步驟在分層視圖中顯示各對象,其中至少一個對象可重疊另一個對象并且可遮擋所述另一個對象的內(nèi)容的至少一部分;響應(yīng)第一命令切換到不重疊視圖,其中不重疊地顯示預(yù)定的對象組,同時保持它們的相對尺寸和形狀;以及響應(yīng)用戶動作返回到所述分層視圖。
2.權(quán)利要求1的方法,其中切換到不重疊視圖的步驟包括重新定位所述組的所有對象以便它們出現(xiàn)在顯示器的各自的區(qū)域中。
3.權(quán)利要求2的方法,其中所述重新定位步驟包括在可覺察的時間內(nèi)把所述對象從它們的原始位置移動到所述各自的區(qū)域中,以建立動畫效果。
4.權(quán)利要求3的方法,還包括當各對象被移動時使該用戶接口的桌面部分變暗淡的步驟。
5.權(quán)利要求2的方法,其中該切換步驟還包括改變對象的尺寸的步驟,從而在該不重疊視圖中所述組的所有對象出現(xiàn)在該顯示器的規(guī)定邊界區(qū)內(nèi)。
6.權(quán)利要求5的方法,其中按照公共因子改變所有重新定位的對象的尺寸,以便保持它們的相對尺寸以及縱橫比。
7.權(quán)利要求1-6中任一權(quán)利要求的方法,其中所述對象包括各窗口。
8.權(quán)利要求7的方法,其中所述窗口組包括所有正在顯示的打開的主窗口。
9.權(quán)利要求7或8的方法,還包括在顯示所述不重疊視圖時,把一個非窗口對象從所述窗口組中的一個窗口拖到所述窗口組中的另一個窗口的步驟。
10.權(quán)利要求7或8的方法,還包括響應(yīng)呈現(xiàn)桌面視圖的第二命令,把所有窗口移出所述顯示區(qū)域的步驟。
11.權(quán)利要求1-6中任一權(quán)利要求的方法,其中所述對象包括圖符。
12.權(quán)利要求1-6中任一權(quán)利要求的方法,其中所述對象包括圖象。
13.權(quán)利要求1-6中任一權(quán)利要求的方法,其中所述組包括顯示器上所有彼此相關(guān)的對象的子組。
14.權(quán)利要求13的方法,其中所述相關(guān)的對象是與一個共同的應(yīng)用程序關(guān)聯(lián)的各窗口。
15.權(quán)利要求14的方法,還包括響應(yīng)在不重疊視圖下發(fā)出的預(yù)定命令,重新定位并且顯示與一個不同的應(yīng)用程序關(guān)聯(lián)的不同窗口組的步驟。
16.權(quán)利要求14的方法,還包括使不相關(guān)的打開窗口保持在它們的原始位置上的步驟。
17.權(quán)利要求16的方法,還包括使所述不相關(guān)的窗口的顯現(xiàn)變暗淡的步驟。
18.權(quán)利要求2的方法,還包括步驟在替代視圖中檢測指示選擇所述重新定位的對象之一的用戶動作;以及一旦使各對象返回到它們的原始位置,在顯示器的前臺顯示該選定的對象。
19.權(quán)利要求2的方法,其中所述重新定位步驟包括步驟建立用于指示二個重疊對象的相對位置的向量,以及根據(jù)所述向量為所述重疊對象確定移動方向。
20.權(quán)利要求19的方法,其中利用每次迭代期間確定的移動方向和移動量,以迭代方式重新定位所述對象。
21.權(quán)利要求20的方法,其中每次迭代包括以下步驟為每個要重新定位的對象確定移動方向和移動量;通過適度因子縮放移動量;以及按所述縮放量移動各對象。
22.權(quán)利要求20的方法,其中為各次迭代改變該適度因子。
23.權(quán)利要求21的方法,還包括計算用于把各對象保持在邊界區(qū)內(nèi)的外力因子并且把所述外力因子加到移動量上的步驟。
24.權(quán)利要求20的方法,還包括步驟判定上次迭代后對象是否位于所限定的邊界區(qū)的之外,以及如果它們位于該邊界區(qū)之外,則改變對象的尺寸以使其位于所述邊界區(qū)內(nèi)。
25.權(quán)利要求1的方法,其中所述用戶動作是選擇一個對象。
26.權(quán)利要求1的方法,其中所述用戶動作是發(fā)出第二命令。
27.權(quán)利要求1的方法,其中所述用戶動作是把光標定位到顯示器的預(yù)定區(qū)域中。
28.權(quán)利要求27的方法,其中所述區(qū)域是顯示器的預(yù)定角。
29.權(quán)利要求1的方法,其中通過程序發(fā)出所述命令。
30.權(quán)利要求29的方法,其中所述程序響應(yīng)于對規(guī)定條件的檢測發(fā)出命令。
31.一種用于計算機的具有第一模式和第二模式的圖形用戶接口系統(tǒng),其中在第一模式中,在其中一個對象可以和另一個對象重疊并且可以遮擋該另一個對象的至少一部分內(nèi)容的位置,于分層環(huán)境中顯示多個對象,而在第二模式中,所述多個對象暫時地從它們在所述第一模式中的位置移動到顯示器的各個區(qū)域,從而可見所述多個對象的每個對象的內(nèi)容而不重疊,同時保持所述多個對象的相對尺寸和形狀,然后返回到它們在所述第一模式中占據(jù)的位置。
32.一種計算機系統(tǒng),包括一個顯示部件;以及如權(quán)利要求31的圖形用戶接口系統(tǒng)。
33.權(quán)利要求31或32的系統(tǒng),其中所述對象包括各窗口。
34.權(quán)利要求31或32的系統(tǒng),其中所述對象包括窗口和其它用戶接口元件的組合。
35.一種包含實現(xiàn)權(quán)利要求31、33或34的用戶接口系統(tǒng)的計算機程序的計算機可讀媒體。
36.權(quán)利要求35的計算機可讀媒體,其中所述程序包括用于所述計算機系統(tǒng)的操作系統(tǒng)程序的組成部分。
37.權(quán)利要求35的計算機可讀媒體,其中所述程序包含在所述計算機系統(tǒng)上執(zhí)行的應(yīng)用程序中。
38.權(quán)利要求35的計算機可讀媒體,其中所述程序包含在和所述計算機系統(tǒng)的操作系統(tǒng)合作的插入模塊中。
39.一種促進計算機用戶接口的桌面上和窗口中顯現(xiàn)的對象之間的交互性的方法,包括步驟在第一視圖中顯示一個或更多的窗口,以便各窗口可遮擋用戶查看該用戶接口的桌面上的各對象;響應(yīng)第一用戶命令,暫時地把各窗口從遮擋位置移動到第二視圖中;響應(yīng)用戶的第二命令,使各窗口返回到它們在所述第一視圖中的原始位置上;在分別顯示第一或第二視圖時從一個窗口或者從桌面選擇一個對象;以及在切換到所述第一或第二視圖的另一視圖后,分別把所述選定的對象放在該桌面上或者放在所述窗口之一中。
40.權(quán)利要求30的方法,其中暫時移動窗口的步驟包括步驟顯示沿著該桌面的至少一條邊的邊界區(qū),以及移動窗口以定位在所述邊界區(qū)內(nèi)。
41.權(quán)利要求40的方法,其中返回窗口的步驟是通過把選定的桌面對象拖到所述邊界區(qū)來啟動的。
42.一種在用于計算機的圖形用戶接口中顯示窗口的方法,包括步驟顯示多個分別與計算機上運行的不同應(yīng)用關(guān)聯(lián)的窗口;響應(yīng)呈現(xiàn)替代視圖的命令,重新定位那些與所述應(yīng)用中的一個應(yīng)用關(guān)聯(lián)的窗口,從而它們在顯示器的前臺中彼此不重疊地出現(xiàn)在該顯示器的各個區(qū)域中;以及然后響應(yīng)用戶動作使這些窗口返回到它們的原始位置。
43.權(quán)利要求42的方法,還包括使與所述一個應(yīng)用之外的其它應(yīng)用關(guān)聯(lián)的窗口的顯現(xiàn)變暗淡的步驟。
44.權(quán)利要求43的方法,其中所述一個應(yīng)用是在發(fā)出所述命令時的當前的應(yīng)用。
45.權(quán)利要求44的方法,還包括步驟響應(yīng)在重新定位與所述一個應(yīng)用關(guān)聯(lián)的所述窗口的期間用戶的另一個動作,重新定位與第二應(yīng)用關(guān)聯(lián)的那些窗口,使得它們在顯示器的前臺中出現(xiàn)在該顯示器的各個區(qū)域中而不重疊;以及使與所述一個應(yīng)用關(guān)聯(lián)的窗口變暗淡。
全文摘要
一種人機接口,提供在便利于多個彼此重疊的對象(42-50)中導(dǎo)航的方式下管理計算機顯示器(28)的可使用空間。該接口包括用戶可選擇的模式(圖5),在此模式下重新排列各窗口并且若需要改變窗口的尺寸,由此可以在顯示區(qū)內(nèi)同時查看所有打開的窗口,從而能方便地選擇訪問任何一個窗口。實際上,各窗口的呈現(xiàn)是“平化的”,從而所有窗口在相同的虛擬深度下出現(xiàn)而不是彼此重疊。利用此方法,不必為了訪問被另一個重疊的窗口而小型化各窗口,從而用戶能保持可看到并可訪問所有窗口的內(nèi)容。在此方式下可以重新定位窗口子集(圖23b),或者可以從顯示區(qū)移開所有窗口以便訪問桌面對象(圖20b)。
文檔編號G09G5/00GK1826575SQ200480021063
公開日2006年8月30日 申請日期2004年6月21日 優(yōu)先權(quán)日2003年6月20日
發(fā)明者巴斯·奧丁, 約翰·勞馳 申請人:蘋果電腦有限公司