專利名稱:可滾動的菜單以及工具欄的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖形用戶界面中菜單或工具欄選項的呈現(xiàn)。特別地,本發(fā)明涉及呈現(xiàn)滾動通過特定位置的多個選項,在該特定位置處可以選擇選項。
背景技術(shù):
計算機應(yīng)用的用戶界面經(jīng)常提供大量命令或用戶界面工具以供用戶選擇。例如, 許多應(yīng)用包括下拉菜單。這種菜單經(jīng)常包括命令列表。存在諸如打開文件、打印文檔、保存文檔等的標(biāo)準(zhǔn)命令,以及諸如插入分頁符(用于文字處理應(yīng)用)、設(shè)計單元格式(用于電子表格應(yīng)用)等的更多專用命令。許多應(yīng)用還包括工具欄或工具選項板。例如,許多計算應(yīng)用在其用戶界面的頂部具有一行或多行工具欄。工具欄包括各種類型的工具。繪圖應(yīng)用具有繪圖工具,視頻編輯應(yīng)用具有視頻編輯工具,等等。一些應(yīng)用還具有浮動工具選項板。例如,一些視頻編輯應(yīng)用包括浮動修剪工具選項板,其允許用戶在用于視頻編輯的各種不同修剪工具之間進(jìn)行選擇。這種工具欄、工具選項板以及下拉菜單可以在圖形用戶界面中占據(jù)重要的實際地位。此外,這種菜單和工具欄中的項目的數(shù)量受屏幕空間的限制。例如,用戶不想要占據(jù)屏幕太多空間的浮動工具選項板。向工具選項板添加的選項越多,工具選項板就必須變得越大或者選項的尺寸就必須變得越小。就像工具選項板的尺寸只可以增大到一定點一樣,選項的尺寸也只可以在它們變得難以辨別之前減小到一定點。由此,需要有方法來顯示在將選項保持在視覺上可識別的尺寸的同時不占據(jù)大量屏幕空間的工具欄或菜單。
發(fā)明內(nèi)容
本發(fā)明的一些實施例提供了一種新穎的用于在圖形用戶界面中呈現(xiàn)菜單的方法。 菜單包括多個可選菜單項,該多個可選菜單項被布置為基于用戶輸入以特定順序滾動通過選擇窗口。在一些實施例中,菜單項中的每一個都與命令相關(guān)聯(lián)。當(dāng)菜單項位于選擇窗口中時,用戶可以選擇菜單項,以便執(zhí)行與該菜單項相關(guān)聯(lián)的命令。在一些實施例中,菜單項可以被顯示為標(biāo)準(zhǔn)文本項目(例如,“文件”、“保存”、“打印”等),或者可以被顯示為圖標(biāo)(例如,表示諸如繪圖工具、視頻編輯工具等的各種工具的圖標(biāo))。菜單項在菜單內(nèi)被排序(例如,第一菜單項被布置為第二菜單項左側(cè)的一個菜單項)。不同實施例使用不同技術(shù)確定這種順序。例如,在一些實施例中,順序是由用戶、隨機處理、和/或使用該菜單的操作系統(tǒng)或程序的開發(fā)者來定義的。在一些實施例中,順序還可以基于使用統(tǒng)計、比較經(jīng)常選擇的喜歡的菜單項而改變。選擇窗口是指示器(例如,突出顯示,框,等),其指示當(dāng)前可以選擇特定菜單項。 在一些實施例中,當(dāng)菜單項滾動通過時,選擇窗口為靜止的或者近似靜止的。在菜單中,菜單項的順序是菜單項響應(yīng)于用戶輸入而滾動通過選擇窗口的順序。然而,當(dāng)初始呈現(xiàn)菜單時,初始顯示在選擇窗口中的菜單項不需要是該順序中的第一菜單項(即,最左側(cè)的菜單項、最上面的菜單項,等)。在菜單項可以沿著兩個方向(例如,左和右、上和下)滾動時,一些實施例初始將位于順序的中間的菜單項顯示在選擇窗口中。在一些實施例中,根據(jù)項目如何被排序,滾動的屬性可以具有兩種不同形式。在一些情況下,菜單項不能滾動超過順序中的第一個項目和最后一個項目。然而,在其它情況下,當(dāng)菜單項的排序僅是相對彼此地定義時,項目可以以循環(huán)的方式連續(xù)滾動,并且僅僅就存在初始顯示在選擇窗口中的項目來說,存在第一個項目。在這些情況中的任何一種情形中,一些實施例以如下的方式將菜單項滾動通過選擇窗口,該方式為菜單項的數(shù)量不受圖形用戶界面中的空間限制。例如,一些實施例只顯示當(dāng)前位于選擇窗口中的菜單項以及位于選擇窗口的任一側(cè)的菜單項的一部分。一些實施例在選擇窗口的任一側(cè)顯示少量菜單項,其中實際上不在選擇窗口中的項目被顯示為部分淡化。當(dāng)菜單項滾動通過選擇窗口時,新的項目出現(xiàn)在顯示器中,而之前顯示的項目消失。在不同實施例中,顯示出的菜單的形狀也不同。一些實施例以線形形狀顯示菜單, 其中菜單項在一維上(例如,水平或垂直)滾動。其它實施例將菜單顯示為半圓形,其中菜單項沿著該半圓形滾動。菜單項的其它非線形配置也是可能的。由于一些實施例將菜單固定地顯示在設(shè)定的位置,而其它實施例需要用戶輸入以便調(diào)用菜單的顯示,因此不同的實施例中也可能不同地呈現(xiàn)菜單。例如,該菜單可能在媒體編輯應(yīng)用中是在該應(yīng)用的用戶界面中占據(jù)了特定位置的工具欄,或者在操作系統(tǒng)中是通過鍵擊調(diào)用的菜單。不同實施例提供用于導(dǎo)航通過菜單項的不同方案。在一些實施例中,用戶可以點擊在選擇窗口的任一側(cè)所顯示的項目之上,以便使菜單順序中的下一個項目移動到選擇窗口中??商娲鼗蛘吲c之結(jié)合地,在一些實施例中,用戶可以通過利用各種形式的滑動或揮動輸入(例如,拖拽鼠標(biāo))來滾動菜單項。在一些情況下,菜單項被顯示為以大的可辨別的步伐移動,而在其它情況下,項目被顯示為以小的步伐移動,這些小的步伐使該移動看上去流暢。當(dāng)可選菜單項被布置在選擇窗口中時,用戶可以選擇菜單項,以便使與所選菜單項相關(guān)聯(lián)的指令被執(zhí)行。在一些實施例中,指令可以激活特定工具(例如,如果菜單是一組視頻編輯工具),可以使命令(例如,保存文件、打印文檔等)被執(zhí)行,或者可以打開子菜單。 在一些實施例中,與之前的菜單垂直地打開子菜單。例如,當(dāng)初始菜單中的菜單項水平滾動通過選擇窗口時,一些實施例打開子菜單,以使得子菜單中的菜單項垂直滾動通過選擇窗不同的實施例使得用戶能夠以不同方式選擇位于選擇窗口中的菜單項。在一些實施例中,用戶點擊或者雙擊選擇窗口中的菜單項。在其它實施例中,用戶通過在菜單項正在滾動通過選擇窗口的同時簡單地釋放鼠標(biāo)按鈕,來選擇該項目。對于打開子菜單的菜單項, 當(dāng)該菜單項進(jìn)入選擇窗口時,一些實施例自動打開子菜單。
在所附權(quán)利要求中闡明了本發(fā)明的新穎的特征。然而,出于解釋的目的,在下面的附圖中闡明本發(fā)明的幾個實施例。圖1示出了包括8個菜單項的菜單。圖2示出了根據(jù)本發(fā)明一些實施例的圖1的菜單的顯示和使用。
圖3概念地示出了用于顯示菜單和接收用戶與菜單的交互的一些實施例的過程。圖4概念地示出了用于基于來自光標(biāo)控制器的單擊輸入導(dǎo)航菜單的一些實施例的過程。圖5示出了根據(jù)圖4的過程的菜單的導(dǎo)航。圖6概念地示出了用于基于來自光標(biāo)控制器的點擊和拖拽輸入導(dǎo)航菜單的一些實施例的第一過程。圖7示出了根據(jù)圖6的過程的菜單的導(dǎo)航。圖8概念地示出了用于基于來自光標(biāo)控制器的點擊和拖拽輸入導(dǎo)航菜單的一些實施例的第二過程。圖9示出了根據(jù)圖8的過程的菜單的導(dǎo)航。圖10概念地示出了用于基于來自光標(biāo)控制器的點擊和拖拽輸入導(dǎo)航菜單的一些實施例的第三過程。圖11示出了根據(jù)圖10的過程的菜單的導(dǎo)航。圖12示出了一些實施例的菜單和子菜單的導(dǎo)航的例子。圖13示出了一些實施例的菜單,在用戶滾動通過該菜單時,該菜單將主顯示之外的菜單項顯示為淡化。圖14示出了一些實施例的半圓形菜單的打開。圖15示出了圖14的菜單的導(dǎo)航以及來自該菜單的項目的選擇。圖16示出了包括打開子菜單的菜單項的半圓形菜單的例子。圖17示出了一些實施例的圓形菜單的打開。圖18示出了在子菜單已經(jīng)在選擇窗口的上方和下方垂直打開之后被部分淡化的圓形菜單。圖19示出了顯示一些實施例的操作系統(tǒng)的各個特征的計算機桌面。圖20示出了用于創(chuàng)建合成視頻呈現(xiàn)并且使用一些實施例的菜單的視頻編輯應(yīng)用。圖21示出了正在顯示使用一些實施例的菜單的網(wǎng)頁瀏覽器的手持設(shè)備。圖22概念地示出了用于呈現(xiàn)菜單的一些實施例的應(yīng)用的軟件架構(gòu)。圖23概念地示出了用于制造存儲計算機程序的計算機可讀介質(zhì)的一些實施例的過程。圖M概念地示出了計算機系統(tǒng),采用該計算機系統(tǒng)來實現(xiàn)本發(fā)明的一些實施例。
具體實施例方式在下面的說明中,出于解釋的目的,闡述了大量細(xì)節(jié)。然而,本領(lǐng)域技術(shù)人員將認(rèn)識到,在不使用這些特定細(xì)節(jié)的情況下,也能夠?qū)嵤┍景l(fā)明。例如,應(yīng)用的一些部分涉及接收來自鼠標(biāo)的輸入的例子。本領(lǐng)域技術(shù)人員將認(rèn)識到,可以從其它光標(biāo)控制器接收類似輸入,或者甚至在沒有光標(biāo)的情況下從觸摸屏也可以接收類似輸入。本發(fā)明的一些實施例提供了一種新穎的用于在圖形用戶界面中呈現(xiàn)菜單的方法。 菜單包括多個可選擇的菜單項,該菜單項被布置為基于用戶輸入以特定順序滾動通過選擇窗口。在一些實施例中,菜單項中的每一個與命令相關(guān)聯(lián)。當(dāng)菜單項位于選擇窗口中時,用戶可以選擇該菜單項,以便執(zhí)行與該菜單項相關(guān)聯(lián)的命令。在一些實施例中,菜單項可以被顯示為標(biāo)準(zhǔn)文本項目(例如,“文件”、“保存”、“打印”等),或者可以被顯示為圖標(biāo)(例如,表示諸如繪圖工具、視頻編輯工具等的各種工具的圖標(biāo))。圖1示出了包括8個菜單項101-108的菜單100。菜單項101-108從第一個項目 A(IOl)至最后的項目H(IOS)進(jìn)行排序。這意味著,例如,在菜單中,項目C(103)將出現(xiàn)在項目B(102)之后(例如,其右側(cè))并且在項目D(104)之前(例如,其左側(cè))。不同的實施例采用不同的技術(shù)來確定這種順序。例如,在一些實施例中,可以由用戶、隨機處理、和/或使用該菜單的操作系統(tǒng)或程序的開發(fā)者定義該順序。在一些實施例中,順序還可以基于使用統(tǒng)計、比較經(jīng)常選擇的喜歡的菜單項而改變。例如,如果項目C(KXB)從未被選擇過,則它可能被移動到該順序中的項目H(IOS)之后。圖2示出了根據(jù)本發(fā)明的一些實施例的菜單100的顯示和使用。圖2示出了處于初始階段210以及兩個可能的第二階段220和230的菜單100,處于初始階段210時,菜單 100在選擇窗口中具有初始項目,并且處于兩個可能的第二階段220和230時,菜單100在選擇窗口中具有不同的項目。如在階段210示出的,菜單100的顯示包括選擇窗口 205。選擇窗口是指示器(例如,在這個例子中為突出顯示),其指示當(dāng)前可以選擇特定菜單項。當(dāng)初始呈現(xiàn)菜單時,初始被顯示在選擇窗口中的菜單項不需要是順序中的第一個菜單項。事實上,如在階段210示出的,對于菜單100,顯示在選擇窗口 205中的初始菜單項是第四菜單項104,其接近用于菜單100的順序的中間。階段220和230示出了菜單100在兩個可能的方向上滾動通過選擇窗口 205。階段220示出了用于向右滾動通過菜單100的用戶輸入的結(jié)果,由此將項目C(KXB)從左側(cè)帶入選擇窗口 205中,并且將項目D (104)向右移動到大部分位于顯示之外。類似地,階段230 示出了用于向左滾動通過菜單100的用戶輸入的結(jié)果,由此將項目E (105)從右側(cè)帶入選擇窗口 205中,并且將項目D(104)向左移動到大部分位于顯示之外。本領(lǐng)域技術(shù)人員將認(rèn)識到,盡管示例菜單100左右滾動,但是一些實施例將具有上下的主滾動方向,將對角線地滾動?等等ο圖3概念地示出了一些實施例的用于顯示菜單并接收用戶與菜單的交互的過程 300。如所示出的,過程300從接收(在305)構(gòu)成菜單的一組菜單項(諸如菜單項101-108) 開始。由于以項目的數(shù)量不受圖形用戶界面中的空間的限制的方式來顯示菜單,因此這組菜單項可以包括任意數(shù)量的項目。然后,過程300確定(在310)對于菜單項的順序。如上所述,該順序可以由軟件設(shè)計者編碼,由用戶確定,通過使用統(tǒng)計來確定,等等。接著,該過程確定(在31 將被顯示在選擇窗口中的初始菜單項。很像菜單項的順序一樣,一些實施例基于編碼的指令、用戶輸入、使用統(tǒng)計等來確定初始菜單項。接著,該過程顯示(在320)在選擇窗口中具有初始項目的菜單。顯示菜單不必包括顯示所有菜單項;如圖2所示,一些實施例一次僅顯示一個完整的菜單項,這使得菜單能夠包括無限數(shù)量的項目,因為添加更多的菜單項不會使菜單占用任何更多的空間。一些實施例在選擇窗口的任一側(cè)顯示少量菜單項,其中不在選擇窗口中的那些項目被顯示為部分淡化。例如,在圖2的階段210,這種實施例可能將項目B(102)和項目C(103)顯示在選擇窗口 205的左側(cè)(以及也將項目顯示在右側(cè)),但是將這些項目顯示為部分透明,以便指示它們不在選擇窗口中。接下來,過程300確定(在32 是否已經(jīng)接收到任何輸入。可以通過光標(biāo)控制器 (例如,拖拽、擦(scrubbing)、點擊等)或通過鍵盤(例如,按下方向鍵、Enter鍵等)接收輸入,該光標(biāo)控制器諸如為鼠標(biāo)、跟蹤板、觸摸板等。當(dāng)沒有接收到輸入時,過程進(jìn)行到下面描述的355。否則,過程確定(在330)該輸入是否用于滾動通過菜單。在下面的部分中,進(jìn)一步詳細(xì)描述用于滾動通過菜單的不同類型的輸入,諸如利用光標(biāo)控制設(shè)備進(jìn)行拖拽。當(dāng)該輸入用于滾動通過菜單時,過程顯示(在33 菜單的滾動,然后進(jìn)行到下面描述的355。在一些實施例中,當(dāng)菜單項滾動通過時,選擇窗口不移動。一些實施例以恒定速率將菜單項滾動通過選擇窗口,而其它實施例將菜單項以大的可辨識地離散的步伐跳入選擇窗口中。此外,在一些實施例中,菜單項以恒定速率滾動,但是選擇窗口在其初始位置的閾值距離內(nèi)移動,從一個項目跳到下一個項目。在下面的部分中,進(jìn)一步詳細(xì)描述不同的菜單滾動顯示。在一些實施例中,在菜單順序的邊界處的滾動的屬性可以具有兩種不同形式中的一種。在一些情況下,該順序具有被定義的第一個項目和最后一個項目,并且項目不能滾動超過這些端點項目。例如,如果菜單100以這種方式布置,那么當(dāng)用戶滾動菜單以使得項目 A(IOl)位于選擇窗口 205中時,將不會有項目被部分地顯示在項目A(IOl)的左側(cè)。另一方面,在一些實施例中,菜單項的排序僅是相對的。在這種情況下,以沒有開頭或結(jié)尾的環(huán)的形式來排序這些項目,并且由此可以以循環(huán)的形式連續(xù)地滾動通過這些項目。如果菜單 100以這種方式布置,那么當(dāng)用戶滾動菜單以使得項目A(IOl)位于選擇窗口 205中時,項目 H(IOS)會被部分顯示在左側(cè),并且將菜單向右滾動會將項目H(IOS)帶入選擇窗口 205中。當(dāng)所接收的輸入不是用于滾動通過菜單時,過程300確定(在340)該輸入是否用于選擇菜單項。用于選擇菜單項的輸入可以具有點擊、雙擊、光標(biāo)控制器按鈕的釋放等的形式。當(dāng)所接收的輸入用于選擇菜單項時,過程顯示(在34 該選擇。例如,一些實施例將除所選項目之外的所有菜單項漸隱,或者將該菜單項顯示為閃爍。然后,該過程執(zhí)行(在350)與所選菜單項相關(guān)聯(lián)的指令,并且結(jié)束。菜單項可以致使所有不同類型的指令被執(zhí)行。菜單項可以表示不同的視頻編輯工具(或者任何其它類型的用戶界面工具),諸如刀片(blade)、波紋以及滑動工具。菜單還可以是子菜單和命令 (例如,保存文件、打印文檔等)的列表。在一些實施例中,與之前的菜單垂直地打開子菜單。例如,如果菜單100的項目C(103)致使子菜單打開,那么如果在階段220,用戶選擇此項目,則子菜單會垂直地打開,其中項目位于選擇窗口 205的上方和/或下方。當(dāng)在340處所接收的輸入不是用于選擇菜單項時,過程確定(在35 是否繼續(xù)顯示菜單。如果在預(yù)定量的時間內(nèi)沒有接收到輸入,或者如果該菜單是其一部分的應(yīng)用被關(guān)閉,那么一些實施例停止顯示菜單。一些實施例包括用于用戶選擇關(guān)閉菜單的選項。當(dāng)過程300確定繼續(xù)顯示菜單時,過程進(jìn)行到325,以便繼續(xù)確定是否接收到輸入。否則,該過程結(jié)束。過程300可以應(yīng)用于顯示具有不同形狀的菜單的各種實施例。一些實施例,如采用菜單100的情況一樣,以線形形式顯示菜單,其中菜單項在一維上滾動。圖2示出了水平滾動的菜單100,但是菜單項可以僅僅容易地垂直地排列。其它實施例不是一維地以線形方式顯示菜單,而是將菜單顯示為半圓形,其中菜單項沿著半圓形滾動。菜單項的其它配置也是可能的,諸如以圓形形式一次顯示所有菜單項。下面的部分中描述了本發(fā)明的幾個更詳細(xì)的實施例。部分I描述并示出線形菜單的各個特征,部分II描述并示出半圓形菜單的各個特征,以及部分III給出可替換的圓形菜單的例子,但是這些部分中描述的許多特征不限于具有這些例子中使用的特定形狀的菜單。接著,部分IV描述利用一些實施例的菜單的應(yīng)用的軟件架構(gòu)。部分V描述了實現(xiàn)本發(fā)明的一些實施例的計算機系統(tǒng)。I.線形顯示的菜單如上所述,本發(fā)明的一些實施例提供了以線形方式顯示的菜單。下面五個子部分中的每個子部分描述這種菜單的例子,其中菜單項滾動通過選擇窗口。第一至第四子部分中的每個子部分給出用于菜單項滾動通過選擇窗口的不同方式,而第五子部分給出了其它菜單特征。本領(lǐng)域技術(shù)人員將認(rèn)識到,這些部分中描述的許多特征(例如,菜單項如何滾動通過選擇窗口,如何顯示子菜單,等等)可以應(yīng)用于不是線形顯示的菜單(例如,半圓形菜單)。下面子部分中的菜單全部被示為主要進(jìn)行左右移動。本領(lǐng)域技術(shù)人員將認(rèn)識到, 能夠?qū)崿F(xiàn)上下移動的類似的菜單。此外,一些實施例初始只顯示單個菜單項,并且在被激活時,可以垂直或水平地顯示。當(dāng)激活時,顯示菜單的應(yīng)用等待光標(biāo)控制器輸入——如果該輸入主要是上或下,則垂直地顯示該菜單,而如果該輸入主要是左或右,則水平地顯示該菜單。A.基于點擊的滾動圖4概念地示出了基于來自光標(biāo)控制器的單擊輸入導(dǎo)航菜單的一些實施例的過程400。過程400將參照圖5進(jìn)行描述,圖5示出了一些實施例的這種菜單500的導(dǎo)航。圖 5示出了三個階段510、520和530。階段510示出了初始被顯示的菜單500,階段520示出了在接收到導(dǎo)航菜單的點擊輸入之前的菜單500和光標(biāo)515,以及階段530示出了在接收到點擊輸入之后的菜單500。如所示出的,過程400從顯示(在40 在菜單的選擇窗口中具有初始項目的菜單開始。在一些實施例中,菜單包括具有特定順序的許多菜單項。一些實施例將這些菜單項從第一個項目至最后一個項目地排序,而其它實施例僅將菜單項彼此相對地排序。在后一種情況中,可以無限循環(huán)地導(dǎo)航菜單項。如圖5中,一些實施例只顯示選擇窗口、選擇窗口中的一個項目以及位于選擇窗口的任一側(cè)的菜單項的部分。階段510示出了具有項目540的選擇窗口 505。項目540是在選擇窗口 505中初始顯示的項目。在階段510,項目535被部分顯示在項目540的左側(cè), 以及項目545被部分顯示在項目540的右側(cè)。項目535是在菜單項的順序中項目540之前的一個項目,而項目545是項目540之后的一個項目。接著,過程400接收(在410)鼠標(biāo)按鈕的點擊(即,鼠標(biāo)按鈕的按下和釋放)。該點擊可以來自左鼠標(biāo)按鈕(當(dāng)在識別來自兩個或更多個鼠標(biāo)按鈕的輸入的系統(tǒng)上執(zhí)行該過程時)或來自作為鼠標(biāo)上的唯一按鈕的按鈕(當(dāng)在一個按鈕系統(tǒng)上執(zhí)行該過程時)。本領(lǐng)域技術(shù)人員將理解,類似的過程可以接收來自其它類型的輸入設(shè)備的類似輸入,如下所述。然后,該過程確定在點擊時光標(biāo)的位置并且將該位置和點擊轉(zhuǎn)化為動作。該過程確定(在41 在沒有選擇項目的情況下,鼠標(biāo)點擊是否指示應(yīng)當(dāng)關(guān)閉菜單。當(dāng)鼠標(biāo)點擊如此指示時,該過程結(jié)束。例如,一些實施例包括“X”或用于關(guān)閉菜單的類似圖形指示。當(dāng)用戶點擊“X”而不是選擇項目或在任一方向上滾動菜單時,菜單關(guān)閉。一些實施例不包括這種選項,并且用于導(dǎo)航這種菜單的過程會因此不同。例如,在一些實施例中,菜單在應(yīng)用中是永久工具欄,并且在該應(yīng)用關(guān)閉之前不關(guān)閉。當(dāng)鼠標(biāo)點擊不指示應(yīng)當(dāng)關(guān)閉菜單時,過程確定(在41 光標(biāo)是否在選擇窗口上。 當(dāng)光標(biāo)在選擇窗口上時,過程選擇(在420)位于選擇窗口中的菜單項。在一些實施例中, 選擇菜單項致使與所選菜單項相關(guān)聯(lián)的指令被執(zhí)行,諸如執(zhí)行命令、打開子菜單或激活用戶界面工具。在選擇該菜單項之后,該過程結(jié)束。當(dāng)光標(biāo)不在選擇窗口上時,過程確定(在42 光標(biāo)是否在選擇窗口的右側(cè)。圖5 的階段520示出了這種情況。光標(biāo)515位于選擇窗口 505的右側(cè),并且位于部分顯示的項目545上。當(dāng)光標(biāo)在點擊時在選擇窗口的右側(cè)的時候,過程將菜單項向左滾動(在430) — 個項目。這致使之前在選擇窗口右側(cè)的菜單項被顯示在選擇窗口中。圖5的階段530示出了當(dāng)光標(biāo)515位于520所示出的位置上時接收到鼠標(biāo)按鈕的點擊的結(jié)果。作為點擊的結(jié)果,項目545現(xiàn)在位于選擇窗口 505中,項目540只被部分地示出在選擇窗口的左側(cè),并且新的項目550現(xiàn)在被部分地顯示在選擇窗口的右側(cè)。回到過程400,當(dāng)光標(biāo)沒有在選擇窗口的右側(cè)時,由于光標(biāo)必然在選擇窗口的左側(cè) (因為它既不在選擇窗口上,也沒有在選擇窗口的右側(cè)),因此過程將菜單項向右滾動(在 440) 一個項目。這致使之前在選擇窗口的左側(cè)的菜單項被顯示在選擇窗口中。本領(lǐng)域技術(shù)人員將認(rèn)識到,其它實施例可以接收除了用于菜單項選擇和滾動的單個鼠標(biāo)點擊之外的不同的輸入。這種輸入的例子包括其它鼠標(biāo)輸入(例如,雙擊、結(jié)合鍵盤輸入的點擊等)、鍵盤輸入(例如,用于滾動的左右方向鍵以及用于選擇的〈Enter〉鍵)、觸摸屏或觸摸板輸入等。事實上,使用觸摸屏的一些實施例實際上不使用光標(biāo)。作為替代,為了將菜單向右前進(jìn)一個項目,用戶可以敲擊菜單的左側(cè),并且為了將菜單向左前進(jìn)一個項目,用戶可以敲擊菜單的右側(cè)。然后可以通過選擇窗口上的敲擊或雙敲擊執(zhí)行選擇。此外,本領(lǐng)域技術(shù)人員將認(rèn)識到,過程400是一些實施例為了隨著每次鼠標(biāo)點擊將菜單滾動一個項目而執(zhí)行的一種可能的過程的例子。過程400并不必然是計算機指令可以如何顯示這種菜單并轉(zhuǎn)化用于菜單的輸入的唯一例子。例如,操作415、425和435不需要必然按照圖4中示出的順序執(zhí)行。一些實施例還可能包括取決于當(dāng)接收到鼠標(biāo)點擊輸入時光標(biāo)位于何處的三套單獨的計算機指令,而不是所有的三個相關(guān)位置由一套指令處理。B.菜單項的連續(xù)滾動圖6概念地示出了用于基于來自光標(biāo)控制器的點擊和拖拽輸入導(dǎo)航菜單的一些實施例的過程600。具體地,根據(jù)過程600,響應(yīng)于點擊和拖拽輸入,菜單項被連續(xù)滾動,并且當(dāng)完成輸入時,選擇距離選擇窗口最近的項目。過程600將參照圖7描述,圖7示出了一些實施例的這種菜單700的導(dǎo)航。圖7示出了 5個階段710、720、730、740和750。階段710示出了初始顯示有光標(biāo) 715時的菜單700,階段720和730示出了當(dāng)壓住鼠標(biāo)按鈕并移動鼠標(biāo)以便滾動菜單時的菜單700,階段740示出了釋放按鈕時的菜單700,并且750示出了釋放鼠標(biāo)按鈕之后不久的菜單700。如所示出的,過程600從顯示(在60 在菜單的選擇窗口中具有初始項目的菜單開始。在一些實施例中,菜單包括具有特定順序的許多菜單項。一些實施例將這些菜單項從第一個項目至最后一個項目地排序,而其它實施例僅將菜單項彼此相對地排序。在后一種情況下,可以無限循環(huán)地導(dǎo)航菜單項。如圖7,一些實施例只顯示選擇窗口、選擇窗口中的一個項目以及在選擇窗口任一側(cè)的菜單項的部分。階段710示出了具有項目760的選擇窗口 705。項目760是初始被顯示在選擇窗口 705中的項目。在階段710,項目755被部分顯示在項目760的左側(cè),以及項目765被部分顯示在項目760的右側(cè)。項目755是在菜單項的順序中在項目760之前的一個項目,并且項目765是在項目760之后的一個項目。接著,過程600接收(在610)鼠標(biāo)按鈕的按下和保持。鼠標(biāo)按鈕可以是左鼠標(biāo)按鈕(當(dāng)在識別來自兩個或更多個鼠標(biāo)按鈕的輸入的系統(tǒng)上執(zhí)行該過程時)或來自作為鼠標(biāo)上的唯一按鈕的按鈕(當(dāng)在一個按鈕系統(tǒng)上執(zhí)行該過程時)。本領(lǐng)域技術(shù)人員將理解,類似的過程可以接收來自其它類型輸入設(shè)備的類似輸入,如下所述。在一些實施例中,該過程要求,當(dāng)鼠標(biāo)按鈕被按下以便將鼠標(biāo)移動轉(zhuǎn)化為菜單滾動和選擇時,光標(biāo)在該菜單上。過程確定(在615)鼠標(biāo)是否正在左移。當(dāng)鼠標(biāo)正在左移時,過程將菜單項向左滾動(在620)。這使得在被顯示在右側(cè)的菜單項開始移入選擇窗口中時,之前位于選擇窗口中的菜單項開始向左移動。在一個項目從右側(cè)移入該顯示中時,被顯示在最左側(cè)的菜單項移出該菜單顯示。然后,該過程進(jìn)行到下面描述的635。當(dāng)鼠標(biāo)不是正在左移時,過程確定(在625)鼠標(biāo)是否正在右移。當(dāng)鼠標(biāo)正在右移時,過程將菜單項向右滾動(在630)。這使得在被顯示在左側(cè)的菜單項開始移入選擇窗口中時,之前位于選擇窗口中的菜單項開始向右移動。在一個項目從左側(cè)移入該顯示中時,被顯示在最右側(cè)的菜單項移出該顯示。圖7示出了接收到指示鼠標(biāo)正在向左移動的輸入的情況。在階段710,光標(biāo)715在選擇窗口 705上是可見的。階段720示出了在按下鼠標(biāo)按鈕并且用戶開始將鼠標(biāo)向右移動之后不久的菜單700。菜單項755完全不再被顯示,菜單項760不再位于選擇窗口 705的中央,并且菜單項765現(xiàn)在被全部顯示。在此階段,光標(biāo)715不再可見。由于屏幕上所示的實際移動沿與鼠標(biāo)移動相反的方向,因此一些實施例在壓住鼠標(biāo)按鈕時不顯示光標(biāo)。一些實施例將光標(biāo)顯示為在選擇窗口上不移動,以便模擬如下的概念,即通過鼠標(biāo)移動正在靜止菜單項上拖拽選擇窗口。在這樣一些實施例中,不是鼠標(biāo)左移將菜單項左移,而是菜單項沿與鼠標(biāo)移動相反的方向移動。階段730示出了用戶繼續(xù)將鼠標(biāo)向左移動由此使菜單項向左滾動之后的菜單 700。階段730示出了幾乎已經(jīng)完全移出該顯示的菜單項770、正好留在選擇窗口中的菜單項775、以及幾乎全部顯示并且剛剛進(jìn)入選擇窗口的菜單項780。返回圖6,過程600接下來確定(在63 是否已經(jīng)接收到指示鼠標(biāo)按鈕已經(jīng)被釋放的輸入。當(dāng)沒有釋放鼠標(biāo)按鈕時,過程返回到615,以便繼續(xù)處理鼠標(biāo)輸入。在一些實施例中,用戶可以來回地移動鼠標(biāo),由此將菜單項左右移動。因此,如果用戶將菜單滾動得太遠(yuǎn),則可以將鼠標(biāo)沿其它方向移動,使得菜單滾動回所期望的菜單項。一旦釋放鼠標(biāo)按鈕,過程就識別(在640)距離選擇窗口最近的菜單項。圖7的階段740示出了在釋放鼠標(biāo)按鈕之后即時的菜單700。通過將光標(biāo)715變得再次可見,指示鼠標(biāo)按鈕的釋放。此時,菜單項775幾乎已經(jīng)滾動到選擇窗口之外,而菜單項780大部分滾動到選擇窗口中。由于菜單項780最接近被置于選擇窗口中的中心,因此過程600會識別項目 780。然后,過程將識別出的項目移動(在645)到選擇窗口中。圖7的階段750示出了在釋放鼠標(biāo)按鈕之后被移動到選擇窗口中的菜單項780的結(jié)果。一些實施例將菜單顯示為在鼠標(biāo)按鈕的釋放和識別出的項目的居中之間(例如,在階段740和750之間)非常迅速地移動。其它實施例簡單地重新繪制具有識別出的項目置于選擇窗口中心的菜單——菜單項不是被顯示為移動,而是被顯示在釋放鼠標(biāo)按鈕的位置處然后立即被顯示為在選擇窗口中具有識別出的項目。接著,過程選擇(在650)識別出的菜單項。在一些實施例中,選擇菜單項致使與選擇出的菜單項相關(guān)聯(lián)的指令被執(zhí)行,諸如執(zhí)行命令、打開子菜單或激活用戶界面工具。一些實施例還包括一個項目,選擇該項目僅僅關(guān)閉該菜單,并且不使其它指令被執(zhí)行。這種選項使得用戶能夠在菜單導(dǎo)航過程期間決定不應(yīng)當(dāng)選擇菜單項,因此用戶可以滾動到關(guān)閉的菜單選項,并且改為選擇該菜單選項。在選擇該菜單項之后,該過程結(jié)束。本領(lǐng)域技術(shù)人員將認(rèn)識到,其它實施例可以接收除了用戶壓住鼠標(biāo)按鈕并移動鼠標(biāo)以便進(jìn)行菜單項選擇和滾動之外的不同的輸入。這種輸入的例子包括其它鼠標(biāo)輸入(例如,在壓住按鈕之前雙擊等)、鍵盤輸入(例如,壓住左右方向鍵)、觸摸屏或觸摸板輸入等。 事實上,使用觸摸屏的一些實施例實際上不使用光標(biāo)。作為替代,用戶可以用一個手指壓在觸摸屏上的菜單上,然后通過向右或向左移動手指,沿著任一方向移動菜單。此外,本領(lǐng)域技術(shù)人員將認(rèn)識到,過程600是由一些實施例為了通過壓住鼠標(biāo)按鈕滾動菜單而執(zhí)行的一種可能的過程的例子。過程600并不必然是計算機指令可以如何顯示這種菜單并且轉(zhuǎn)化用于菜單的輸入的唯一例子。例如,操作615和625不需要必然按照圖6示出的順序執(zhí)行。一些實施例還可以利用不同技術(shù)確定當(dāng)釋放菜單按鈕時應(yīng)當(dāng)選擇哪個項目。作為識別距離選擇窗口最近的項目的替代,一些實施例識別最近被全部置于中心的項目(即, 當(dāng)用戶釋放鼠標(biāo)按鈕時離開選擇窗口的項目)。類似地,一些實施例識別最近開始進(jìn)入選擇窗口的項目(即,當(dāng)用戶釋放鼠標(biāo)按鈕時進(jìn)入選擇窗口的項目)。C.隨著滾動菜單項移動的選擇窗口圖8概念地示出了用于基于來自光標(biāo)控制器的點擊和拖拽輸入導(dǎo)航菜單的一些實施例的過程800。具體地,根據(jù)過程600,當(dāng)選擇窗口隨著菜單項移動到閾值點,然后跳到下一個菜單項時,響應(yīng)于點擊和拖拽輸入,連續(xù)滾動菜單項。當(dāng)完成該輸入時,選擇當(dāng)前選擇窗口中的項目。過程800將參照圖9描述,圖9示出了一些實施例的這種菜單900的導(dǎo)航。圖9示出了 6個階段910、920、930、940和950。階段910示出了初始顯示有光標(biāo) 915時的菜單900,階段920、930和940示出了當(dāng)壓住鼠標(biāo)按鈕并且移動鼠標(biāo)以便滾動菜單時的菜單900,階段950示出了釋放按鈕時的菜單900,以及960示出了釋放鼠標(biāo)按鈕之后不久的菜單900。如所示出的,過程800從顯示(在80 在菜單的選擇窗口中具有初始項目的菜單開始。在一些實施例中,菜單包括具有特定順序的許多菜單項。一些實施例將這些菜單項從第一個項目至最后一個項目地排序,而其它實施例僅將菜單項彼此相對地排序。在后一種情況下,可以無限循環(huán)地導(dǎo)航菜單項。如圖9中所示,一些實施例只顯示選擇窗口、選擇窗口中的一個項目以及在選擇窗口任一側(cè)的菜單項的部分。階段910示出了具有項目970的選擇窗口 905。項目970是初始被顯示在選擇窗口 905中的項目。在階段910,項目965被部分顯示在項目970的左側(cè),并且項目975被部分顯示在項目970的右側(cè)。項目965是在菜單項的順序中在項目970 之前的一個項目,并且項目975是在項目970之后的一個項目。接著,過程800接收(在810)鼠標(biāo)按鈕的按下和保持。鼠標(biāo)按鈕可以是左鼠標(biāo)按鈕(當(dāng)在識別來自兩個或更多個鼠標(biāo)按鈕的輸入的系統(tǒng)上執(zhí)行該過程時)或來自作為鼠標(biāo)上的唯一按鈕的按鈕(當(dāng)在一個按鈕系統(tǒng)上執(zhí)行該過程時)。本領(lǐng)域技術(shù)人員將理解,類似的過程可以接收來自其它類型輸入設(shè)備的類似輸入,如下所述。在一些實施例中,該過程要求當(dāng)按下鼠標(biāo)按鈕以便將鼠標(biāo)移動轉(zhuǎn)化為菜單滾動和選擇時,光標(biāo)位于該菜單上。過程確定(在815)鼠標(biāo)是否正在左移。當(dāng)鼠標(biāo)正在左移時,過程將菜單項和選擇窗口向右滾動(在820)。當(dāng)菜單項移動時,選擇窗口隨著菜單項一起移動,而不是在項目移動通過窗口時留在原地。然后,過程進(jìn)行到下面描述的835。當(dāng)一個項目從左側(cè)移動到該顯示中時,被顯示在最右側(cè)的菜單項移動到該顯示之外。當(dāng)鼠標(biāo)不是正在左移時,過程確定(在825)鼠標(biāo)是否正在右移。當(dāng)鼠標(biāo)正在右移時,過程將菜單項和選擇窗口向左滾動(在830)。當(dāng)菜單項移動時,選擇窗口隨著菜單項一起移動,而不是在項目移動通過窗口時留在原地。當(dāng)一個項目從左側(cè)移動到該顯示中時,被顯示在最左側(cè)的菜單項移動到該顯示之外。當(dāng)鼠標(biāo)既不是向左也不是向右移動時,過程不沿任意一個方向滾動菜單項,并且進(jìn)行到下面描述的845。圖9示出了接收到指示在壓住鼠標(biāo)按鈕的同時鼠標(biāo)正在向右移動的輸入的情況。 在階段910,光標(biāo)915在選擇窗口 905上是可見的。階段920示出了在按下鼠標(biāo)按鈕并且用戶開始將鼠標(biāo)向右移動之后不久的菜單900。菜單項965完全不再被顯示,菜單項970不再位于菜單顯示的中央,并且菜單項975接近全部被顯示。在這個階段,光標(biāo)915不再可見。由于屏幕上所示的實際移動沿著與鼠標(biāo)移動相反的方向,因此一些實施例在壓住鼠標(biāo)按鈕時不顯示光標(biāo)。一些實施例顯示隨著選擇窗口一起移動的光標(biāo)。參見圖8,過程800接下來確定(在83 選擇窗口是否已經(jīng)移動超過閾值。當(dāng)選擇窗口已經(jīng)移動超過閾值時,過程將選擇窗口跳到(在840)下一個菜單項。當(dāng)菜單項正在向右移動時,下一個菜單項是選擇窗口左側(cè)的項目。相應(yīng)地,當(dāng)菜單項正在向左移動時,下一個菜單項是選擇窗口右側(cè)的項目。在一些實施例中,該閾值是一個點,在該點處選擇窗口會移動到顯示之外。這尤其可以應(yīng)用于只允許顯示少量菜單項的菜單顯示。一些實施例定義閾值為如下的點,在該點處,如果選擇窗口不移動,下一個菜單項會占據(jù)一半以上的選擇窗口。圖9的階段930示出了菜單900已經(jīng)向左滾動到選擇窗口 905已經(jīng)到達(dá)顯示的左邊緣的點,該點是用于此菜單顯示的閾值。階段940示出了將菜單進(jìn)一步向左滾動的結(jié)果, 即選擇窗口 905已經(jīng)從菜單項970跳到菜單項975。為了將選擇窗口跳到下一個項目,一些實施例將選擇窗口顯示為在一個項目和下一個項目之間非常迅速地移動。其它實施例簡單地重新繪制在下一個項目上具有選擇窗口的菜單——選擇窗口不是被顯示為移動,而是被顯示在第一個項目上然后立即被顯示在下一個項目上。接著,過程800確定(在84 是否已經(jīng)接收到指示已經(jīng)釋放鼠標(biāo)按鈕的輸入。當(dāng)沒有釋放鼠標(biāo)按鈕時,過程返回815以繼續(xù)處理鼠標(biāo)輸入。在一些實施例中,用戶可以來回地移動鼠標(biāo),由此將菜單項左右移動。因此,如果用戶滾動超過期望的菜單項,可以反方向移動鼠標(biāo),使菜單滾動回期望的項目。一旦釋放鼠標(biāo)按鈕,過程就識別(在850)當(dāng)前選擇窗口中的項目。圖9的階段 950示出了在釋放鼠標(biāo)按鈕之后即時的菜單900。通過將光標(biāo)915變得再次可見,指示鼠標(biāo)按鈕的釋放。此時,選擇窗口 905最近已經(jīng)從菜單項980跳到項目985。由此,該過程會將項目985識別作為當(dāng)前在選擇窗口 905中的菜單項。然后,過程將識別出的項目和選擇窗口置于(在855)菜單顯示的中心。階段960 示出了在釋放鼠標(biāo)按鈕之后被置于用于菜單900的顯示的中心的菜單項985和選擇窗口 905的結(jié)果。一些實施例將菜單和選擇窗口顯示為在鼠標(biāo)按鈕的釋放與該項目和選擇窗口的居中之間(例如,在階段950和960之間)非常迅速地移動。其它實施例簡單地重新繪制具有識別出的項目以及選擇窗口居中的菜單——菜單項不是被顯示為移動,而是被顯示在釋放鼠標(biāo)按鈕的位置處,然后立即被顯示為具有識別出的項目以及選擇窗口居中。接著,過程選擇(在860)識別出的菜單項。在一些實施例中,選擇菜單項致使與選擇出的菜單項相關(guān)聯(lián)的指令被執(zhí)行,諸如執(zhí)行命令、打開子菜單或激活用戶界面工具。一些實施例還包括一個項目,選擇該項目僅僅關(guān)閉該菜單并且不使其它指令被執(zhí)行。這種選項使得用戶能夠在菜單導(dǎo)航過程期間決定不應(yīng)當(dāng)選擇菜單項,因此用戶可以滾動到關(guān)閉的菜單選項,并且改為選擇該菜單選項。在選擇該菜單項之后,過程結(jié)束。本領(lǐng)域技術(shù)人員將認(rèn)識到,其它實施例可以接收除了用戶壓住鼠標(biāo)按鈕并移動鼠標(biāo)以便進(jìn)行菜單項選擇和滾動之外的不同的輸入。這種輸入的例子包括其它鼠標(biāo)輸入(例如,在壓住按鈕之前雙擊等)、鍵盤輸入(例如,壓住左右方向鍵)、觸摸屏或觸摸板輸入等。 事實上,使用觸摸屏的一些實施例實際上不使用光標(biāo)。作為替代,用戶可以用一個手指壓在觸摸屏上的菜單上,然后通過向右或向左移動手指,沿著任一方向移動菜單。此外,本領(lǐng)域技術(shù)人員將認(rèn)識到,過程800是由一些實施例為了通過壓住鼠標(biāo)按鈕滾動菜單而執(zhí)行的一種可能的過程的例子。過程800并不必然是計算機指令可以如何顯示這種菜單并轉(zhuǎn)化用于菜單的輸入的唯一例子。例如,操作815和825不需要必然按照圖 8示出的順序執(zhí)行。一些實施例還可以具有用于確定選擇窗口是否已經(jīng)超過閾值的兩套獨立的指令——當(dāng)菜單項正在左移時的一套指令以及當(dāng)菜單項正在右移時的一套指令。D.菜單項跳入選擇窗口圖10概念地示出了用于基于來自光標(biāo)控制器的點擊和拖拽輸入導(dǎo)航菜單的一些實施例的過程1000。具體地,根據(jù)過程600,當(dāng)光標(biāo)控制器正在移動時,菜單項不移動,直到達(dá)到閾值量的移動,此時,菜單項被移動一個項目。過程1000將參照圖11描述,圖11示出了一些實施例的這種菜單1100的導(dǎo)航。圖11示出了 4個階段1110、1120、1130和1140。階段1110示出了初始顯示有光標(biāo)1115時的菜單1100,階段1120和1130示出了當(dāng)壓住鼠標(biāo)按鈕并且移動鼠標(biāo)以便滾動菜單時的菜單1100,以及階段1140示出了釋放按鈕時的菜單。如所示出的,過程1000從顯示(在100 在菜單的選擇窗口中具有初始項目的菜單開始。在一些實施例中,菜單包括具有特定順序的許多菜單項。一些實施例將這些菜單項從第一個項目至最后一個項目地排序,而其它實施例僅將菜單項彼此相對地排序。在后一種情況下,可以無限循環(huán)地導(dǎo)航菜單項。如圖11中,一些實施例只顯示選擇窗口、選擇窗口中的一個項目以及在選擇窗口任一側(cè)的菜單項的部分。階段1110示出了具有項目1150的選擇窗口 1105。項目1150是初始被顯示在選擇窗口 1105中的項目。在階段1110,項目1145被部分顯示在項目1150的左側(cè),并且項目1155被部分顯示在項目1150的右側(cè)。項目1145是在菜單項的順序中在項目1150之前的一個項目,并且項目1155是在項目1150之后的一個項目。接著,過程1000接收(在1010)鼠標(biāo)按鈕的按下和保持。鼠標(biāo)按鈕可以是左鼠標(biāo)按鈕(當(dāng)在識別來自兩個或更多個鼠標(biāo)按鈕的輸入的系統(tǒng)上執(zhí)行該過程時)或來自作為鼠標(biāo)上的唯一按鈕的按鈕(當(dāng)在一個按鈕系統(tǒng)上執(zhí)行該過程時)。本領(lǐng)域技術(shù)人員將理解,類似的過程可以接收來自其它類型輸入設(shè)備的類似輸入,如下所述。在一些實施例中,該過程要求,當(dāng)按下鼠標(biāo)按鈕以便將鼠標(biāo)移動轉(zhuǎn)化為菜單滾動和選擇時,光標(biāo)位于該菜單上。過程確定(在1015)鼠標(biāo)是否正在左移。當(dāng)鼠標(biāo)正在左移時,過程確定(在1020) 鼠標(biāo)移動是否超過閾值。當(dāng)鼠標(biāo)移動已經(jīng)超過閾值時,過程將下一個菜單項向左跳入(在 1025)選擇窗口中。這使整個菜單向左移動一個項目。在一些實施例中,鼠標(biāo)移動的閾值量是基于為了將光標(biāo)在該顯示上移動特定距離會要求的鼠標(biāo)移動量的常量。一些實施例基于移動鼠標(biāo)的速度多快來改變閾值量,允許用戶通過利用更快的鼠標(biāo)移動來更迅速地移動通過菜單。然后,過程進(jìn)行到下面描述的1045。當(dāng)鼠標(biāo)不是正在左移時,過程確定(在1030)鼠標(biāo)是否正在右移。當(dāng)鼠標(biāo)不是正在右移(即,用戶壓住鼠標(biāo)按鈕但沒有移動鼠標(biāo))時,過程進(jìn)行到下面進(jìn)行描述的1045。否則,過程確定(在1035)鼠標(biāo)移動是否超過閾值。當(dāng)鼠標(biāo)移動已經(jīng)超過閾值時,過程將下一個菜單項向右跳入(在1040)選擇窗口中。這使整個菜單向右移動一個項目。在一些實施例中,鼠標(biāo)移動的閾值量是基于為了將光標(biāo)在該顯示上移動特定距離會要求的鼠標(biāo)移動量的常量。一些實施例基于移動鼠標(biāo)的速度多快來改變閾值量,允許用戶通過利用更快的鼠標(biāo)移動來更迅速地移動通過菜單。圖11示出了接收到指示鼠標(biāo)正在向左移動的輸入的情況。在階段1110,光標(biāo)1115 在選擇窗口 1105上是可見的。階段1120示出了在按下鼠標(biāo)按鈕并且用戶開始將鼠標(biāo)向左移動之后不久的菜單1100。盡管鼠標(biāo)已經(jīng)開始移動,但是由于鼠標(biāo)尚未移動到至少閾值量, 因此菜單項1145、1150和1155完全沒有被移動。在這個階段,光標(biāo)1115不再可見。一些實施例在壓住鼠標(biāo)按鈕時不顯示光標(biāo)。一些實施例將光標(biāo)顯示為在選擇窗口上不移動,以便模擬如下的概念,即通過鼠標(biāo)移動正在靜止菜單項上拖拽選擇窗口。在這樣一些實施例中,不是鼠標(biāo)左移將菜單項左移,而是菜單項沿與鼠標(biāo)移動相反的方向移動。階段1130示出了在用戶已經(jīng)將鼠標(biāo)向右移動得足夠遠(yuǎn)以使得菜單項向左移動一個項目之后的菜單1100。階段1130示出了菜單項1155現(xiàn)在位于選擇窗口 1105中,菜單項 1150已經(jīng)從選擇窗口移動到被部分地顯示在選擇窗口 1105的左側(cè),并且菜單項1160已經(jīng)從右側(cè)出現(xiàn)并且被部分地顯示在選擇窗口 1105的右側(cè)。一些實施例將菜單顯示為在將菜單向右或向左移動時非常迅速地移動。鼠標(biāo)移動一超過閾值,其它實施例就僅僅重新繪制具有移動后的項目的菜單,而完全不顯示菜單項的移動。返回圖10,過程1000接下來確定(在1045)是否已經(jīng)接收到指示已經(jīng)釋放鼠標(biāo)按鈕的輸入。當(dāng)沒有釋放鼠標(biāo)按鈕時,過程返回1015以繼續(xù)處理鼠標(biāo)輸入。在一些實施例中,用戶可以來回地移動鼠標(biāo),由此將菜單項左右移動。因此,如果用戶滾動超過期望的菜單項,可以反方向移動鼠標(biāo),使菜單滾動回期望的項目。接著,過程選擇(在1050)當(dāng)前位于選擇窗口中的項目。在一些實施例中,選擇菜單項致使與選擇出的菜單項相關(guān)聯(lián)的指令被執(zhí)行,諸如執(zhí)行命令、打開子菜單或激活用戶界面工具。一些實施例還包括一個項目,該項目的選擇僅關(guān)閉該菜單,并且不使其它指令被執(zhí)行。這種選項使得用戶能夠在菜單導(dǎo)航過程期間決定不應(yīng)當(dāng)選擇菜單項,因此用戶可以滾動到關(guān)閉的菜單選項,并且改為選擇該菜單選項。在選擇該菜單項之后,過程結(jié)束。圖11的階段1140示出了在釋放鼠標(biāo)按鈕之后即時的菜單1100。通過光標(biāo)1115 再次變得可見,指示鼠標(biāo)按鈕的釋放。此時,菜單項1165最近已經(jīng)被移動到選擇窗口 1105 中。因此,過程會選擇項目1165作為當(dāng)前在選擇窗口中的項目。本領(lǐng)域技術(shù)人員將認(rèn)識到,其它實施例可以接收除了用戶壓住鼠標(biāo)按鈕并移動鼠標(biāo)以便進(jìn)行菜單項選擇和滾動之外的不同的輸入。這種輸入的例子包括其它鼠標(biāo)輸入(例如,在壓住按鈕之前雙擊等)、鍵盤輸入(例如,壓住左右方向鍵)、觸摸屏或觸摸板輸入等。 事實上,使用觸摸屏的一些實施例實際上不使用光標(biāo)。作為替代,用戶可以用一個手指壓在觸摸屏上的菜單上,然后通過向右或向左移動手指,沿著任一方向移動菜單。此外,本領(lǐng)域技術(shù)人員將認(rèn)識到,過程1000是由一些實施例為了通過壓住鼠標(biāo)按鈕滾動菜單而執(zhí)行的一種可能的過程的例子。過程1000并不必然是計算機指令可以如何顯示這種菜單并轉(zhuǎn)化用于菜單的輸入的唯一例子。例如,操作1015和1030不需要必然按照圖10示出的順序執(zhí)行。以上描述的四個過程都是響應(yīng)于向右或向左的光標(biāo)控制器輸入(選擇窗口的右側(cè)或左側(cè)的點擊輸入,或者沿任一個方向的拖拽輸入),將菜單項向右或向左移動。本領(lǐng)域技術(shù)人員將認(rèn)識到,響應(yīng)于左側(cè)或右側(cè)輸入,不同的實施例將沿不同方向移動菜單項。也就是說,在根據(jù)過程600顯示菜單項移動的一些實施例中,向右移動鼠標(biāo)會使菜單項向右移動。在其它實施例中,向右移動鼠標(biāo)會使菜單項向左移動。對于過程400、800或1000而言, 等效的變化是可能的。這四個過程及其變化不是用于滾動通過以上和下面示出的類型的菜單的可能性的窮舉。例如,各種觸摸屏或觸摸板交互可以用于滾動通過菜單并從菜單中選擇項目。當(dāng)光標(biāo)在菜單上以便滾動菜單時,利用觸摸板,用戶可以重復(fù)地使用沿任意方向的揮動手勢 (例如,兩個手指揮動)。在一些實施例中,通過單個揮動手勢滾動通過的菜單項的數(shù)量可以依賴于揮動手勢的速度和長度。不同的輸入(諸如選擇窗口上光標(biāo)的雙敲擊)可以被用于從菜單中選擇項目。類似地,在觸摸屏上的菜單上的揮動手勢可以被用于(在沒有光標(biāo)的情況下)滾動通過菜單項。像以上給出的觸摸板的例子一樣,在一些實施例中,通過單個揮動手勢滾動通過的菜單項的數(shù)量可以依賴于揮動手勢的速度和長度。用戶在選擇窗口中的項目上快速敲擊或者雙敲擊(或者某種其它手勢)可以被用于選擇項目。E.其它菜單特征如以上敘述的,在一些實施例中,菜單項的選擇使與選擇出的菜單項相關(guān)聯(lián)的指令被執(zhí)行。在一些實施例中,指令激活特定工具。例如,在一些實施例中,菜單是視頻編輯應(yīng)用的一部分。菜單項可以是視頻編輯工具(例如,刀片、波紋、滑動、切割(razor)等)或不同轉(zhuǎn)換選項(例如,淡入淡出、淡化等)。在一些實施例中,菜單項指令使命令被執(zhí)行。例如,在一些實施例中,菜單項表示應(yīng)用的典型下拉菜單選項(例如,具有“保存”、“打印”、“打開”等選項的“文件”菜單)。在一些實施例中,一個或更多個菜單項使子菜單在被選擇時打開。在通過用戶按下并壓住光標(biāo)控制器選擇按鈕并且然后移動光標(biāo)控制器以便使菜單項滾動通過選擇窗口來導(dǎo)航菜單 (例如,在以上子部分B-D中描述的菜單)的情況下,當(dāng)用戶停止移動鼠標(biāo)而打開子菜單的特定項目處于選擇窗口中時,一些實施例選擇該特定項目。圖12示出了一些實施例的菜單1200和子菜單1225的導(dǎo)航的例子。圖12示出了 6個階段:1210、1220、1230、1240、1250和1260。階段1210示出了在選擇窗口 1205中具有菜單項1265的菜單1200,階段1220、1230和1240示出了作為選擇菜單項1265的結(jié)果而被打開的子菜單1225的導(dǎo)航,并且階段1250和1260示出了從子菜單1225中選擇菜單項 1275的結(jié)果。階段1210示出了在選擇窗口 1205中具有項目1265的菜單1200。菜單項1265不是初始被顯示在選擇窗口 1205中的菜單項。相反,用戶已經(jīng)滾動通過菜單1200中的各個菜單項,以便使項目1265在選擇窗口 1205中。經(jīng)由鼠標(biāo)按鈕的單擊(例如,根據(jù)諸如過程 400的過程),經(jīng)由用戶按下并壓住鼠標(biāo)按鈕而同時來回地移動鼠標(biāo)(例如,根據(jù)諸如過程 600,800或1000的過程),或者經(jīng)由某種其它過程,可以導(dǎo)航菜單。菜單項1265包括小加號1235。在一些實施例中,這種符號被用于圖形地指示菜單項的選擇會使子菜單打開。一些實施例可以使用其它圖形指示器,諸如箭頭、字母等。其它實施例不使用圖形指示器,而是假設(shè)用戶知道哪些菜單項會使子菜單打開。如下面的階段中示出的,當(dāng)用戶滾動通過子菜單時,一些實施例將圖形指示器留在選擇窗口中。然而,其它實施例在用戶滾動通過子菜單時將圖形指示器留在使該子菜單打開的特定項目上。對于根據(jù)過程400表現(xiàn)(或類似)的菜單,一些實施例在其相應(yīng)菜單項(即,其選擇使子菜單打開的菜單項)一被移動到選擇窗口中時就打開子菜單。其它實施例要求特定菜單項的選擇(例如,通過點擊選擇窗口中的菜單項)。然后,經(jīng)由與用于初始菜單的輸入類似的輸入,導(dǎo)航子菜單(即,在一些實施例中,如果經(jīng)由單擊導(dǎo)航初始菜單,則同樣地導(dǎo)航子菜單)。對于根據(jù)過程600、800或1000中的一個(或根據(jù)類似過程)表現(xiàn)的菜單,一些實施例在其相應(yīng)菜單項一被移動到選擇窗口中時也就打開子菜單??墒?,其它實施例要求用戶將特定菜單項保持在選擇窗口中一個閾值量的時間(即,通過在特定菜單項處于選擇窗口中時不移動鼠標(biāo))。一旦子菜單打開,一些實施例允許用戶通過繼續(xù)壓住鼠標(biāo)按鈕并且上下移動鼠標(biāo)(當(dāng)子菜單垂直地打開時)來導(dǎo)航子菜單。階段1220示出了打開的子菜單1225。子菜單1225垂直地打開。當(dāng)子菜單初始打開時,項目1265仍處于選擇窗口 1205中。在一些情況下,在子菜單內(nèi),不能選擇來自使子菜單打開的初始項目的項目。然而,在其它情況下,就像其余子菜單項目一樣,可以在子菜單內(nèi)選擇該項目。如在階段1220中示出的,子菜單1225除了 1265之外還包括至少四個項目項目1270、1275、1280和1285。 一些實施例一次顯示整個子菜單,而其它實施例只顯示選擇窗口周圍的子菜單的一部分(類似于顯示菜單1200的方式,除了是垂直地顯示之外)。階段1230示出了用戶已經(jīng)導(dǎo)航到項目1280之后的子菜單1225。在一些實施例中,通過點擊選擇窗口下方,用戶可以導(dǎo)航到該點。在其它實施例中,用戶可以壓住鼠標(biāo)按鈕并且向下移動鼠標(biāo)。階段1240示出了用戶已經(jīng)導(dǎo)航到項目1275(從項目1280向上兩個項目)之后的子菜單1225。通過點擊選擇窗口上方或者通過向上移動鼠標(biāo)(依賴于用于導(dǎo)航菜單1200的過程),用戶可以導(dǎo)航到該點。在示出的例子中,當(dāng)看不到光標(biāo)時,通過用戶壓住鼠標(biāo)按鈕來導(dǎo)航菜單。階段1250示出了一些實施例用來在從子菜單中選擇出項目時關(guān)閉子菜單的過程。菜單項1275已經(jīng)被選擇出(例如,通過在項目1275處于選擇窗口 1205中時用戶釋放鼠標(biāo)按鈕)。如示出的,子菜單1225開始靠近選擇出的項目1275的周圍。階段1260示出了在子菜單完全折疊之后具有選擇出的項目1275的菜單1200。當(dāng)用戶已經(jīng)釋放鼠標(biāo)按鈕時,光標(biāo)1215現(xiàn)在可見。在圖12中示出的菜單1200具有水平滾動的主取向,而從菜單1200打開的子菜單 1225垂直地滾動。在一些實施例中,子菜單自身也具有子菜單。因此,如果用戶選擇了子菜單1225中的自身打開子菜單的項目,則一些實施例會水平定向新的子菜單。在一些實施例中,新的子菜單的項目會被顯示在來自主菜單的原始項目上,使得主菜單項目不再可見。另一方面,一些實施例的菜單具有垂直滾動的主取向,并且然后從這種菜單打開的子菜單垂直地滾動。圖13示出了一些實施例的在用戶滾動通過菜單時將主顯示之外的菜單項顯示為淡化的菜單1300。圖13示出了三個階段1310、1320和1330。如在階段1310中示出的,菜單1300包括與菜單500、700、900和1100類似的顯示。然而,如在階段1320和1330中示出的,當(dāng)用戶按下并壓住鼠標(biāo)按鈕以便導(dǎo)航菜單1300時,該顯示之外的項目以淡化的形式出現(xiàn)。階段1310示出了選擇窗口 1305中的菜單項1360。光標(biāo)1315在項目1360上是可見的,并且菜單項1355和1365的部分在選擇窗口 1305的任一側(cè)可見。通過用戶按下并壓住鼠標(biāo)按鈕,然后左右移動鼠標(biāo)(例如,根據(jù)諸如過程600、800或1000的過程),導(dǎo)航菜單 1300。在這個階段,光標(biāo)1315是可見的,指示用戶尚未按下鼠標(biāo)按鈕來導(dǎo)航菜單。階段1320示出了在用戶按下鼠標(biāo)按鈕之后的菜單1300。除了在顯示區(qū)域中示出的項目之外,其余項目在該顯示之外被示出為部分淡化。按照項目移動通過選擇窗口的順序來顯示項目,由此使用戶更容易迅速滾動到期望的菜單項。如可以看到的,菜單1300已經(jīng)定義了第一個項目和最后一個項目,并且當(dāng)用戶滾動到最后時,沒有回繞。項目1370是菜單1300中最右側(cè)(最后)的項目,并且菜單中最左側(cè)的項目沒有被顯示在項目1370的右側(cè)。沒有被顯示在主顯示區(qū)域中的項目1355和1365的部分在主顯示區(qū)域之外被顯示為淡化。階段1330示出了用戶通過向左移動鼠標(biāo)來向右滾動菜單之后的菜單1300。階段 1330示出了所有菜單項1335-1370。在一些實施例中,部分淡化的圖標(biāo)只顯示在用于特定距離或特定數(shù)量的圖標(biāo)的主顯示的任一側(cè)。菜單1300在主顯示的任一側(cè)只顯示達(dá)到三個淡化的圖標(biāo),因此僅當(dāng)菜單居中,其中在主顯示中具有中間的兩個菜單項1350和1355時,才示出整個菜單。在一些實施例中,淡化的圖標(biāo)被顯示為部分透明。也就是說,如果菜單周圍有其它可視的內(nèi)容,則在淡化的圖標(biāo)下,將仍然看到該內(nèi)容。如以上描述的,在前述部分中描述的特征可以被應(yīng)用到不是線形滾動的菜單。用于導(dǎo)航并選擇菜單項的過程400、600、800和1000可以被應(yīng)用于其中使菜單項移動通過選擇窗口的任意類型的菜單,而不考慮菜單的形狀。對于其菜單項,菜單不需要是水平的(或者甚至是垂直的),以便使子菜單與菜單的滾動垂直地打開。對于菜單要呈線形形狀以及圍繞選擇窗口的菜單項要被顯示為部分淡化或透明,沒有任何要求。II.半圓形菜單前述部分中的例子都包括線形滾動的菜單。然而,如所指出的,菜單的所述特征可以等效地應(yīng)用于其它類型的菜單。下面的部分描述被顯示為半圓形的菜單的各個特征。這部分描述的特征被示為應(yīng)用于半圓形菜單,但是本領(lǐng)域技術(shù)人員將認(rèn)識到,這些特征中的許多特征可以被應(yīng)用于以上示出的線形菜單。圖14示出了一些實施例的半圓形菜單1400的打開。圖14示出了四個階段1410、 1420、1430和1440。階段1410和1420示出了在其打開之前的菜單1400,階段1430示出了通過打開過程部分打開的菜單,以及階段1440示出了完全打開時的菜單。階段1410獨自地示出了菜單項1480,其中沒有選擇窗口或相關(guān)聯(lián)菜單項。菜單項 1480被顯示為具有第一顏色。階段1410還示出了光標(biāo)1415,其在菜單項附近,但不在菜單項上面。階段1420示出了現(xiàn)在光標(biāo)1415已經(jīng)移動到它上面的菜單項1480。將光標(biāo)1415 移動到菜單項1480的上面使選擇窗口 1405顯示在菜單項上,使得菜單項現(xiàn)在表現(xiàn)為被顯示為具有第二顏色。一些實施例實際上將該菜單項顯示為具有不同的顏色,而其它實施例在該菜單項上顯示部分透明的選擇窗口。如所示出的,一旦光標(biāo)移動到菜單項上,一些實施例就顯示選擇窗口。然而,其它實施例等待顯示選擇窗口,直到用戶已經(jīng)實際按下鼠標(biāo)按鈕或者提供在菜單項上具有光標(biāo)的一些其它類型的選擇輸入。階段1430示出了用戶已經(jīng)按下鼠標(biāo)按鈕或者提供了某種形式的選擇輸入(例如鍵擊、其它鼠標(biāo)輸入、來自不同光標(biāo)控制器的輸入等)之后不久的菜單1400。菜單項1480 仍然被顯示在選擇窗口 1405內(nèi),并且其它菜單項已經(jīng)開始從項目1480散開。顯示給出了菜單1400中的其它菜單項初始被堆疊在項目1480下的外觀。不在選擇窗口中的菜單項(除了 1480之外的項目)被顯示為具有第一顏色(即,在階段1410中項目1480具有的相同的顏色)。階段1440示出了在其已經(jīng)全部展開之后的菜單1400。當(dāng)前,可以看到菜單項1465 至1495。菜單項1465和1495被顯示為部分淡化,這提供了一種視覺指示,即菜單繼續(xù)在兩個方向上具有更多的菜單項。從階段1420至階段1440,圖14示出了菜單可以如何打開的一種可能性。一些實施例不顯示菜單散開,而是一旦用戶點擊單個菜單項上的鼠標(biāo)按鈕,就如在階段1440所示出地顯示菜單。一些實施例將菜單項顯示為沿著半圓形軌跡滑出到階段1440所示出的位置,而不是如階段1430中所顯示的展開成半圓形。其它實施例利用其它視覺顯示打開菜單。此外,使用除了半圓形之外的形狀的一些實施例使用這些以及其它視覺顯示——展開菜單也可以應(yīng)用于一次顯示一個以上的菜單項的線形菜單。圖15示出了菜單1400的導(dǎo)航以及從菜單中選擇項目1460。圖15示出了五個階段1510、1520、1530、1540和1550。階段1510示出了與圖14的階段1440相同點處的菜單 1400,階段1520示出了菜單1400的導(dǎo)航,以及階段1530-1550示出了項目1460的選擇。階段1520示出了用戶已經(jīng)滾動菜單,使得選擇窗口 1405中的初始項目(項目 1480)現(xiàn)在接近所顯示的菜單的右邊緣,并且正開始表現(xiàn)為部分淡化。在一些實施例中,為了將菜單滾動到這個點,用戶在壓住鼠標(biāo)按鈕的同時向左拖拽鼠標(biāo)。如在階段1520中示出的,選擇窗口 1405被顯示為菜單項在下面滾動的部分透明的窗口。此外,當(dāng)選擇窗口當(dāng)前介于兩個菜單項(1465和1470)中間時,菜單1400是根據(jù)與過程600類似的過程滾動的菜單,在該菜單中,項目連續(xù)滾動,并且沒有 突然跳到(snap)選擇窗口。然而,一些實施例將其它所述的滾動過程或類似過程應(yīng)用于半圓形菜單。階段1530示出了用戶已經(jīng)滾動菜單,使得項目1460處于選擇窗口 1405中,并且為了選擇項目1460,釋放鼠標(biāo)按鈕。光標(biāo)1415現(xiàn)在可以看到位于選擇窗口 1405和項目 1460上方。階段1540示出了在選擇出的項目1460周圍的菜單1400的關(guān)閉。在一些實施例中,以與其打開正好相反的方式關(guān)閉菜單。因此,當(dāng)菜單項僅出現(xiàn)在初始項目周圍時,那么當(dāng)選擇該項目時,在沒有任何向內(nèi)移動的情況下,這些菜單項消失。當(dāng)菜單項如圖14中所示散開時,則菜單如在階段1540中所示向內(nèi)折疊。階段1550示出了菜單已經(jīng)完全關(guān)閉,使得只顯示項目1460。在一些實施例中,現(xiàn)在顯示選擇出的菜單項,非常像在圖14的階段1410顯示項目1480。例如,在一些實施例中, 菜單是工具欄。這種工具欄的一個例子是用于視頻編輯應(yīng)用的視頻編輯工具欄。一些實施例的視頻編輯工具欄包括視頻編輯工具,諸如刀片工具、波紋工具、滑動工具、卷起工具等。 選擇工具使得該工具可用,從而用戶可以接著在編輯過程中使用該工具。選擇出的工具被顯示,直到用戶重復(fù)該過程以選擇不同的工具。另一方面,在一些實施例中,菜單是命令列表,并且當(dāng)用戶選擇特定命令時關(guān)閉。一些這樣的實施例等待一個短的時間段,然后將所顯示的菜單項恢復(fù)到初始項目。圖16示出了半圓形菜單1600的例子,與以上描述的類似,它包括打開子菜單1625 的菜單項1655。圖16示出了四個階段1610、1620、1630和1640。階段1610示出了在用戶已經(jīng)導(dǎo)航從而菜單項1655處于選擇窗口 1605中之后的菜單,階段1620示出了子菜單1625 的打開,以及階段1630和1640示出了子菜單1625的導(dǎo)航。階段1610示出了屬性上與菜單1400類似的菜單1600。當(dāng)前位于選擇窗口 1605 中的是菜單項1655。項目1655包括小加號1635,其指示其選擇會使子菜單打開。在一些實施例中,這種符號被用于圖形指示菜單項的選擇會使子菜單打開。一些實施例可以使用其它圖形指示器,諸如箭頭、字母等。其它實施例不使用圖形指示器,而是假設(shè)用戶知道哪些菜單項會使子菜單打開。如在下面的階段中示出的,一些實施例在用戶滾動通過子菜單時將圖形指示器留在使該子菜單打開的特定項目上。然而,當(dāng)用戶滾動通過子菜單時,如上述圖12中一樣,其它實施例將圖形指示器留在選擇窗口中。階段1620示出了在用戶已經(jīng)選擇菜單項1655之后不久的菜單1600。子菜單1625 已經(jīng)開始垂直地打開。在一些實施例中,子菜單以與由父菜單跟隨的路徑的切線垂直的方式打開。當(dāng)半圓形菜單1600的切線在選擇窗口 1605處是水平的時,子菜單1625垂直地打開。如所示出的,子菜單1625的菜單項從選擇窗口展開。當(dāng)項目展開時,菜單1600的未選擇的項目開始淡化。階段1630示出了在其已經(jīng)完全展開之后的子菜單1625。此時, 菜單1600的未選擇的項目大部分被淡化。一旦子菜單已經(jīng)完全展開,用戶就可以導(dǎo)航子菜單。例如,非常像以上描述的子菜單,用戶可以向上或向下移動鼠標(biāo),以便使子菜單項目滾動通過選擇窗口。階段1640示出了在用戶已經(jīng)將菜單向下滾動一個項目使得菜單項1660 處于選擇窗口 1605中之后的子菜單1625。 在一些實施例中,當(dāng)用戶從子菜單中選擇項目時,主菜單(例如,菜單1600)和子菜單(例如,子菜單1625)同時向內(nèi)折疊。以與圖15中示出的方式相同的形式向內(nèi)折疊菜單,而子菜單以與其展開過程相反的方式折疊??墒?,不同實施例會首先折疊子菜單,然后折疊主菜單,或者在從子菜單中選擇項目時使用不同視覺顯示。就像部分I中描述的特征一樣,這部分中描述的許多特征也可以應(yīng)用于不是半圓形的菜單。例如,任何形狀的菜單都可以在選擇單個菜單項時從該單個菜單項向外展開。類似地,在從全部顯示的菜單中選擇項目時,這種菜單可以向內(nèi)折疊。III.圓形菜單替代方案上面的部分描述并且包括菜單的例子,對于這些菜單,不管菜單被顯示為線形 (如部分I中)還是半圓形(如部分II中),都不是一次顯示全部菜單。下面的部分給出了菜單的例子,對于這些菜單,一次顯示所有菜單項。具體地,這部分中描述的菜單以圓形方式顯不。圖17示出了一些實施例的圓形菜單1700的打開。圖17示出了四個階段1710、 1720、1730和1740。階段1710和1720示出了在其打開之前的菜單1700,階段1730示出了通過打開過程部分打開的菜單,以及階段1740示出了當(dāng)完全被打開時的菜單。階段1710獨自地示出了菜單項1780,其中沒有選擇窗口或者相關(guān)聯(lián)菜單項。菜單項1780被顯示為具有第一顏色。階段1710還示出了光標(biāo)1715,它接近菜單項,但不在菜單項上。階段1720示出了現(xiàn)在光標(biāo)1715已經(jīng)被移動到它上面的菜單項1780。將光標(biāo)1715 移動到菜單項1780上使選擇窗口 1705顯示在菜單項上,從而菜單項現(xiàn)在表現(xiàn)為被顯示為具有第二顏色。一些實施例實際上將菜單項顯示為具有不同顏色,而其它實施例將部分透明的選擇窗口顯示在菜單項上。如所示出的,一旦光標(biāo)移動到菜單項上,一些實施例就顯示選擇窗口。然而,其它實施例等待顯示選擇窗口,直到用戶已經(jīng)實際上按下鼠標(biāo)按鈕或者提供在菜單項上具有光標(biāo)的一些其它類型的選擇輸入。此時,菜單1700的行為與菜單1400的類似。然而,階段1730示出了菜單1700是圓形,而不是像菜單1400的半圓形。階段1730示出了在用戶已經(jīng)按下鼠標(biāo)按鈕或者提供某種形式的選擇輸入(例如,鍵擊、其它鼠標(biāo)輸入、來自不同光標(biāo)控制器的輸入等)以便打開菜單1700之后不久的菜單1700。菜單項1780仍然被顯示在選擇窗口 1705內(nèi),以及其它菜單項已經(jīng)開始從項目1780向外展開。該顯示給出了菜單1700中的其它菜單項初始堆疊在項目1780下面的外觀。不在選擇窗口中的菜單項(除了 1780之外的項目)被顯示為具有第一顏色(即,在階段1710中項目1780具有的相同的顏色)。如所示出的,一些實施例從初始菜單項(例如,菜單項1780)向下展開菜單??墒牵?其它實施例沿所有方向向外展開菜單,使得圓形中心處于圖形用戶界面中初始菜單項在選擇之前所在的位置上。在一些這種實施例中,如果當(dāng)用戶滾動通過菜單時顯示光標(biāo),則將光標(biāo)移動到位于圓形頂部的選擇窗口。
階段1740示出了在其全部展開之后的菜單1700。當(dāng)前可以看到菜單1700的所有菜單項。為了顯示整個菜單項,一些實施例根據(jù)菜單項的數(shù)量改變圓形的半徑(即,當(dāng)菜單項越多時,半徑越大)。其它實施例改變菜單項的大小(即,當(dāng)菜單項越多時,菜單項就越小,以便保持相同的半徑)。還有其它實施例改變菜單項之間重疊的量(即,當(dāng)項目越多時,項目重疊越多),以便將菜單項保持恒定大小,并且保持圓形具有恒定的半徑。在一些實施例中,圓形菜單的導(dǎo)航類似于半圓形菜單的導(dǎo)航。通過在按下鼠標(biāo)按鈕的同時向左或向右移動鼠標(biāo),用戶可以使菜單項滾動通過選擇窗口。一個顯著的不同是, 在圓形菜單的情況下,用戶可以在任意方向上無限地滾動。在其順序中,菜單沒有第一個菜單項或最后一個菜單項。相反,只彼此相對地排序菜單項圓形菜單(諸如菜單1700)還可以包括項目,該項目的選擇使子菜單以與圖16的子菜單1625類似的方式打開。在一些實施例中,當(dāng)圓形主菜單淡化時,子菜單在選擇窗口上方和下方垂直地打開。然而,當(dāng)主菜單沒有完全淡化時,一些實施例只在選擇窗口的下方顯示子菜單,達(dá)到菜單項不與圓形菜單的底部重疊的程度。圖18示出了在子菜單1825在選擇窗口 1805的上方和下方垂直地打開之后部分淡化的圓形菜單1800。朝著子菜單1825的底部,只顯示菜單項1830的一部分。向上滾動子菜單1825 (例如,通過用戶向下移動光標(biāo)控制器)會使整個菜單項1830被顯示為項目 1830下面的下一個菜單項開始出現(xiàn)。然而,其它實施例顯示展開到主菜單的底部上的子菜單。圓形菜單的一些實施例在選擇菜單項時以類似于以上描述的半圓形菜單的方式關(guān)閉。也就是說,圓形菜單以與菜單被打開相反的方式在其上折疊。因此,如果圓形菜單從初始菜單項開始向下打開,在從菜單中選擇項目之后,菜單關(guān)閉,其中顯示的項目朝著選擇窗口以及選擇的項目向回折疊。另一方面,如果圓形菜單從初始菜單項的初始位置開始向外打開,那么在從菜單中選擇項目之后,菜單關(guān)閉,其中顯示的項目朝著初始位置向內(nèi)折疊。類似于針對半圓形菜單的以上說明,其它實施例不同地關(guān)閉圓形菜單。IV.菜單的使用如所討論的,以上描述的各種菜單可以被用在各種各樣的計算應(yīng)用中。在一些實施例中,菜單可以被直接用在操作系統(tǒng)或與操作系統(tǒng)分離的應(yīng)用中。此外,菜單尤其可以被用在諸如iPhone 之類的手持設(shè)備中。圖19示出了計算機桌面1900,該桌面顯示一些實施例的操作系統(tǒng)的各個特征。該桌面包括文件夾導(dǎo)航窗口 1905、應(yīng)用選擇圖標(biāo)1910以及菜單1915。文件夾導(dǎo)航窗口 1905 是標(biāo)準(zhǔn)的窗口,其使得用戶能夠?qū)Ш椒旨壩募到y(tǒng),以便找到并打開文件(例如,文字處理文檔、電子數(shù)據(jù)表、視頻文件等)。應(yīng)用選擇圖標(biāo)1910為用戶提供對計算設(shè)備上的不同應(yīng)用 (例如,電子郵件、網(wǎng)頁瀏覽器、媒體播放器、文字處理應(yīng)用、媒體編輯應(yīng)用等)的容易訪問。菜單1915是用于提供操作系統(tǒng)特征的以上描述的菜單的使用的一個例子。菜單 1915給出了與關(guān)閉計算機有關(guān)的各個選項。菜單1915包括選擇窗口 1920以及被全部顯示或被部分顯示的至少三個菜單項1925-1935。項目1925給出了 “注銷”選項,項目1930給出了“關(guān)機”選項,以及項目1935給出了“重新啟動”選項。一些實施例還包括省電選項, 諸如“待機”。在一些實施例中,盡管其它選項(例如,窗口,諸如窗口 1905)可以被置于菜單1915的頂部,使得菜單1915不被顯示,但是菜單1915被永久地顯示為桌面的一部分。響應(yīng)于諸如特定鍵擊(或者鍵擊的組合)或者圖形用戶界面中用于調(diào)出菜單1915的選項的選擇之 類的用戶輸入,其它實施例只顯示菜單1915。本領(lǐng)域技術(shù)人員將認(rèn)識到,一些實施例的菜單可以被用于各種各樣的操作系統(tǒng)特征。作為一個例子,應(yīng)用選擇圖標(biāo)可以被集成到菜單(諸如線形菜單1915或者以上描述的其它菜單中的一個菜單)中。例如,應(yīng)用選擇圖標(biāo)可以被提供在半圓形菜單(諸如菜單 1400)中,該半圓形菜單被顯示在屏幕的一個角中,而不是占據(jù)屏幕的整個底部。圖20示出了視頻編輯應(yīng)用2000,它被用于創(chuàng)建合成視頻呈現(xiàn),并且采用了一些實施例的菜單。視頻編輯應(yīng)用2000包括合成顯示區(qū)域2005、一組可選擇視頻剪輯2010、視頻預(yù)覽顯示區(qū)域2015以及視頻編輯工具欄2020。合成顯示區(qū)域2005提供了用戶創(chuàng)建的視頻呈現(xiàn)的視覺表示。用戶可以將媒體剪輯(例如,音頻和視頻剪輯)添加到合成顯示區(qū)域,在這里,圖形地表示這些剪輯。通過在合成顯示區(qū)域中對剪輯執(zhí)行編輯操作,用戶可以修改視頻呈現(xiàn)。該組可選擇視頻剪輯2010 提供被表示為縮略圖的各種媒體剪輯,用戶可以經(jīng)由合成顯示區(qū)域2005選擇其并將其添加到視頻呈現(xiàn)。視頻預(yù)覽顯示區(qū)域2015按照合成顯示區(qū)域顯示合成呈現(xiàn)的預(yù)覽。視頻編輯工具欄2020是用于提供視頻編輯工具的以上描述的菜單的使用的例子。具體地,工具欄2020為用戶提供多個修剪工具選項。當(dāng)前顯示在選擇窗口 2025中的是卷起工具2035。滑動工具2030和滑移工具2040當(dāng)前位于選擇窗口 2025的左側(cè)和右側(cè)。 一些實施例包括工具欄中的其它修剪工具,諸如波紋工具或刀片工具。一些實施例在工具欄(諸如工具欄2020)中呈現(xiàn)了各種編輯工具。例如,除了各種修剪工具之外,一些實施例還提供了用于編輯合成視頻呈現(xiàn)的其它工具。另一方面,一些實施例包括多個與工具欄2020類似的工具欄,諸如用于修剪工具的一個工具欄以及用于其它視頻編輯工具的第二工具欄。在一些實施例中,工具欄2020被永久地顯示為編輯應(yīng)用的圖形用戶界面的一部分。其它實施例只響應(yīng)于用戶輸入顯示工具欄2020,該用戶輸入諸如為特定鍵擊(或鍵擊組合)或者圖形用戶界面中用于調(diào)出工具欄2020的選項的選擇。例如,在一些實施例中, 只顯示一個工具,直到用戶調(diào)用菜單(例如,點擊該一個所顯示的工具),此時顯示給出更多選項的工具欄。部分II中示出的半圓形菜單的例子是這種可調(diào)用工具欄或菜單的例子。圖21示出了手持設(shè)備2100,當(dāng)前,手持設(shè)備2100正在顯示網(wǎng)頁瀏覽器2105。設(shè)備2100可以是蜂窩電話、媒體播放器等。網(wǎng)頁瀏覽器2105包括統(tǒng)一資源定位器(URL)工具欄2110、內(nèi)容顯示區(qū)域2115以及工具欄2120。URL欄2110包括用戶界面工具和地址欄2125,用戶可以在地址欄2125中鍵入URL 并地址欄2125顯示用戶通過點擊在內(nèi)容顯示區(qū)域2115內(nèi)的鏈接而導(dǎo)航到其的網(wǎng)站的URL。 內(nèi)容顯示區(qū)域2115顯示地址欄2125中指示的位于該URL的網(wǎng)頁。工具欄2120包括6個工具——后退和前進(jìn)按鈕2130和2135、添加書簽圖標(biāo)2140、 用于打開書簽列表的書簽圖標(biāo)2145、用于打開菜單的菜單圖標(biāo)2150以及頁面圖庫圖標(biāo) 2155,該頁面圖庫圖標(biāo)2155用于顯示可以供用戶選擇的打開網(wǎng)頁頁面的列表。當(dāng)用戶選擇菜單圖標(biāo)2150時,菜單2160打開。在一些實施例中,調(diào)用菜單2160使第一窗口(S卩,菜單窗口)在已經(jīng)顯示的第二窗口中打開。這也用于一些實施例的菜單的其它應(yīng)用的情況,不限于手持設(shè)備。菜單2160提供了沒有被顯示在URL欄2110或工具欄2120中的各種選項。菜單 2160包括查找文本選項2175,它用于引出一個工具,該工具允許用戶鍵入文本以便在顯示區(qū)域2115中顯示的內(nèi)容中進(jìn)行查找。查找文本選項2175當(dāng)前位于選擇窗口 2165中。歷史選項2170和復(fù)制選項2180被部分地顯示在選擇窗口 2165的任一側(cè)。在一些實施例中,該設(shè)備是觸摸屏設(shè)備。在這樣的一些實施例中,通過利用手指向右和向左的掃動手勢移動項目,然后敲擊或雙擊選擇窗口以便選擇項目,用戶可以導(dǎo)航菜單2160。其它實施例可以識別不同的用于導(dǎo)航菜單2160并從該菜單中選擇項目的多點觸摸手勢。本領(lǐng)域技術(shù)人員將認(rèn)識到,除了菜單2160之外的菜單都可能用于手持設(shè)備瀏覽器。例如,工具欄2120可以包括選擇窗口以及比當(dāng)前示出的項目更多的項目。然后,用戶可以滾動通過項目,直到所期望的項目處于選擇窗口中。此外,這樣的菜單對瀏覽器沒有任何限制,并且事實上,可以被用于手持設(shè)備上的任何應(yīng)用。屏幕空間在例如設(shè)備2100的手持設(shè)備中通常非常寶貴,因此這個應(yīng)用中描述的菜單是用于在這種受限空間中提供大量選項的理想方案。V.軟件架構(gòu)在一些實施例中,以上描述的過程被實現(xiàn)為在特定機器上運行的或者被保存在計算機可讀介質(zhì)上的軟件,該特定機器諸如為計算機或手持設(shè)備。圖22概念地示出了一些實施例的應(yīng)用2200的軟件架構(gòu),應(yīng)用2200呈現(xiàn)諸如在前述部分中描述的菜單之類的菜單。在一些實施例中,該應(yīng)用是獨立的應(yīng)用,或者被集成到另一個應(yīng)用中(例如,應(yīng)用2200可以是視頻編輯應(yīng)用的一部分),而在其它實施例中,該應(yīng)用可以被實現(xiàn)于操作系統(tǒng)中。此外,在一些實施例中,該應(yīng)用被提供作為基于服務(wù)器的方案的一部分。在一些這樣的實施例中,經(jīng)由瘦客戶端提供該應(yīng)用。也就是,該應(yīng)用運行在服務(wù)器上,而用戶通過與服務(wù)器遠(yuǎn)程的單獨的機器與該應(yīng)用交互。在其它這樣的實施例中,通過胖客戶端提供該應(yīng)用。也就是,將該應(yīng)用從服務(wù)器分發(fā)到客戶端機器,并且在客戶端機器上運行。應(yīng)用2200包括用戶界面(UI)交互模塊2205、菜單滾動器2210、項目選擇器2215 以及菜單顯示模塊2220。媒體編輯應(yīng)用還包括菜單數(shù)據(jù)庫2225。在一些實施例中,還存在其它存儲器,它們可以是與內(nèi)容存儲器2225相同的物理存儲器的一部分或者被分別存儲。 圖22還示出了操作系統(tǒng)2250,它包括光標(biāo)控制器驅(qū)動器2255、鍵盤驅(qū)動器2260以及顯示模塊2265。在一些實施例中,如所示出的,即使當(dāng)應(yīng)用2200是獨立于操作系統(tǒng)的應(yīng)用時,光標(biāo)控制器驅(qū)動器2255、鍵盤驅(qū)動器2260以及顯示模塊2265也是操作系統(tǒng)2250的一部分。通過輸入設(shè)備(未示出),用戶與用戶界面交互。諸如光標(biāo)控制器(鼠標(biāo)、寫字板、 觸摸板等)和鍵盤之類的輸入設(shè)備向光標(biāo)控制器驅(qū)動器2255和鍵盤驅(qū)動器2260發(fā)送信號,光標(biāo)控制器驅(qū)動器2255和鍵盤驅(qū)動器2260將那些信號轉(zhuǎn)換為用戶輸入數(shù)據(jù)提供給UI 交互模塊2205。UI交互模塊根據(jù)所呈現(xiàn)的菜單的上下文翻譯用戶輸入數(shù)據(jù),并將其傳遞給適當(dāng)?shù)哪K,諸如菜單滾動器2210和項目選擇器2215。菜單滾動器2210將用戶界面交互翻譯為菜單項滾動通過選擇窗口。菜單滾動器還 從菜單數(shù)據(jù)庫2225中接收信息。在一些實施例中,它包括菜單項列表以及菜單項的順序。在不同實施例中,菜單滾動器2210響應(yīng)于不同輸入來滾動菜單。例如,在一些實施例中,基于通過以上過 程400、600、800或1000描述的輸入中的一個輸入,菜單滾動器2210滾
動菜單項。菜單滾動器將菜單滾動信息發(fā)送給菜單顯示模塊2220。項目選擇器2215將用戶界面交互翻譯為菜單項的選擇。在一些實施例中,項目選擇器還從菜單數(shù)據(jù)庫中接收信息,諸如菜單項列表及其順序。當(dāng)接收到選擇輸入時,項目選擇器2215識別哪個項目處于選擇窗口中。在一些實施例中,項目選擇器2215還識別何時選擇了一個項目以便打開菜單,如以上在部分II和III中描述的。選擇信息被傳遞給菜單顯示模塊。在一些實施例中,項目選擇器還將此信息傳遞給其它模塊(未示出),該其它模塊執(zhí)行命令或者激活與所選出的菜單項相關(guān)聯(lián)的工具。菜單顯示模塊2220從菜單滾動器2210和項目選擇器2215中接收信息。菜單顯示模塊2220控制菜單項的移動的顯示。在一些實施例中,響應(yīng)于項目選擇,包括任意子菜單,菜單顯示模塊處理菜單的打開和關(guān)閉。此信息被發(fā)送給顯示模塊2265,顯示模塊2265 處理在輸出設(shè)備(未示出)上的菜單(以及圖形用戶界面的其余部分)的實際顯示。盡管這些特征中的許多特征已經(jīng)描述為采用一個模塊(例如,導(dǎo)航模塊2215或框架壓縮器2235)執(zhí)行,但是本領(lǐng)域技術(shù)人員將認(rèn)識到,這些功能可以被分解到多個模塊中, 并且一個特征的執(zhí)行甚至可能需要多個模塊。圖23概念地示出了用于制造存儲計算機程序的計算機可讀介質(zhì)的一些實施例的過程2300。在一些實施例中,計算機可讀介質(zhì)是可分配的⑶-ROM。如所示出的,過程2300 從定義(在2305)具有特定順序的菜單項和與菜單項相關(guān)聯(lián)的指令開始。圖1的菜單100 的菜單項101-108是這些菜單項的例子。然后,過程2300定義(在2310)顯示區(qū)域,該顯示區(qū)域用于以特定順序顯示這些菜單項中的至少一部分。該過程還定義(在2315)顯示區(qū)域中顯示的選擇窗口,該選擇窗口用于指示菜單項當(dāng)前是可選擇的,諸如相應(yīng)的圖2、5、14的選擇窗口 205、505或1405。接著,過程2300定義(在2320) —個模塊,該模塊響應(yīng)于用戶輸入來使菜單項以特定順序滾動通過選擇窗口。圖22的菜單滾動器2210是該模塊的一個例子。該過程還定義(在2325) —個模塊,用于當(dāng)菜單項被顯示在選擇窗口中時,響應(yīng)于用戶輸入,選擇菜單項,該模塊諸如為菜單選擇器2215。接下來,該過程定義(在2330)其它工具、選項以及功能。例如,如果該過程用于制造媒體編輯應(yīng)用,諸如圖20中示出的,則定義各種GUI項目和編輯工具以及功能。然后,過程2300將定義的元件存儲(在2325)在計算機可讀存儲介質(zhì)上。如以上敘述的,在一些實施例中,計算機可讀存儲介質(zhì)是可分配的CD-ROM。在一些實施例中,該介質(zhì)是固態(tài)器件、硬盤、CD-ROM或其它非易失性計算機可讀存儲介質(zhì)中的一個或更多個。本領(lǐng)域技術(shù)人員將認(rèn)識到,過程2300所定義的各個模塊和UI項目不是可以用于結(jié)合本發(fā)明的一些實施例的編輯應(yīng)用被定義并且被存儲在計算機可讀存儲介質(zhì)上的模塊和UI項目的窮舉。VI.計算機系統(tǒng)以上描述的特征和應(yīng)用中的許多特征和應(yīng)用被實現(xiàn)為軟件過程,它們被指定為一套記錄在計算機可讀存儲介質(zhì)(也稱作計算機可讀介質(zhì))上的指令。當(dāng)由一個或更多個計算單元(諸如,處理器或類似ASIC和FPGA的計算單元)執(zhí)行這些指令時,它們使計算單元 (多個)執(zhí)行指令中所指示的動作。計算機是廣義的含義,并且可以包括具有處理器的任何電子設(shè)備。計算機可讀介質(zhì)的例子包括,但并不限于,⑶-ROM、閃存驅(qū)動器、RAM芯片、硬盤驅(qū)動器、EPROM等。計算機可讀介質(zhì)不包括無線地或通過有線連接傳遞的載波和電子信號。在本說明書中,術(shù)語“軟件”意指包括駐留在只讀存儲器中的固件或被存儲在磁性存儲器中的應(yīng)用,該應(yīng)用可以被讀出到存儲器中以供處理器處理。還有,在一些實施例中, 多個軟件發(fā)明可以被實現(xiàn)為大型程序的子部分,而保留截然不同的軟件發(fā)明。在一些實施例中,多個軟件發(fā)明還可以被實現(xiàn)為單獨的程序。最后,單獨程序的任何組合都落在本發(fā)明的范圍內(nèi),這些單獨的程序一起實現(xiàn)此處描述的軟件發(fā)明。在一些實施例中,當(dāng)被安裝以便在一個或更多個計算機系統(tǒng)上操作時的軟件程序定義了一個或更多個專用機實現(xiàn)方式,該實現(xiàn)方式執(zhí)行并且實現(xiàn)該軟件程序的操作。
圖24示出了實現(xiàn)本發(fā)明的一些實施例的計算機系統(tǒng)。該計算機系統(tǒng)包括各種類型的計算機可讀媒體以及用于各種其它類型的計算機可讀媒體的接口。計算機系統(tǒng)2400 包括總線2405、處理器2410、圖形處理單元(GPU) 2420、系統(tǒng)存儲器2425、只讀存儲器2430、 永久存儲設(shè)備2435、輸入設(shè)備2440以及輸出設(shè)備2445??偩€2405總地表示所有系統(tǒng)、外設(shè)以及芯片組總線,這些總線可通信地連接計算機系統(tǒng)2400中的大量內(nèi)部設(shè)備。例如,總線2405將處理器2410與只讀存儲器2430、GPU 2420、系統(tǒng)存儲器2425以及永久存儲設(shè)備2435可通信地連接。從這些各種各樣的存儲器單元中,處理器2410檢索用于執(zhí)行的指令和用于處理的數(shù)據(jù),以便執(zhí)行本發(fā)明的過程。在一些實施例中,處理器包括現(xiàn)場可編程門陣列(FPGA)、 ASIC或用于執(zhí)行指令的各種其它電子元件。在一些實施例中,處理器將一些指令傳遞給 GPU2420,并且由GPU 2420執(zhí)行。GPU 2420可以下載各種計算或者完成處理器2410提供的圖形處理。在一些實施例中,可以利用CoreImage的內(nèi)核陰影語言(kernel shading language)提供這些功能。只讀存儲器(ROM) 2430存儲靜態(tài)數(shù)據(jù)和指令,處理器2410和計算機系統(tǒng)的其它模塊需要這些靜態(tài)數(shù)據(jù)和指令。另一方面,永久存儲設(shè)備2435是讀寫存儲器設(shè)備。該設(shè)備是非易失性存儲器單元,用于即使當(dāng)計算機系統(tǒng)2400關(guān)閉時,存儲指令和數(shù)據(jù)。本發(fā)明的一些實施例將大型存儲設(shè)備(諸如磁盤或者光盤及其相應(yīng)的盤驅(qū)動器)用作永久存儲設(shè)備 2435。其它實施例將可移動存儲設(shè)備(諸如軟盤、閃存驅(qū)動器或ZIP⑧盤及其相應(yīng)的盤驅(qū)動器)用作永久存儲設(shè)備。與永久存儲設(shè)備2435相同,系統(tǒng)存儲器2425是讀寫存儲器設(shè)備。然而,與存儲設(shè)備2435不同,系統(tǒng)存儲器是易失性讀寫存儲器,諸如隨機存取存儲器。 系統(tǒng)存儲器存儲處理器運行時需要的一些指令和數(shù)據(jù)。在一些實施例中,本發(fā)明的過程被存儲在系統(tǒng)存儲器2425、永久存儲設(shè)備2435和/或只讀存儲器2430中。例如,根據(jù)一些實施例,各個存儲器單元包括用于處理多媒體項目的指令。從這些各個存儲器單元中,處理器 2410檢索用于執(zhí)行的指令和用于處理的數(shù)據(jù),以便執(zhí)行一些實施例的過程??偩€2405還連接到輸入和輸出設(shè)備2440和2445。輸入設(shè)備使用戶能夠與計算機系統(tǒng)進(jìn)行信息通信并且選擇命令。輸入設(shè)備2440包括字母數(shù)字鍵盤和指點設(shè)備(也稱為“光標(biāo)控制設(shè)備”)。輸出設(shè)備2445顯示由計算機系統(tǒng)產(chǎn)生的圖像。例如,這些設(shè)備顯示 GUI。輸出設(shè)備包括打印機和顯示設(shè)備,諸如陰極射線管(CRT)或液晶顯示器(LCD)。最后,如圖24中示出的,總線2405還通過網(wǎng)絡(luò)適配器(未示出)將計算機2400耦接到網(wǎng)絡(luò)2465。采用這種方式,計算機可以是計算機網(wǎng)絡(luò)(諸如局域網(wǎng)(“LAN”))、廣域網(wǎng)(“WAN”)、或內(nèi)聯(lián)網(wǎng)、或網(wǎng)絡(luò)的網(wǎng)絡(luò)(諸如因特網(wǎng)))的部分。例如,計算機2400可以被耦接到網(wǎng)頁服務(wù)器(網(wǎng)絡(luò)2465),從而當(dāng)用戶與網(wǎng)頁瀏覽器中運行的GUI交互時,計算機 2400上運行的網(wǎng)頁瀏覽器可以與網(wǎng)頁服務(wù)器交互。結(jié)合本發(fā)明,可以使用計算機系統(tǒng)2400的任意或所有部件。例如,在一些實施例中,所描繪的框架的執(zhí)行可以由GPU 2420而不是CPU 2410實現(xiàn)。同樣,其它圖形編輯功能可以被下載到GPU 2420,在GPU 2420中,在將結(jié)果傳遞回存儲器或處理器2410之前執(zhí)行這些圖形編輯功能。然而,GPU 2420的常見限制是GPU 2420在給定時間內(nèi)能夠存儲和處理的指令的數(shù)量。因此,一些實施例使指令適于實現(xiàn)過程,從而這些過程安裝在GPU 2420的指令緩沖器上,以便在GPU2420上本地運行。另外,一些GPU 2420不包含足夠的處理資源來執(zhí)行一些實施例的過程并且因此CPU 2410執(zhí)行指令。本領(lǐng)域技術(shù)人員可以理解,結(jié)合本發(fā)明,還可以使用任何其它系統(tǒng)配置。一些實施例包括電子元件諸如微處理器、存儲設(shè)備以及存儲器,其將計算機程序指令保存在機器可讀或計算機可讀介質(zhì)(可替代地,被稱為計算機可讀存儲媒體、機器可讀媒體、或機器可讀存儲媒體)中。該計算機可讀媒體的一些例子包括RAM、R0M、只讀光盤 (CD-ROM)、可記錄光盤(CD-R)、可重寫光盤(CD-RW)、只讀數(shù)字化視頻光盤(例如,DVD-ROM、 雙層DVD-ROM)、各種可記錄/可重寫DVD (例如,DVD-RAM、DVD-RW、DVD+RW等)、閃存(例如, SD卡、迷你SD卡、微型SD卡等)、磁性和/或固態(tài)硬盤驅(qū)動器、只讀和可記錄藍(lán)光盤、超密度光盤、任何其它光盤或磁性介質(zhì),以及軟盤。計算機可讀媒體可以保存能夠由至少一個處理器執(zhí)行的計算機程序,并且包括用于實現(xiàn)各種操作的指令集。被構(gòu)造用于保存并執(zhí)行指令集的硬盤設(shè)備的例子包括,但并不限于,專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、 可編程邏輯器件(PLD)、R0M以及RAM設(shè)備。計算機程序或計算機代碼的例子包括機器代碼和文件,該機器代碼諸如可以由編譯器產(chǎn)生,該文件包括可以由使用翻譯程序的計算機、電子元件或微處理器執(zhí)行的高級代碼。如本申請的說明書以及任何權(quán)利要求中使用的,術(shù)語“計算機”、“服務(wù)器”、“處理器”以及“存儲器”都是指電子或其它技術(shù)設(shè)備。這些術(shù)語不包括人或人群。出于說明的目的,術(shù)語“顯示”或“正在顯示”是指電子設(shè)備上的顯示。如本申請的說明書以及任何權(quán)利要求中使用的,術(shù)語“計算機可讀介質(zhì)”和“計算機可讀媒體”全都被定義為切實的物理對象, 用于以計算機可讀取的形式保存信息。這些術(shù)語不包括任何無線信號、有線下載信號以及任何其它短暫的信號。雖然已經(jīng)結(jié)合大量具體細(xì)節(jié)描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將認(rèn)識到,在不脫離本發(fā)明的精神的情況下,可以以其它特定的形式實現(xiàn)本發(fā)明。因此,本領(lǐng)域技術(shù)人員將理解,本發(fā)明并不受前述示例性細(xì)節(jié)的限制,而是由所附權(quán)利要求來限定。
權(quán)利要求
1.一種方法,包括顯示具有特定順序的多個菜單項;提供顯示區(qū)域,用于以特定順序顯示這些菜單項中的一部分;以及在顯示區(qū)域中提供選擇窗口,用于指示菜單項當(dāng)前是可選擇的,顯示區(qū)域進(jìn)一步用于接收輸入,所述輸入用于(i)使菜單項以特定順序滾動通過選擇窗口,以及(ii)當(dāng)在選擇窗口中顯示特定菜單項時,選擇所述特定菜單項。
2.根據(jù)權(quán)利要求1的方法,其中所述顯示區(qū)域是線形顯示區(qū)域。
3.根據(jù)權(quán)利要求1的方法,其中所述顯示區(qū)域是半圓形顯示區(qū)域。
4.根據(jù)權(quán)利要求3的方法,其中在半圓形顯示區(qū)域的頂部提供所述選擇窗口。
5.根據(jù)權(quán)利要求1的方法,其中當(dāng)將這些菜單項滾動通過選擇窗口時,這些菜單項在顯示區(qū)域一側(cè)滾動到顯示區(qū)域中并且在顯示區(qū)域的相對側(cè)滾動到顯示區(qū)域之外。
6.根據(jù)權(quán)利要求5的方法,其中當(dāng)菜單項接近顯示區(qū)域的側(cè)邊時,將菜單項顯示為部分淡化。
7.根據(jù)權(quán)利要求1的方法,其中所述顯示區(qū)域用于接收光標(biāo)控制器輸入。
8.根據(jù)權(quán)利要求1的方法,其中所述菜單項是視頻編輯工具,其中所述顯示區(qū)域被置于視頻編輯應(yīng)用中。
9.根據(jù)權(quán)利要求8的方法,其中視頻編輯工具包括波紋工具、卷動工具、滑動工具以及滑移工具中的至少一個。
10.一種計算機可讀介質(zhì),存儲供至少一個處理器執(zhí)行的計算機程序,所述計算機程序包括指令集,所述指令集用于接收具有特定順序的一組菜單項,其中這些菜單項中的特定一個菜單項被指定為初始可選擇的菜單項;顯示用于指示菜單項當(dāng)前可選擇的選擇窗口;在選擇窗口中顯示初始可選擇的菜單項;接收用于將菜單項以特定順序滾動通過選擇窗口的輸入;接收用于在特定菜單項被顯示在選擇窗口中時選擇所述特定菜單項的輸入。
11.根據(jù)權(quán)利要求10的計算機可讀介質(zhì),進(jìn)一步包括指令集,用于在選擇窗口的任一側(cè)顯示菜單項的子集。
12.根據(jù)權(quán)利要求11的計算機可讀介質(zhì),其中當(dāng)接收到用于將菜單項滾動通過選擇窗口的輸入時,只顯示選擇窗口的任一側(cè)的菜單項的子集。
13.根據(jù)權(quán)利要求10的計算機可讀介質(zhì),進(jìn)一步包括指令集,用于在接收用于滾動菜單項的輸入之前,接收用于打開菜單的輸入,使得在選擇窗口的任一側(cè)顯示菜單項的子集。
14.根據(jù)權(quán)利要求13的計算機可讀介質(zhì),進(jìn)一步包括指令集,用于當(dāng)接收到用于打開菜單的輸入時,將菜單項的子集顯示為從選擇窗口向外展開成半圓形。
15.根據(jù)權(quán)利要求10的計算機可讀介質(zhì),其中接收到的用于將菜單項滾動通過選擇窗口的輸入包括來自選擇窗口的一側(cè)的光標(biāo)控制器的點擊輸入。
16.根據(jù)權(quán)利要求15的計算機可讀介質(zhì),其中接收到的用于選擇特定菜單項的輸入包括當(dāng)特定菜單項被顯示在選擇窗口中時,來自選擇窗口上的光標(biāo)控制器的點擊輸入。
17.根據(jù)權(quán)利要求10的計算機可讀介質(zhì),其中接收到的用于將菜單項滾動通過選擇窗口的輸入包括光標(biāo)控制器按鈕的按下和保持以及光標(biāo)控制器的移動。
18.根據(jù)權(quán)利要求17的計算機可讀介質(zhì),其中接收到的用于選擇特定菜單項的輸入包括當(dāng)特定菜單項被顯示在選擇窗口中時,光標(biāo)控制器按鈕的釋放。
19.一種計算機可讀存儲介質(zhì),存儲供至少一個處理器執(zhí)行的計算機程序,所述計算機程序包括圖形用戶界面(GUI),所述GUI包括顯示區(qū)域,用于顯示菜單的菜單項的子集,所述菜單項具有特定順序;以及在顯示區(qū)域中的選擇窗口,所述選擇窗口用于指示菜單項當(dāng)前是可選擇的, 所述顯示區(qū)域進(jìn)一步用于接收用戶輸入,所述輸入用于(i)以特定順序?qū)⒉藛雾棟L動通過選擇窗口,以及(ii)當(dāng)在選擇窗口中顯示特定菜單項時,選擇所述特定菜單項。
20.根據(jù)權(quán)利要求19的計算機可讀存儲介質(zhì),其中GUI被置于媒體編輯應(yīng)用中。
21.根據(jù)權(quán)利要求19的計算機可讀存儲介質(zhì),其中GUI被置于計算機的操作系統(tǒng)中。
22.根據(jù)權(quán)利要求19的計算機可讀存儲介質(zhì),其中GUI被置于手持設(shè)備的觸摸屏中。
全文摘要
本發(fā)明的一些實施例提供了一種定義具有特定順序的多個菜單項的方法。該方法提供用于以特定順序顯示這些菜單項中的一部分的顯示區(qū)域。該方法在顯示區(qū)域中提供選擇窗口,以便指示菜單項當(dāng)前是可選擇的。顯示區(qū)域還用于接收輸入,該輸入用于(i)使菜單項以特定順序滾動通過選擇窗口,以及(ii)當(dāng)在選擇窗口中顯示特定菜單項時,選擇該特定菜單項。在一些實施例中,該顯示區(qū)域是線形顯示區(qū)域,而在一些實施例中,該顯示區(qū)域是半圓形顯示區(qū)域或其它形狀。
文檔編號H04M1/725GK102449589SQ201080023469
公開日2012年5月9日 申請日期2010年4月22日 優(yōu)先權(quán)日2009年4月30日
發(fā)明者E·斯科盧茲, T·朗馬徹 申請人:蘋果公司