專利名稱:放射式菜單的制作方法
技術領域:
本發(fā)明涉及在圖形用戶界面上呈現(xiàn)菜單或工具欄選項。具體地,本發(fā)明涉及以放射狀呈現(xiàn)這些選項。
背景技術:
計算機應用的用戶界面通常為用戶提供可從其進行選擇的大量命令或用戶界面工具。例如,許多應用包括下拉式菜單。這樣的菜單通常包括命令列表。存在諸如打開文件、打印文檔、保存文檔等標準命令,以及諸如插入分頁符(文字處理應用)、格式化單元格 (表格處理應用)等的更加特定于應用的命令。這樣的下拉式菜單通常位于運行應用的窗口的頂部。通過光標控制器訪問下拉式菜單涉及使用光標控制裝置將光標移動至窗口的頂部,然后移動至適當?shù)捻敿壊藛雾?,選擇子菜單(如果需要)等。使用光標在線性下拉式菜單上選擇項,需要用戶將光標沿菜單向下移動特定距離來到達所需菜單項。這可能要求移動光標通過相當大的距離,并且到達所需菜單項而不錯過它需要以相當大的精度來移動光標。放射式菜單可以提供所需菜單選擇,而沒有下拉式菜單中固有的困難。然而,在普遍的計算應用中到目前為止極少使用放射式菜單。因此,需要具有改進特征的放射式菜單, 這種改進特征使得這樣的菜單是用戶更期望的。
發(fā)明內(nèi)容
本發(fā)明的一些實施例提供了用于操縱應用的圖形用戶界面中的放射式菜單的多種新穎的技術。在一些實施例中,放射式菜單包括圍繞內(nèi)部位置(例如放射式菜單的中心) 布置的多個可選項。一些實施例的新穎放射式菜單技術包括(i)不均勻間隔的菜單項, (ii)在與項相關聯(lián)的區(qū)域中使用陰影或突出顯示(highlight)來指示該項的當前可選擇性,以及(iii)使用放射式手勢來打開子菜單以及隨后顯示子菜單。在一些實施例中,可選項圍繞內(nèi)部位置的不均勻布置是基于分配給不同可選項的優(yōu)先級的。具體地,一些實施例使菜單項之間的距離不同,從而具有較高優(yōu)先級的項比具有較低優(yōu)先級的項更遠離其相鄰項。一些實施例將角度范圍分配給每個菜單項。如果用戶在由角度范圍定義的角度區(qū)域中移動光標或觸摸觸摸屏,然后提供選擇輸入,那么將選擇該菜單項。一些這樣的實施例向較高優(yōu)先級項分配的角度范圍大于向較低優(yōu)先級項分配的角度范圍。各種準則可以被使用來確定不同菜單項的優(yōu)先級,所述準則諸如菜單項的選擇頻率或預期選擇頻率。一些實施例在菜單項當前可選時,在菜單項的可選區(qū)域上顯示突出顯示。在一些實施例中,菜單項被顯示為可區(qū)分的圖標,并且被突出顯示的區(qū)域大于所顯示的圖標。在一些實施例中,突出顯示被顯示為如同光從放射式菜單的中心向所顯示的菜單項發(fā)出。該突出顯示所覆蓋的區(qū)域是由分配給特定菜單項的角度范圍定義的角度區(qū)域,或者在一些實施例中是該角度區(qū)域延伸特定徑向距離的部分。在一些實施例中,當光標位于該區(qū)域上方時,
5用于該特定項的區(qū)域被突出顯示,在該種情況下,用戶可以通過點擊鼠標按鈕、叩擊觸摸板等選擇該項。除了鼠標點擊或等同的輸入以外,一些實施例還能夠?qū)崿F(xiàn)對菜單項的手勢選擇。 在一些實施例中,手勢選擇是在特定方向上快速移動光標。手勢選擇,類似于點擊選擇,使得從放射式菜單選擇特定菜單項。在一些實施例中,手勢的角度確定了所選的菜單項。當所選菜單項打開子菜單時,一些實施例等待直到接收到進一步輸入,并將子菜單顯示為中心位置在光標位置處的放射式菜單。這使得能夠?qū)崿F(xiàn)后續(xù)的快速揮掃(swe印)手勢。在一些實施例中,在上面描述中提及的光標是顯示在屏幕上的圖標(例如,箭頭)。圖標由用戶通過與用戶交互的光標控制裝置(例如,鼠標、觸摸板等)來控制以在屏幕上移動該圖標。用戶還與光標控制裝置交互以產(chǎn)生諸如選擇等其它輸入(例如,通過點擊或雙擊鼠標按鈕)。然而,在有些實施例中,光標不被顯示,并且被定義為用戶正觸摸屏幕的位置(例如,當放射式菜單被顯示在觸摸屏上時)。因此,光標隨用戶手指(或觸摸觸摸屏的其它物體)的移動而移動,盡管沒有圖標被實際顯示。
所附權(quán)利要求中闡述了本發(fā)明的新穎特征。然而,為了解釋的目的,在下面的附圖中闡述本發(fā)明的幾個實施例。圖1概念性地示出了一組可能的可選菜單項。圖2示出了具有圖1的8個可選菜單項的放射式菜單。圖3和4示出了圖2的放射式菜單的不同菜單項的突出顯示的示例。圖5示出了對用于打開子菜單的放射式菜單的菜單項的手勢選擇。圖6示出了其可選項圍繞中心位置不均勻布置的放射式菜單的打開和顯示。圖7概念性地示出了用于在⑶I中顯示其可選項圍繞中心位置不均勻布置的放射式菜單的一些實施例的處理。圖8示出了根據(jù)一些實施例的為放射式菜單的每個菜單項分配角度區(qū)域。圖9示出了反映包括一些實施例的放射式菜單的⑶I的各種狀態(tài)以及這些狀態(tài)之間的轉(zhuǎn)變的狀態(tài)圖。圖10和11示出了圖6的放射式菜單中光標在兩個不同菜單項上,從而菜單項被突出顯示的情況。圖12示出了根據(jù)一些實施例,響應于從主菜單中選擇菜單項而打開子菜單。圖13示出了從放射式菜單選擇項以及隨后關閉放射式菜單。圖14示出了具有4個等間隔菜單項的放射式菜單。圖15示出了圖14的放射式菜單以及在放射式菜單的中心處開始的光標的手勢移動。圖16示出了圖14的放射式菜單以及不在放射式菜單的中心處開始的光標的手勢移動。圖17概念性地示出了用于顯示放射式菜單和子菜單以及接收來自菜單的選擇的一些實施例的處理。圖18示出了由于點擊輸入而打開放射式菜單,以及隨后的揮掃手勢以選擇菜單項。圖19示出了在圖18中對菜單項進行手勢選擇的結(jié)果。圖20示出了用戶移動以將放射式子菜單移動至光標位置和隨后從子菜單中手勢選擇菜單項的結(jié)果。圖21示出了顯示操作系統(tǒng)的各種特征的計算機桌面,包括一些實施例的放射式菜單。圖22示出了使用一些實施例的放射式菜單的視頻編輯應用。圖23示出了正在使用一些實施例的放射式菜單顯示網(wǎng)絡瀏覽器的手持裝置。圖M概念性地示出了用于呈現(xiàn)放射式菜單的一些實施例的應用的軟件架構(gòu)。圖25概念性地示出了用于制作應用的一些實施例的處理。圖沈概念性地示出了被用來示出本發(fā)明的一些實施例的計算機系統(tǒng)。
具體實施例方式在下面的描述中,為了解釋的目的闡述了大量細節(jié)。然而,本領域的技術人員應該意識到本發(fā)明在不使用這些特定細節(jié)的情況下可以被實施。例如,本申請的一些部分涉及從鼠標接收輸入的示例。本領域技術人員應該理解類似的輸入也可以從其它光標控制器或者甚至沒有光標的觸摸屏接收。本發(fā)明的一些實施例提供了用于操縱裝置的應用的圖形用戶界面(GUI)中的放射式菜單的多種新穎的技術。在一些實施例中,放射式菜單包括圍繞內(nèi)部位置(例如完全或部分曲線式圍繞放射式菜單的內(nèi)部位置)布置的多個可選項。在其中呈現(xiàn)放射式菜單的GUI可以是裝置(例如,計算機、手持裝置等)上的操作系統(tǒng)、運行在操作系統(tǒng)上的應用、 獨立的應用等的GUI。一些實施例的新穎放射式菜單技術包括(i)不均勻間隔的菜單項, ( )在與項相關聯(lián)的區(qū)域中使用陰影或突出顯示來指示該項的當前可選擇性,以及(iii) 使用放射式手勢來打開子菜單以及隨后顯示子菜單。下面通過參考圖2-5描述這些特征的多個高層示例。這些示例將通過參考圖1中概念示出的一組可能的可選菜單項100來描述。圖1示出了 8個主菜單項項 A-H(IOl-IOS)0 8個主菜單項中的每一個分別與一個命令相關,該命令(i)執(zhí)行指令(例如,保存文件、復制文本等),(ii)激活工具(例如,視頻編輯工具、畫圖工具等),或(iii) 打開子菜單。項F(106)是菜單項的示例,選擇該菜單項會打開具有4個項111-114的子菜圖2示出了具有8個可選菜單項101-108的放射式菜單200。這些菜單項在放射式菜單中顯示為可區(qū)分的圖標,所有這些圖標都位于與菜單的中心位置相距徑向距離R的地方。在放射式菜單200中,菜單項被顯示為彼此間隔不相等的距離。例如,項C(103)和項G(107)之間的距離205明顯大于項H(IOS)和項A(IOl)之間的距離210。在一些實施例中,不同菜單項之間距離的差異基于分配給菜單項的優(yōu)先級。具體地,一些實施例中,使菜單項之間的距離不同,從而與具有低優(yōu)先級的菜單項相比,具有較高優(yōu)先級的菜單項更遠離相鄰菜單項。在一些實施例中,放射式菜單中的每個菜單項被分配以一個特定角度范圍,并且所顯示的圖標位于其特定范圍的邊界之間的中間。特定菜單項的優(yōu)先級越高,分配給該特定菜單項的角度范圍就越大。例如,項Βαο》具有高于項
7E(105)的優(yōu)先級,所以在放射式菜單200中被分配了較大的角度范圍。各種準則可以被用于確定不同菜單項的優(yōu)先級。例如,一些實施例使用菜單項被選擇的頻率來分配該菜單項的優(yōu)先級。更經(jīng)常被選擇的菜單項將具有更高優(yōu)先級,并因此被分配更大的角度區(qū)域,以及被更分開地顯示。使用選擇頻率確定優(yōu)先級的結(jié)果是,優(yōu)先級可以隨時間改變,從而放射式菜單的顯示將改變。盡管菜單項被顯示為可區(qū)分的圖標,但是當菜單項當前可選時,一些實施例在用于該菜單項的大于所顯示圖標的可選區(qū)域上顯示突出顯示。在一些實施例中,特定菜單項在光標位于該特定菜單項上時是當前可選的。圖3和4示出了用于放射式菜單200的不同菜單項的這樣的突出顯示的示例。圖3示出了位于項G(107)的所顯示圖標上的光標305。 因為光標位于項G(107)之上,所以該項當前可選,并因此被突出顯示。即,用戶能夠點擊鼠標按鈕、叩擊觸摸板等,并使用位于其當前位置的光標來選擇項G (107)。突出顯示310指示分配給項G(107)的角度范圍,所顯示的圖標位于該角度范圍的中間。在一些實施例中,該突出顯示被顯示為從放射式菜單的中心發(fā)出的光,照亮當前可選菜單項。圖4示出了放射式菜單200,其中光標305位于分配給項E (105)的角度區(qū)域中。盡管光標不是真正位于所顯示的圖標之上,但是該菜單項仍然被突出顯示410所突出顯示。 在一些實施例中,用戶可以通過點擊分配給菜單項的角度區(qū)域中的任何位置來從放射式菜單中選擇該菜單項。因此,盡管光標305沒有位于用于菜單項105的顯示圖標上,如果用戶點擊鼠標按鈕或提供等同的選擇輸入,項E(l(^)將被選擇。在一些實施例中,該角度區(qū)域向外無限延伸,從而用戶選擇菜單項時不需要使光標位于放射式菜單附近。除了鼠標點擊或等同輸入之外,一些實施例還允許對菜單項進行手勢選擇。在一些實施例中,手勢選擇是在特定方向上快速移動光標。類似于點擊選擇,手勢選擇引起從放射式菜單選擇特定菜單項。圖5示出了從也包括菜單項101-108的放射式菜單500中手勢選擇菜單項106,其打開了子菜單。圖5示出了兩個階段,第一階段510示出了手勢選擇,第二階段520示出了打開子菜單550。階段510示出了放射式菜單500。八個菜單項在放射式菜單500中都具有同樣的優(yōu)先級,因此等間隔地圍繞中心位置。階段510還示出了從菜單的中心將光標505移動至菜單中心與項F(106)的所顯示圖標之間的位置515,以及至項F(106)的所顯示圖標外側(cè)的位置525。在該方向上快速移動光標505是使得項F(106)被選擇的手勢移動。在一些實施例中,通過這樣的手勢移動選擇的項依賴于光標移動的角度。當光標移動的角度落在分配給特定項的角度范圍內(nèi)時,則該特定項被選擇。在階段510,光標移動的角度是分配給菜單項106的角度。階段520示出了通過手勢選擇而選擇項F(106)的結(jié)果。項106的選擇引起子菜單550被打開。在一些實施例中,如圖所示,在手勢選擇之后,子菜單作為以光標位置處為中心的放射式菜單而打開。在一些實施例中,子菜單不顯示在該位置,直到從用戶接收到選擇輸入(例如,鼠標點擊,叩擊觸摸板、擊鍵等)為止。一旦接收到該輸入,子菜單圍繞光標顯示,從而用戶可以容易地通過手勢或其它輸入從子菜單選擇項。盡管在上面和下面的許多示例中將光標示出為通過來自諸如鼠標的光標控制裝置的輸入被用戶移動的圖標(例如箭頭),如同大量的普遍計算系統(tǒng)的情況,但是本領域的技術人員應該意識到光標的概念不限于這樣的示例。在一些實施例中,例如,光標不被顯
8示,并且被定義為用戶觸摸屏幕的位置(即,當放射式菜單被顯示在觸摸屏上時)。因此,光標隨著用戶手指(或觸摸該觸摸屏的其它物體)的移動而移動,盡管沒有圖標被實際顯示。上面提供了放射式菜單的多個新穎特性的示例。在下面的部分中將描述本發(fā)明的若干更具體的實施例。部分I描述了為菜單項分配優(yōu)先級,以及基于這些優(yōu)先級顯示放射式菜單。部分II然后描述了根據(jù)一些實施例對放射式菜單中的菜單項的突出顯示和選擇。 部分III接下來描述了手勢選擇和作為手勢選擇結(jié)果的打開子菜單。部分IV示出了一些實施例的放射式菜單的各種使用。接下來,部分V描述了采用一些實施例的放射式菜單的應用的軟件架構(gòu),部分VI描述了實現(xiàn)本發(fā)明的一些實施例的計算機系統(tǒng)。I.放射式菜單的顯示如上所述,本發(fā)明的一些實施例提供了諸如包括圍繞中心位置布置的多個可選項的放射式菜單之類的放射式GUI結(jié)構(gòu)。可選項在一些實施例中是單獨的圖標,如上面圖1-5 所示。即,可選項不是圓或其它形狀中相連續(xù)的多個片段。在一些實施例中,這些單獨圖標根據(jù)分配給每個可選項的優(yōu)先級圍繞中心位置布置。圖6示出了這樣的放射式菜單的打開和顯示,其中可選項圍繞中心位置不均勻布置。圖6示出了以5個階段610-650打開和顯示放射式菜單600。階段610示出了單個可選項的顯示,階段620示出了對該單個項的選擇,階段630和640示出了響應于該選擇打開放射式菜單,而階段650示出了完全打開的放射式菜單。放射式菜單在不同實施例中被顯示為不同GUI的一部分。例如,放射式菜單可以是計算機、手持裝置(例如蜂窩電話、媒體播放器等)或其它計算裝置上的操作系統(tǒng)、運行在操作系統(tǒng)上的應用(例如,媒體編輯應用,文字處理應用,計算機游戲等)或獨立的應用的GUI的一部分。盡管圖6的示例和下面的其它示例示出了放射式菜單被顯示在空白背景的前方,但是本領域技術人員應該意識到在一些實施例中,在放射式菜單被啟動時,放射式菜單項可顯示在其它UI項之上。如提到的,階段610示出了顯示單個可選項655。在一些實施例中,放射式菜單的顯示是通過選擇初始顯示的單個可選項(例如項65 而啟動的。在一些實施例中,這樣的項永久顯示在放射式菜單為其一部分的GUI中。一些GUI包括這些可選項中的多個,選擇其中每一個將啟動一不同的放射式菜單。在另一方面,一些⑶I僅包括一個這樣的可選項。在一些實施例中,如在項655的情況下,永久顯示在⑶I中的該單個可選項是放射式菜單的可選項之一。例如,在一些實施例中,在放射式菜單中的不同可選項是各種工具 (例如,視頻編輯工具),在特定時間僅其中一項可以是活動的。因此,在一些實施例中,當放射式菜單沒有被啟動時所顯示的單個可選項是當前活動的工具(或者是默認工具或者是最經(jīng)常選擇的工具)。階段610還示出了光標615在可選項655上。階段620示出了通過鼠標點擊項 655上的光標來選擇該項655。盡管在階段620的GUI中,鼠標點擊被文字“(點擊…)”概念性地示出,但是不同實施例示出了以不同方式選擇項來啟動放射式菜單,包括只是打開放射式菜單。其它一些實施例以不同于其初始顯示的顏色來閃爍所選項。一些實施例在光標最初位于可選項(例如610)上時改變該可選項的顏色,來指示點擊(或其它選擇輸入) 將選擇該菜單項并因此啟動放射式菜單。盡管鼠標點擊被描述為引起放射式菜單的啟動,但是本領域技術人員應該意識到
9有不同的選擇輸入可以啟動放射式菜單。例如,不同的光標控制器,例如觸摸板、圖形板和觸筆等,可以被用在一些實施例中。不同的光標控制器將具有不同的選擇輸入(例如,來自鼠標的選擇輸入可以是點擊、雙擊、右擊等,而來自觸摸板的選擇輸入可以是叩擊、雙叩擊、 雙指叩擊等)。此外,一些實施例在根本不顯示光標的觸摸屏(例如,手持裝置的觸摸屏) 上顯示放射式菜單。而用戶可以通過在顯示項的位置處叩擊觸摸屏來選擇該項。返回至圖6,階段630和640示出了放射式菜單600的一些實施例的打開過程。如圖所示,在一些實施例中,放射式菜單在啟動后打開,各可選菜單項從初始可選項的位置向外螺旋,該位置成為放射式菜單項的中心。階段630示出了在選擇項655之后不久的放射式菜單600。在這時,在放射式菜單600中的菜單項的數(shù)量(11個項)可以被辨別,但是這些不同的項中的大部分項的內(nèi)容不能被識別。階段630還示出了不同的項的順序。11個項被顯示為如同它們都被堆疊在初始項 655的下方。即,從項655開始順時針圍繞項的圓圈,每項顯示在前一項的下面。從下面的階段可知,這遵循著項最終繞菜單被顯示的順序。一些實施例總是以這種堆疊順序?qū)⑾嗤楋@示作為頂部菜單項(例如,在被選擇用于啟動了菜單的項不是菜單的多個項之一的情況下),而其它一些實施例按該順序?qū)⒈贿x擇用于啟動了菜單的菜單項顯示為頂部菜單項 (例如,在將最新近被選擇的菜單項顯示為用于啟動菜單的項的實施例中)。階段640示出了在其向外擴展打開過程的中間的放射式菜單600。在這時,不同菜單項的視覺內(nèi)容(即,每個圖標的圖形)是可辨別的,因為項已經(jīng)擴散得足夠分開,從而每個圖標的大部分是可見的。各項保持著在階段630的順序,都是順時針繞圓圈展開和堆疊, 盡管一些項分離得足夠遠,以至于堆疊方面不再被注意到。階段640還示出了 “取消”項,其在原來被項655占據(jù)的位置處出現(xiàn)在光標下方。 一些實施例顯示了這樣的選項,從而用戶不會為了關閉菜單而被迫選擇菜單項之一。這在菜單項表示各種命令而不是可以是活動的或不活動的不同工具的情況下特別有用。例如, 如果放射式菜單是操作系統(tǒng)的一部分,而且用戶選擇一項以啟動“關機”菜單但是然后決定它們不想讓計算機關機、重啟、休眠等,則用戶可以選擇取消選項來從GUI中移除整個菜在階段650,放射式菜單600被完全打開。如所示的,各種可選菜單項沒有圍繞中心位置均勻分散。一些實施例顯示了某些項較遠離相鄰項,而其它項較靠近相鄰項。在一些實施例中,如下面將具體描述的,每當光標與和特定項相關聯(lián)的中心位置成一角度,用戶就可以選擇該特定項,并且被顯示為離鄰居較遠的那些項與一組較大的角度相關聯(lián),并且因此更易于選擇。因此,一些實施例為項分配不同優(yōu)先級,并基于這些優(yōu)先級確定相鄰項之間的距離。在一些實施例中,優(yōu)先級基于選擇頻率。即,在放射式菜單中,最經(jīng)常被選擇的菜單項將具有其相鄰菜單項之間的最大間隔。這樣,特定菜單的外觀可以隨著不同菜單項更經(jīng)?;蚋唤?jīng)常被選擇而改變。圖7概念性地示出了用于在⑶I中顯示其可選項圍繞中心位置不均勻布置的放射式菜單(諸如圖6的菜單600)的一些實施例的處理700。如圖所示,處理700開始于接收 (在70 用于顯示放射式菜單的輸入。該輸入可以是對啟動放射式菜單的菜單項的選擇, 如上圖6中所示。在一些情況下,該輸入是鍵盤輸入(即,用戶按下的一個鍵或一組鍵來使得放射式菜單被顯示)。該輸入還可以簡單地是用于打開包括永久顯示的放射式菜單的應用的輸入。該處理然后確定(在710)每個菜單項的相對優(yōu)先級。在一些實施例中,每個項的優(yōu)先級指示在所顯示的放射式菜單中相對于其它菜單項給予該項多少空間。在一些實施例中,優(yōu)先級是整數(shù)值(例如,1,4,11等)。在其它實施例中,菜單項被分配的優(yōu)先級為百分數(shù),從而所有菜單項的優(yōu)先級加起來為百分之一百。在一些實施例中,該百分數(shù)基于不同菜單項已經(jīng)被選擇的次數(shù)。舉個簡單的例子,如果具有4個菜單項的特定菜單已經(jīng)被打開20 次,并且菜單項A已經(jīng)被選擇7次,菜單項B被選擇2次,菜單項C被選擇6次,菜單項D被選擇5次,則菜單項A將被分配35 %的優(yōu)先級,菜單項B為10 %優(yōu)先級,菜單項C為30 %優(yōu)先級,而菜單項D為25%優(yōu)先級。一些實施例還具有最大和/或最小優(yōu)先級,從而很少被選的項不會全部彼此上下重疊。其它實施例允許用戶手動確定優(yōu)先級(例如,通過應用設置窗口)或由軟件開發(fā)者將優(yōu)先級編碼在其中。處理700接下來確定(在71 菜單項的順序。在一些實施例中,該順序是預定的 (例如,通過用戶或通過軟件開發(fā)者)并且不改變。用戶可能不希望菜單項的順序被改變, 因為用戶通常記住找到經(jīng)常被選擇的菜單項的位置,并且能夠不費力地選擇這些項。然而, 在其它實施例中,基于優(yōu)先級確定順序。在一些實施例中,具有最高優(yōu)先級的菜單項(例如,相鄰項之間分配有最大空間量)在該順序中為第一個,然后具有次高優(yōu)先級的兩項在該項的任一側(cè),其后是接下來的兩項,以此類推。如圖6所示,這將使得較高優(yōu)先級項聚集在放射式菜單的一側(cè)。接下來,該處理識別(在720)⑶I中放射式菜單的中心位置。在一些實施例中,該中心位置是被選擇以啟動打開放射式菜單的初始單個可選項的位置,如圖6所示。然而,在一些這樣的情況下,該位置太靠近顯示區(qū)域(例如,窗口、顯示裝置等)的邊緣,以至于放射式菜單不能在該顯示區(qū)域中被完全顯示。為了改正這個問題,一些實施例在放射式菜單的正常大小將被一個或多個邊緣擋住時,改變放射式菜單的大小。其它實施例通過將放射式菜單的中心位置移動至⑶I中的一不同位置來解決這種情況。一些實施例直接使中心位置離開妨礙放射式菜單的完全顯示的邊緣而移動到允許放射式菜單適合該顯示區(qū)域的點。在一些實施例中,放射式菜單被移動從而其剛好適合顯示區(qū)域(即,從而其緊靠或幾乎緊靠其移動離開的一個或多個邊緣)。一些實施例以動畫顯示出放射式菜單移動離開遮擋其的一個或多個邊緣,以使得放射式菜單的出現(xiàn)更互動。放射式菜單的這種重新定位在放射式菜單在小型顯示裝置(例如,小型手持裝置)上實施時特別有用。使用本發(fā)明的放射式菜單的小型手持裝置的一個這樣的示例將在下面通過參考圖23來描述。同樣,假設放射式菜單可能占用手持裝置的屏幕的大部分,一些實施例在菜單被啟動時,總是在手持裝置的屏幕的中心顯示放射式菜單。因此,如果有通過選擇不同可選項來啟動的多個放射式菜單,則它們可以都使用手持裝置的GUI中的相同中心位置。在放射式菜單或子菜單被啟動時,上面所述的移動、重新定位和/或改變大小的操作都平等地應用于任何情況。換句話說,每當菜單或子菜單在一個或多個顯示屏邊緣附近被啟動,而這將在菜單或子菜單沒有被改變大小、移動離開邊緣或重新定位至特定位置 (例如,中心)的情況下?lián)踝〔藛位蜃硬藛螘r,一些實施例就移動放射式菜單或子菜單、重新定位放射式菜單或子菜單、和/或改變放射式菜單或子菜單的大小。因此,一些實施例為下面所述的許多處理(例如,為下面參考圖9-20所述的菜單選擇處理)使用重新定位和/ 或改變大小操作。處理700然后基于在710確定的優(yōu)先級和在715確定的順序來計算(在725)每對菜單項之間的角距離。一些實施例向每個菜單項分配放射式菜單的特定角度區(qū)域,并使該菜單項位于該角度區(qū)域的中心。圖8使用上面的具有4個菜單項的示例示出了這個。菜單項A(35%優(yōu)先級)被分配有1 度的角度區(qū)域(從線805至810),菜單項B(10%優(yōu)先級)被分配有36度的角度區(qū)域(從線810至線815),菜單項C(30%優(yōu)先級)被分配有90 度的角度區(qū)域(從線815至820),菜單項D(25%優(yōu)先級)被分配有108度的角度區(qū)域(從線820至線80 。將這些菜單項定位在其所分配的角度區(qū)域的中心處,從項A至項B的距離是81度,從項B至項C的距離是72度,從項C至項D的距離是99度,以及從項D至項A 的距離是108度。接下來,該處理識別(在730)要顯示每個菜單項的位置。在一些實施例中,這些位置取決于菜單項距離該菜單的中心位置的徑向距離。在一些實施例中,該距離由用戶手動確定,或由開發(fā)采用了該放射式菜單的應用的軟件開發(fā)者確定。其它實施例基于菜單項之間的角距離而改變距離。如果一些項非??拷谝黄?,則一些實施例使用較大的徑向距離,從而在這些項之間不會存在太大的重疊。為了確定實際位置,設定用于第一項的第一位置。一些實施例以在操作715處確定的順序固定第一項的位置。例如,第一項可以總是位于中心位置的正右方,如同圖6的菜單600的情況。一旦多個項位置之一被設定,其它菜單項位置可以通過圍繞具有所確定的用于該菜單的徑向距離的圓圈移動適當角距離(如在725處確定的)來確定。使用為所有菜單項識別出的顯示位置,處理700顯示(在73 放射式菜單,其中每項在所識別的位置處。如圖6所示,一些實施例通過從中心位置向外擴展來顯示菜單。其它一些實施例在730所確定的位置處直接顯示項。還有其它實施例使用不同于圖6中示出的動畫,例如顯示菜單項螺旋進入位置?!┓派涫讲藛伪淮蜷_,用戶可以從放射式菜單中選擇項。顯示菜單的各個方面和菜單項的選擇將在下面的部分中討論。II.在選擇過程期間放射式菜單的顯示如上所述,放射式菜單向用戶呈現(xiàn)多個可選項,供用戶從中選擇。在一些實施例中,用戶可以通過將光標移動至放射式菜單中分配給特定可選項的角度區(qū)域并提供選擇輸入(例如點擊鼠標按鈕、按壓鍵盤上的鍵、通過觸摸板提供特定形式的輸入等)來選擇該特定可選項。此外,在一些實施例中,用戶可以通過在分配給特定可選項的角度區(qū)域中向下按壓觸摸屏來選擇菜單項。在一些實施例中,用戶不需要直接在所顯示的菜單項上點擊來選擇該菜單項。事實上,所顯示的項或圖標與較大的可選項相關。例如,在一些實施例中,每個圖標與一個角度區(qū)域相關聯(lián)。點擊角度區(qū)域內(nèi)的任何位置將選擇該菜單項。在一些實施例中,該可選區(qū)域不僅位于菜單的中心位置和圖標之間,還遠離中心向外無限延伸(或延伸至顯示放射式菜單的顯示區(qū)域的邊緣)。下面參考圖9描述一些實施例的放射式菜單的顯示和選擇。圖9示出了反映包
12括一些實施例的放射式菜單的GUI的各種狀態(tài)以及這些狀態(tài)之間的轉(zhuǎn)變的狀態(tài)圖。顯示 GUI的各種狀態(tài)和這些狀態(tài)之間的轉(zhuǎn)變是通過在一些實施例中的一個或多個處理來執(zhí)行的。即,它們是通過一個或多個處理執(zhí)行的,這些處理作為其GUI中顯示放射式菜單的應用的一部分而運行。在不同實施例中,該應用可以是操作系統(tǒng)、獨立應用等。通過參考圖6和 10-13,描述狀態(tài)和轉(zhuǎn)變,其示出了一些實施例的放射式菜單的各個方面。如圖所示,一開始顯示(在90 單個可選項。這樣項的示例是圖6的階段610處的項655。當選擇輸入被接收(例如,用戶點擊該單個可選項,如圖6的階段620),GUI轉(zhuǎn)變?yōu)闋顟B(tài)910,并打開放射式菜單。在一些實施例中,打開放射式菜單必然導致菜單項向外擴展,如圖6的階段630和640所示。然而,在放射式菜單被打開時,其它一些實施例在其位置簡單顯示了放射式菜單的菜單項,而沒有任何動畫?!┓派涫讲藛伪淮蜷_,⑶I轉(zhuǎn)變至狀態(tài)915以突出顯示菜單取消按鈕。圖6的階段650示出了光標615在菜單取消按鈕660上方的放射式菜單600。在菜單取消按鈕位于放射式菜單的中心處、并且該中心是GUI中被選擇以啟動放射式菜單的單個可選項的初始位置的情況下,一旦打開放射式菜單,光標將在菜單取消按鈕之上,如階段650的情況。如上所述,一些實施例的菜單取消按鈕使得用戶能夠關閉放射式菜單而不選擇菜單項之一。當在菜單取消按鈕被突出顯示時接收到選擇輸入時,⑶I轉(zhuǎn)變至狀態(tài)920以關閉當前活動的菜單,而不選擇。即,如果用戶選擇菜單取消按鈕,則放射式菜單關閉并且沒有菜單項被選擇。當當前活動的菜單(即,正在被關閉的菜單)是主菜單(即,該放射式菜單不是另一放射式菜單的子菜單)時,GUI轉(zhuǎn)變回狀態(tài)905,所述單個選擇項(例如圖6的項 655)被再次顯示。另一方面,當當前活動的菜單是放射式子菜單時,⑶I轉(zhuǎn)變至狀態(tài)925以使得上一菜單(即,正在關閉的子菜單的母菜單)成為活動菜單。下面描述關于選擇和顯示子菜單的具體細節(jié)。⑶I然后轉(zhuǎn)變至930來突出顯示母菜單中位于光標下的項。在一些實施例中, 如下面進一步所述的,子菜單被顯示為其中心位置在母菜單中打開了該子菜單的項的位置處的放射式菜單。這樣,當菜單取消按鈕被選擇時,光標將在母菜單中的該項上,因此該項在GUI從狀態(tài)925轉(zhuǎn)變?yōu)闋顟B(tài)930時被突出顯示。下面將進一步詳細討論菜單項的突出顯
7J\ ο當⑶I在狀態(tài)915并且光標移動離開菜單取消按鈕至菜單項時,⑶I轉(zhuǎn)變至狀態(tài) 930并突出顯示光標下的菜單項。圖10和11示出了放射式菜單600,其中光標615在兩個不同的菜單項上。在圖10中,菜單項1005被突出顯示。光標615不是實際在表示菜單項 1005的圖標1010上,而是在放射式菜單中分配給菜單項1005的角度區(qū)域上,因此菜單項 1005被突出顯示。在一些實施例中,菜單項如圖10中所示被突出顯示。為菜單項1005示出的突出顯示具有從放射式菜單的中心位置發(fā)出光以照亮圖標1010和用戶可以在其中點擊以選擇菜單項1005的區(qū)域的外觀。其它實施例使用其它技術來突出顯示菜單項。一些實施例在菜單項的任一側(cè)上顯示放射線以指示可選項的范圍,或者改變可選項的區(qū)域的顏色以使其與背景不同。其它實施例僅改變表示菜單項的圖標的顯示(例如通過改變圖標的顏色),而不突出顯示整個可選區(qū)域。如圖9中所示,如果光標從菜單項之一移回到菜單取消按鈕之上,則GUI從狀態(tài)
13930轉(zhuǎn)變915。如果光標移動離開第一菜單項,并移動至第二菜單項上,則GUI保持在狀態(tài) 930,第二菜單項被突出顯示。圖11示出了項1105的突出顯示。為了使⑶I從圖10中的狀態(tài)進行到圖11中的狀態(tài),用戶將需要移動光標615經(jīng)過多個可選項(每個可選項被突出顯示很短的時間段)、經(jīng)過菜單取消按鈕(即,從狀態(tài)930轉(zhuǎn)變至915并返930)、或兩者的某種組合。在圖11中,光標615在放射式菜單的顯示的外部。S卩,光標615比所顯示的圖標更遠離放射式菜單的中心。然而,可選項1105仍然被突出顯示。在一些實施例中,可選項向外延伸至無限徑向范圍,或者至少延伸至用于包括放射式菜單的GUI的顯示區(qū)域(窗口、 屏幕等)的邊緣。一些實施例向外延伸突出顯示以經(jīng)過所顯示的圖標。作為示例,其它一些實施例僅從中心至所顯示的圖標突出顯示,或稍微經(jīng)過所顯示的圖標。返回至圖9,如果在⑶I處于狀態(tài)930時,選擇輸入被接收,則⑶I轉(zhuǎn)變至突出顯示菜單項被選擇的狀態(tài)935。在不同實施例中,用于選擇菜單項的不同類型的輸入被接受。 一些實施例允許手勢選擇。用戶以從放射式菜單的中心向外掃過可選項之一的快速揮掃運動來移動光標。根據(jù)光標運動的方向、速度和距離,在一些實施例中,光標移動經(jīng)過的可選項被選擇。一些實施例中,作為手勢選擇的附加或代替,用戶能夠在光標位于項之上時通過使用光標控制器按鈕或類似輸入來選擇項。例如,用戶可以點擊(或雙擊)鼠標按鈕,叩擊 (或雙叩擊)觸摸板等來選擇項。類似地,在放射式菜單呈現(xiàn)在觸摸屏上的情況下,用戶可以叩擊(或雙叩擊)菜單項上的屏幕來選擇菜單項。如果所選菜單項打開子菜單,則GUI轉(zhuǎn)變至狀態(tài)940。在一些實施例中,子菜單打開過程類似于主菜單打開過程,菜單項都從中心位置向外擴展。當子菜單基于鼠標點擊或類似輸入被打開時,在一些實施例中,用于子菜單的中心位置是選擇輸入被接收之處的光標位置。在其它實施例中,中心位置是表示使得子菜單打開的所選菜單項的所顯示圖標。一些這樣的實施例在子菜單被打開時,自動將光標移動至該中心位置。圖12示出了根據(jù)一些實施例的響應于從主菜單1200選擇菜單項1205而打開子菜單1250。圖12示出了這個處理的三個階段,菜單項被選擇的第一階段1210,子菜單被完全打開并且光標位于用于子菜單的菜單取消按鈕上的第二階段1220,以及光標位于子菜單的菜單項之一上的第三階段1230。階段1210示出了主菜單1200。主菜單1200具有多個菜單項,包括菜單項1205, 其因為光標615在項1205上而當前被突出顯示。此外,階段1210示出了光標位于項1205 上且用戶剛剛點擊了光標控制器按鈕。對菜單項1205的選擇使得子菜單1250被打開,如在階段1220中所示。階段1220 示出了子菜單被完全打開后的子菜單1250。一些實施例的子菜單打開過程類似于圖6中示出的主菜單打開過程,表示菜單項的圖標都從中心向外擴展至它們被分配的位置。返回至圖9的狀態(tài)圖,⑶I從940轉(zhuǎn)變至915,最近打開的子菜單的菜單取消按鈕現(xiàn)在被突出顯示。本領域技術人員應該理解這表示子菜單圍繞光標打開或光標自動移動至子菜單的中心的情況下的轉(zhuǎn)變。在用戶點擊可選項中的某處來打開子菜單并且子菜單圍繞該可選項的圖標而不圍繞光標打開的情況下,一些實施例將直接從狀態(tài)940轉(zhuǎn)變至狀態(tài) 930來突出顯示光標在其上的任意項。
在該示例中,光標615位于表示菜單項1205的圖標1225的正上方并且用戶已經(jīng)進行了點擊,因此,在階段1220,光標在菜單取消按鈕1235上。如在階段1220所示,當光標位于子菜單的菜單取消按鈕之上時,一些實施例將母菜單顯示為部分淡化(faded)。這就提示用戶,如果選擇輸入被接收,該菜單將變?yōu)榛顒拥模皇棺硬藛蔚膮^(qū)域中的顯示過于復雜。
如在階段1230中所示,用戶將光標移動離開菜單取消按鈕并位于菜單項1245上。 這對應于從狀態(tài)915至930的狀態(tài)轉(zhuǎn)變,并且因此菜單項1245被突出顯示。因為子菜單 1250僅包括4個均勻間隔的項,所以突出顯示在角方向上延伸顯著超出圖標1255,占用圓的90度。該突出顯示在徑向方向上也顯著超出圖標1255,如同一些實施例中的情況。返回至圖9的狀態(tài)圖,如果所選的菜單項不打開子菜單,則GUI從狀態(tài)935轉(zhuǎn)變至狀態(tài)905,從而僅顯示初始的單個可選項。不打開子菜單的項可以激活工具(例如,媒體編輯工具、文字處理工具等),使命令(例如打印命令、保存命令等)被執(zhí)行,或使其它指令被執(zhí)行。在關閉放射式菜單從而僅顯示單個可選項時,一些實施例顯示圖標向內(nèi)塌縮,當放射式菜單被打開時顯示相反的動畫。其它實施例簡單地停止顯示該放射式菜單,并且用用于啟動放射式菜單的單個可選項來代替菜單取消按鈕。圖13示出了從放射式菜單600選擇項,以及隨后關閉放射式菜單。圖13以三個階段示出了這個過程,用戶從放射式菜單選擇項655的第一階段1310,放射式菜單600的關閉過程期間的第二階段1320,以及僅顯示單個可選項655的第三階段1330。如所述的,階段1310示出了放射式菜單600,其包括菜單項655。菜單項655在該階段被突出顯示,因為光標615在該可選項之上。該階段還示出,光標位于在突出顯示的可選項上的其當前位置且選擇輸入(例如,點擊鼠標按鈕)剛剛被接收。響應于對項655的選擇,與該項相關聯(lián)的任何指令被執(zhí)行。除了執(zhí)行與所選菜單項相關聯(lián)的指令之外,階段1320示出了放射式菜單600處于其關閉過程的中途。階段1320示出了菜單項已經(jīng)移動得更靠近菜單的中心,并且它們保持也在圖6中示出的“堆疊”狀態(tài)。一些實施例在堆的頂部顯示最新近選擇的項,而其它實施例在堆的頂部指定特定菜單項。階段1320還示出了菜單取消按鈕660隨著菜單關閉而大為淡化。階段1330示出了放射式菜單600已經(jīng)完全關閉之后的單個可選項655。在這時, GUI已經(jīng)返回至與圖6的階段610所示的在菜單被打開之前的狀態(tài)相同的狀態(tài)(其對應于圖9中示出的狀態(tài)圖的階段905)。III.手勢選擇和子菜單如在上面狀態(tài)圖描述中所述的,除了(或代替)接收點擊(通過鼠標或其它光標控制器)或叩擊(通過觸摸屏)輸入來從放射式菜單選擇特定菜單項,一些實施例能夠進行手勢選擇輸入。在一些實施例中,用于選擇放射式菜單項的手勢選擇輸入是揮掃手勢。在一些實施例中,揮掃手勢是光標朝向可選項或經(jīng)過可選項的向外移動。光標移動在一些實施例中是伴隨著其它光標控制器或其它輸入的。例如,在一些實施例中,用戶按住鼠標按鈕(或等同輸入),同時移動鼠標來執(zhí)行揮掃手勢。一些這樣的實施例不識別揮掃手勢,除非鼠標按鈕被按住或等同輸入被接收到。另一方面,一些實施例除了光標移動之外不需要任何輸入來識別揮掃手勢。在一些實施例中,用戶提供初始選擇輸入(例如鼠標點擊、叩擊等)來啟動放射式菜單,然后手勢輸入僅是鼠標移動,而沒有其它相關輸入。當所選擇的項使得命令被執(zhí)行或工具被激活時,結(jié)果與點擊輸入被用于選擇項的結(jié)果相同。然而,當所選擇的項使得子菜單被打開時,不同實施例使用不同技術來確定子菜單應該在哪兒被打開。一些實施例圍繞所選擇的菜單項來打開子菜單,如同用戶剛剛點擊在菜單項上一樣,然后,將光標從其在揮掃手勢末端的位置移動至放射式菜單的中心。一些實施例基于過去手勢選擇的速度、方向、加速度、統(tǒng)計數(shù)據(jù)等來預測GUI中光標將停止移動的位置,并在該位置顯示子菜單。其它一些實施例在揮掃手勢之后不顯示子菜單,直到進一步的輸入被接收到。這些實施例等待,直到用戶提供進一步輸入(例如鼠標點擊)來顯示放射式子菜單。當用戶確實提供了進一步輸入時,則圍繞光標顯示子菜單(即,光標在放射式子菜單的中心位置)。 一些實施例最初顯示放射式子菜單,其中心位置在所選菜單項的位置或其母菜單的中心位置處,然后在用戶輸入被接收到時,將子菜單移動至光標位置。圖14示出了放射式菜單1400,其具有4個相等間隔的菜單項1405-1420。圖14 還示出了指示分配給4個菜單項1405-1420的角度區(qū)域的虛線1425,以及指示從放射式菜單1400的中心至放射式菜單的多個項之一的中心的距離R的虛線1430。一些實施例在打開放射式菜單之后不識別光標的所有移動。相反,如果光標的移動要被識別為手勢輸入,光標必須在GUI中移動至少特定閾值距離。例如,一些實施例要求光標移動至少菜單的半徑距離(例如,圖14中的虛線1430表示的距離R)。因此,如果用戶直接向菜單項移動光標,則在菜單的中心位置處開始的光標將需要移動至菜單項的中間。其它實施例使用不同的閾值(例如,至菜單項的始端或末端的距離,半徑距離的幾分之一或幾倍等等)。此外,對于被識別為手勢選擇的移動,一些實施例還要求光標在閾值時間量內(nèi)移動閾值距離。朝放射式菜單項緩慢向外移動光標將不被看作是手勢選擇。在一些實施例中,不近似為直線的移動也不被識別為手勢選擇。當光標移動時,一些實施例以非常短的間隔(例如每秒許多次))識別光標的位置。位置數(shù)據(jù)可被用于計算光標隨時間移動的速度和方向。一些實施例要求,當這些計算出的方向矢量保持在特定角度范圍內(nèi)時,移動才被認為是手勢選擇輸入。即,光標移動的最小角度和最大角度的差異必須小于特定閾值角度(例如5度、20度等)。另一方面,一些實施例不是確定角度差異,而是識別潛在手勢選擇的開始和結(jié)束點,然后確定光標移動是否偏離這兩點之間的直線大于閾值量。如果光標移動太偏離該直線,則該移動不是手勢選擇。在一些實施例中,偏離該直線的閾值距離根據(jù)開始和結(jié)束點之間的距離而不同,從而越長的移動可以具有越大的絕對變化范圍(這可以是與具有較小的絕對變化范圍的較短移動等價的角度變化范圍)。一些實施例在光標已經(jīng)移動了用于手勢的閾值距離的任意時間檢查手勢選擇輸入。一旦光標移動該閾值距離,移動該距離所花的時間以及該移動是否靠近直線都被確定。 在這樣的實施例中,用戶的實際手勢移動可能包括多個將有資格作為手勢的部分,一旦該移動中有資格作為手勢輸入的第一個部分被識別,所選項實際上就被選擇。
16
一旦手勢選擇被識別,一些實施例然后就確定由該手勢運動選擇的項。在一些實施例中,該被選項是當光標到達距離放射式菜單的中心特定距離(例如圖14中由線1430 表示的半徑距離R)時經(jīng)過的項。圖15示出了放射式菜單1400和光標1505的手勢移動1500。圖15還示出了表示菜單1400的半徑距離的虛線圓1510。如圖所示,光標1505在菜單1400的中心開始并且移動超過半徑距離R。手勢移動1500在分配給菜單項1410的角度區(qū)域內(nèi)與半徑距離(由虛線1510表示)交叉。這樣,一些實施例基于該輸入而選擇菜單項1410。一些實施例識別手勢移動的角度并將該角度與菜單項相關聯(lián),而不確定光標的絕對位置。在一些實施例中,每個項與放射式菜單中該項占據(jù)的角度區(qū)域所對應的角度范圍相關聯(lián)。例如,菜單1400的項1405與偏離水平線135度至偏離水平線45度相關聯(lián),項1410 與偏離水平線45度至偏離水平線-45度相關聯(lián),等等(即,由虛線1425表示的象限)。在該描述中,水平線指的是從放射式菜單的中心至項1410的中心的矢量,其通常與0度角相關聯(lián)。當手勢移動開始于放射式菜單的中心時,用于識別菜單項被手勢選擇的任何技術都將產(chǎn)生相同結(jié)果。圖15的手勢移動1500是該種情況的一個示例。移動1500的角度大約為水平線下方20度,這是與項1410相關聯(lián)的角度。如上所述,使用識別光標在哪里與半徑距離交叉的技術同樣導致對項1410的選擇。然而,當手勢移動不是開始于放射式菜單的中心時,兩種技術可能產(chǎn)生不同的選擇。圖16示出了這樣的手勢移動1600的示例。光標1505從位置1605移動至位置1610,這是足以被認為是手勢選擇輸入的距離?;诠鈽伺c由虛線1510表示的半徑距離交叉的位置,一些實施例將選擇項1405。然而,手勢移動1610的角度與項1420相關聯(lián),因為其大約偏離水平線150度,并且與項1420相關聯(lián)的象限是從偏離水平線135度至偏離水平線-135 度。如上所述,在一些情況下,所選擇的項打開子菜單。一些實施例在接收用于打開子菜單的手勢輸入之后,不顯示子菜單或者在默認位置顯示子菜單,直到用戶提供進一步輸入。圖17概念性地示出了用于顯示放射式菜單和子菜單并接收來自菜單的選擇的一些實施例的處理1700。圖17將參考圖18-20被描述。如圖所示,處理1700通過顯示(在1705)放射式菜單開始。在一些實施例中,放射式菜單是作為用戶啟動放射式菜單的結(jié)果(例如,通過上面圖6中所示的對單個項的選擇)而被顯示。即,在一些實施例中,用戶已經(jīng)在諸如項655的項上點擊、叩擊等以開始處理1700的操作。接下來,處理1700接收(在1710)用于選擇菜單項的手勢輸入。如上所述,在一些實施例中,手勢輸入是揮掃手勢,其可能或可能不伴隨有其它輸入,例如鼠標點擊、鼠標按鈕的按壓和保持等。在光標越過距離菜單中心特定距離或其它條件滿足的情況下,手勢輸入可以基于光標移動的角度來選擇項。圖18示出了由于點擊輸入而打開放射式菜單1800,以及后續(xù)的揮掃手勢以選擇菜單項1835。圖18以三個階段示出了這個,第一階段1800,這里用戶正在打開放射式菜單, 以及第二和第三階段1820和1830,在此期間,光標在揮掃手勢中移動。階段1810示出了單個可選菜單項1840。光標1815當前位于單個可選菜單項1840之上,并且用戶已經(jīng)在光標控制器上按壓和釋放選擇按鈕(如由“(點擊…)”文字所示的)。 這使得放射式菜單1800啟動和打開。階段1820示出了在菜單已經(jīng)打開并且用戶已經(jīng)開始以揮掃手勢向菜單項1835移動光標1815以便通過手勢選擇來選擇菜單項1835之后的放射式菜單1800的一部分。在一些實施例中,放射式菜單如圖6中所示打開,菜單項向外擴展。在一些這樣的實施例中,當用戶通過手勢選擇來選擇項時,用戶在開始揮掃手勢之前不需要等待菜單完全打開。即,階段1820可以恰好是當菜單項已到達其完全打開位置的那一瞬間,而光標1815已經(jīng)由于用戶交互而在連同菜單項一起移動。如圖18所示,一些實施例在進行手勢選擇時,突出顯示光標下的菜單項。在用戶在放射式菜單被完全打開之前開始揮掃手勢的情況下,一些實施例在完全打開狀態(tài)之前突出顯示菜單項,而其它實施例直到該菜單項不再移動才顯示突出顯示。在用戶不是在菜單的中心開始揮掃手勢的情況下(例如,圖16中示出的情況),一些實施例總是突出顯示光標下方的菜單項。其它實施例在光標移動特定量之后識別揮掃手勢,以及突出顯示基于光標移動的角度而可選的菜單項。圖18的階段1830示出了用戶已經(jīng)在大致相同的方向上繼續(xù)移動光標,經(jīng)過了顯示菜單項1835的位置處的菜單1800的半徑距離,以便通過手勢輸入選擇項1835。返回至處理1700,在接收到用于選擇菜單項的手勢輸入之后,處理確定(在1715) 所選擇的項是否打開子菜單。如菜單項1835的情況,一些實施例的菜單項如果是打開子菜單,則包括視覺指示器。項1835包括指向上下的箭頭,但是其它視覺指示器是可能的(例如,加號、單箭頭、表示子菜單中的菜單項的數(shù)量的數(shù)字等)。當所選菜單項不打開子菜單時,處理執(zhí)行(在1720)與所選菜單項相關聯(lián)的指令,然后結(jié)束。這些指令可以執(zhí)行命令 (例如打印文件等)或激活工具(例如畫圖工具、編輯工具等)。當所選菜單項確實打開子菜單時,該處理圍繞光標顯示(在172 子菜單指示器。 在一些實施例中,這是表明點擊將導致圍繞光標顯示子菜單的指示器。圖19示出了通過兩個階段1910和1920,從放射式菜單1800手勢選擇菜單項1835的結(jié)果,以及放射式子菜單 1900的初始顯示。如圖所示,除了圍繞光標顯示子菜單指示器之外,一些實施例一開始在默認位置打開放射式子菜單,同時等待用戶輸入以移動子菜單。一些實施例一開始圍繞來自母菜單的所選擇項顯示放射式子菜單。其它實施例一開始以與母菜單相同的中心位置顯示放射式子菜單。這是圖19中示出的情況。階段1910示出了手勢選擇輸入已經(jīng)被識別為選擇項1835之后不久的⑶I。 放射式子菜單1900在該階段被部分打開,而母菜單1800部分關閉。一些實施例不通過向內(nèi)塌縮來關閉母菜單,而是該菜單淡化或者簡單地從顯示中被去除。階段1910還示出了圍繞光標1815的子菜單指示器1925。子菜單指示器1925包括文字“拖拽至任何地方”,指示用戶該光標可以被移動至任何位置。階段1920示出了在放射式菜單1900已完全展開并且母菜單1800已完全關閉后的放射式菜單1900。處理1700接下來等待用于圍繞光標顯示子菜單的輸入。處理確定(在1730)輸入是否已經(jīng)被接收以便圍繞光標顯示子菜單。在一些實施例中,這是點擊輸入或等同物。 即,子菜單指示器圍繞光標顯示,直到用戶按壓并釋放鼠標按鈕、叩擊觸摸板等。當沒有這樣的輸入被接收到時,處理確定(在173 是否取消子菜單顯示。例如,一些實施例包括定時器,如果在閾值時間(例如5秒)之后沒有輸入被接收到,則菜單被取消,并且用戶必須重新啟動該菜單來選擇菜單項。一些實施例還允許來自用戶的擊鍵來取消菜單,或來自光標控制器的特定輸入。當處理接收到用于圍繞光標顯示子菜單的輸入(例如鼠標點擊)時,處理識別 (在1740)光標位置,然后圍繞光標顯示(在174 放射式子菜單。處理然后返回至1710, 從而來自子菜單的菜單項可以通過手勢輸入被選擇。圖20示出了用戶輸入以將放射式子菜單1900移動至光標位置以及隨后從子菜單中手勢選擇菜單項2055的結(jié)果。這在三個階段2010-2030中示出。階段2010示出了以位置2040為中心的放射式子菜單1900,以及在位置2045處的光標1815和子菜單指示器1925。階段2020示出了點擊輸入(或等同物)已經(jīng)被接收以及放射式子菜單1900已經(jīng)從位置2040移動至位置2045之后的⑶I,光標1815現(xiàn)在位于位置2045而沒有子菜單指示器1925。一些實施例去除在默認位置(例如位置2040)處的子菜單的顯示,并立即在光標位置(例如,位置204 處顯示子菜單。然而其它實施例用動畫表示出子菜單從默認位置至光標位置的移動。單個可選項1840現(xiàn)在顯示在位置2040,這是與圖18中它一開始顯示的位置相同的位置。在一些實施例中,當在該單個項下面的母菜單已經(jīng)關閉之后,子菜單基本上顯示在該單個項之上。階段2030示出了當用戶向右移動光標時,對菜單項2055的手勢選擇。如上參考圖7所提到的,一些實施例在菜單和子菜單被啟動得太靠近顯示屏的邊緣時,改變菜單和子菜單的大小,或者移動或重新定位菜單和子菜單。因此,類似于圖7的處理700,在一些實施例中,圖17的處理1700通過首先識別用于放置菜單或子菜單的初始位置,然后確定該初始位置是否將導致部分菜單或子菜單在屏幕外,來確定菜單或子菜單的位置。當初始位置將使得部分菜單或子菜單在屏幕外時,在一些實施例中,處理1700改變菜單和子菜單的大小,移動菜單和子菜單,和/或重新定位菜單和子菜單,來保證其完整顯示在顯示屏上。本領域技術人員應該意識到上述處理1700是被多個實施例執(zhí)行的用于從子菜單接收手勢選擇的一種可能處理的示例。處理1700不必然是計算機指令可如何顯示這樣的菜單并解釋用于菜單的輸入的僅有示例,并且一些實施例執(zhí)行處理1700的變形。例如,一些實施例在圍繞光標顯示放射式子菜單之后,在手勢輸入之外還可以接收點擊輸入以選擇菜單項,或可以接收點擊輸入來選擇菜單取消按鈕。此外,在一些實施例中,處理1700的操作可以被多個處理執(zhí)行。例如,多個不同處理可以被包括在操作1710的執(zhí)行中,以識別手勢輸入并將輸入與菜單項相關聯(lián)。此外,一旦放射式子菜單被顯示,則完全不同的處理可以被用于解釋關于子菜單的輸入。IV.菜單的使用如所討論的,上述的各種放射式菜單可以被用在廣泛的計算應用中。在一些實施例中,菜單可以被直接用在操作系統(tǒng)中,或用在與操作系統(tǒng)分開的應用中。此外,菜單在諸如iPhone 的手持裝置中可能特別有用。圖21示出了顯示一些實施例的操作系統(tǒng)的各種特征的計算機桌面2100。該桌面包括文件夾瀏覽窗口 2105、應用選擇圖標2110、以及放射式菜單2115。文件夾瀏覽窗口 2105是標準窗口,其使得用戶能夠瀏覽層級式文件系統(tǒng)以找到和打開文件(例如,文字處理文檔、電子表格、視頻文件等)。應用選擇圖標2110為用戶提供對計算裝置上的不同應用(例如,電子郵件、網(wǎng)絡瀏覽器、媒體播放器、文字處理應用、媒體編輯應用等)的容易的訪問ο放射式菜單2115是使用上述菜單提供操作系統(tǒng)特征的一個示例。放射式菜單 2115呈現(xiàn)與關閉計算機相關的各種選項。放射式菜單2115包括菜單取消按鈕2120,以及 4個菜單項2125-2140。項2125呈現(xiàn)了 “關機”選項,項2130呈現(xiàn)了 “重啟”選項,項2135 呈現(xiàn)了“注銷”選項,以及項2140呈現(xiàn)了“待機”選項。一些實施例還包括諸如休眠的其它選項。菜單項2125-2140圍繞放射式菜單均勻布置。然而,一些實施例為一些菜單項分配較高優(yōu)先級,并因此分配較大的角度范圍。例如,許多用戶較之其它項,更經(jīng)常使用“關機”選項,因此,該選項將具有較大的角度范圍。在一些實施例中,放射式菜單2115不永久顯示為桌面的一部分。相反,單個可選項(例如菜單項212 通常被顯示在桌面2100上,并且用戶可以通過選擇該單個菜單項來啟動放射式菜單。如果用戶希望使用該項所在的屏幕位置,其它項(例如諸如窗口 2105的窗口)可以置于單個可選項之上。本領域的技術人員應該意識到一些實施例的放射式菜單可以被用于廣泛的操作系統(tǒng)特征。例如,應用選擇圖標可以被集成在諸如放射式菜單2115之類的菜單或上述其它菜單之一中。例如,應用選擇圖標可以被提供在放射式菜單中,該放射式菜單被顯示在屏幕的一角,而不占用屏幕的整個底部。類似地,文件系統(tǒng)可以被實施為表示文件夾和子文件夾的一組放射式菜單和子菜單。圖22示出了用于創(chuàng)建合成視頻演示并使用一些實施例的菜單的視頻編輯應用 2200。視頻編輯應用2200包括合成顯示區(qū)域2205、一組可選視頻片段2210、視頻預覽顯示區(qū)域2215、以及視頻編輯放射式菜單2220。合成顯示區(qū)域2205提供用戶創(chuàng)建的視頻演示的視覺表示。用戶可以向合成顯示區(qū)域增加媒體片段(例如,音頻和視頻片段),其中片段是以圖形表示的。用戶可以通過在合成顯示區(qū)域中對片段執(zhí)行編輯操作來修改視頻演示。一組可選視頻片段2210提供以縮略圖表示的各種媒體片段,用戶可以選擇這些媒體片段并通過合成顯示區(qū)域2205將其添加至視頻演示。視頻預覽顯示區(qū)域2215顯示根據(jù)合成顯示區(qū)域的合成演示的預覽。視頻編輯放射式菜單2220是使用上述菜單提供視頻編輯工具的示例。具體地,放射式菜單2220為用戶提供多個修剪工具選項。放射式菜單2220包括滑動工具2225、滾動工具2230、滑行工具2235、以及波紋工具2240。一些實施例呈現(xiàn)具有或多或少視頻編輯工具(例如不同于修剪工具的工具)的放射式菜單。一些實施例包括用戶能夠以不同方式啟動的多個不同的放射式菜單。在一些實施例中,視頻編輯放射式菜單2220不是永久顯示在合成顯示區(qū)域上。相反,用戶在他們希望執(zhí)行修剪編輯時啟動放射式菜單。在一些實施例中,菜單通過鍵盤快捷鍵啟動。一些實施例在光標位于合成顯示區(qū)域上時響應于點擊輸入而顯示放射式菜單??梢酝ㄟ^基于光標相對于合成顯示區(qū)域中的視頻片段的編輯點所處的位置,用戶最可能選擇哪個修剪工具,來確定菜單項的順序或優(yōu)先級。圖23示出了正在顯示網(wǎng)絡瀏覽器2305的手持裝置2300。裝置2300可以是蜂窩電話、媒體播放器等。網(wǎng)絡瀏覽器2305包括統(tǒng)一資源定位器(URL)工具欄2310、內(nèi)容顯示
20區(qū)域2315、工具欄2320以及放射式菜單2360。URL欄2310包括用戶界面工具以及地址欄2325,用戶可以在地址欄2325中輸入 URL,并且地址欄2325顯示用戶通過點擊內(nèi)容顯示區(qū)域2315內(nèi)的鏈接而瀏覽的網(wǎng)站的URL。 內(nèi)容顯示區(qū)域2315顯示位于在地址欄2325中指示的URL處的網(wǎng)頁。工具欄2320包括5個工具——后退和前進按鈕2330和2335、增加書簽圖標2340、 用于打開書簽列表的書簽圖標2345、以及用于顯示打開的網(wǎng)頁的列表供用戶從其中選擇的頁面集合圖標2355。放射式菜單2360呈現(xiàn)不永久顯示在URL欄2310或工具欄2320中的各種選項。 放射式菜單2360包括搜索文本選項2365,用于提供允許用戶輸入文本以在顯示在顯示區(qū)域2315中的內(nèi)容中進行搜索的工具;歷史選項2370,用于允許用戶查看其瀏覽歷史;新窗口選項,用于打開新瀏覽窗口 ;以及拷貝選項2380,用于拷貝文本。在一些實施例中,裝置是觸摸屏裝置。在一些實施例中,用戶可以通過在顯示區(qū)域 2315中叩擊、雙叩擊或其它多觸摸輸入來啟動菜單。為了選擇放射式菜單項之一,用戶可以叩擊菜單項或在菜單項的方向上執(zhí)行揮掃手勢(即,觸摸屏等同于揮掃手勢)。本領域的技術人員應該意識到除了菜單2360之外的放射式菜單也可以用于在手持裝置瀏覽器中使用。例如,工具欄2320可以呈現(xiàn)為具有5個項的可啟動的放射式。此外, 這樣的菜單不以任何方式限于瀏覽器,事實上,可以用于手持裝置上的任意應用。屏幕空間在諸如裝置2300之類的手持裝置中通常是寶貴的,從而在該應用中描述的菜單是為這種有限空間提供大量選項的理想解決方案。V.軟件架構(gòu)在一些實施例中,上述處理被實施為運行在諸如計算機或手持裝置的特定機器上或存儲在計算機可讀介質(zhì)中的軟件。圖M概念性地示出了用于呈現(xiàn)諸如在前面部分中描述的那些菜單之類的菜單的一些實施例的應用MOO的軟件架構(gòu)。在一些實施例中,應用是獨立的應用或被集成在另一應用中(例如,應用MOO可以是視頻編輯應用的一部分,用于手持裝置的軟件等),而在其它實施例中,應用可以在操作系統(tǒng)中實現(xiàn)。此外,在一些實施例中,應用被提供作為基于服務器的解決方案的一部分。在一些這樣的實施例中,應用通過瘦客戶端(thin client)來提供。即,該應用在服務器上運行,而用戶通過遠離服務器的獨立機器與應用交互。在其它這樣的實施例中,應用通過厚客戶端(thick client)來提供。 即,應用從服務器分布至客戶端機器,并在客戶端機器上運行。應用MOO包括用戶界面(UI)交互模塊對05、項選擇器M10、手勢識別模塊M15、 突出顯示產(chǎn)生器對20、優(yōu)先級計算模塊2425、以及菜單顯示模塊M30。媒體編輯應用還包括菜單數(shù)據(jù)庫M35。在一些實施例中,其它存儲庫也存在,其可以是與菜單數(shù)據(jù)庫M35相同的物理存儲裝置的一部分,或單獨存儲。圖M還示出了包括光標控制器驅(qū)動器M55、鍵盤驅(qū)動器M60和顯示模塊M65的操作系統(tǒng)M50。在一些實施例中,如圖所示,光標控制器驅(qū)動器對55、鍵盤驅(qū)動器2460、以及顯示模塊M65是操作系統(tǒng)M50的一部分,即使應用 2400是與操作系統(tǒng)分開的應用或應用的一部分。用戶通過輸入裝置(未示出)與用戶界面交互。輸入裝置,例如光標控制器(鼠標、寫字板、觸摸板等)和鍵盤,發(fā)送信號至光標控制驅(qū)動器M55和鍵盤驅(qū)動器M60,光標控制驅(qū)動器M55和鍵盤驅(qū)動器M60將這些信號轉(zhuǎn)變?yōu)樘峁┲罸I交互模塊M05的用戶輸入數(shù)據(jù)。本發(fā)明描述了圖形用戶界面,其為用戶提供了執(zhí)行不同操作和功能集合的多種途徑。在一些實施例中,這些操作和功能是基于通過不同輸入裝置(例如,鍵盤、軌跡板、觸摸板、鼠標等)從用戶接收的不同命令來執(zhí)行的。例如,本應用描述了在圖形用戶界面中使用光標來控制(例如,選擇、移動)圖形用戶界面中的對象。然而,在一些實施例中,圖形用戶界面中的對象也可以通過其它控制(例如觸摸控制)來被控制或操縱。在一些實施例中, 觸摸控制通過可以檢測裝置的顯示器上的觸摸的存在和位置的輸入裝置來實現(xiàn)。這樣的裝置的一個示例是觸摸屏裝置。在一些實施例中,使用觸摸控制,用戶可以通過與顯示在觸摸屏裝置的顯示器上的圖形用戶界面交互來直接操縱對象。例如,用戶可以通過簡單地觸摸在觸摸屏裝置的顯示器上的特定對象來選擇圖形用戶界面中的特定對象。這樣,當觸摸控制被使用時,在一些實施例中,光標可能甚至不被顯示用來使能圖形用戶界面的對象的選擇。然而,在一些實施例中,當光標在圖形用戶界面中被提供時,觸摸控制可以被用來控制光標。UI交互模塊解釋所呈現(xiàn)的放射式菜單的環(huán)境中的用戶輸入數(shù)據(jù)并將其傳送至適當?shù)哪K,例如項選擇器M10、手勢識別模塊M15、和突出顯示產(chǎn)生器M20。項選擇器MlO將用戶界面交互解釋為對放射式菜單項的選擇。當放射式菜單通過選擇單個可選項而被打開時,該選擇由項選擇器MlO處理。項選擇器從菜單數(shù)據(jù)庫M35 接收信息,例如,要打開的放射式菜單中有哪些項、這些項所在的位置、與這些項相關聯(lián)的角度區(qū)域等。當手勢選擇被識別時,項選擇器還從手勢識別模塊對15接收手勢信息。關于菜單項的選擇的信息和來自菜單數(shù)據(jù)庫M35的任何相關信息然后被傳送至菜單顯示模塊,用于解釋和輸出。在一些實施例中,項選擇器MlO還識別將放射式子菜單移動至光標位置的選擇輸入,如上面在部分III中所述的。手勢識別模塊M15解釋從UI交互模塊M05接收的用戶界面交互信息,以確定光標輸入是否為手勢選擇。手勢識別模塊M15隨時間對光標位置數(shù)據(jù)進行計算,以確定對于手勢選擇而言,光標是否移動得足夠快和直,如果是,確定手勢的角度和位置。該手勢信息 (角度、光標位置等)被傳送至項選擇器M10,從而項選擇器可以識別該手勢所選擇的菜單項。突出顯示產(chǎn)生器對20基于光標位置產(chǎn)生用于放射式菜單項的突出顯示。在一些實施例中,突出顯示產(chǎn)生器基于從UI交互模塊M05接收的信息來識別光標位置,將其與特定菜單項相關聯(lián),并產(chǎn)生針對與該特定菜單項相關聯(lián)的整個角度范圍的突出顯示。該信息然后被傳送至菜單顯示模塊M30,從而可以顯示該突出顯示。優(yōu)先級計算模塊M25計算用于作為菜單數(shù)據(jù)庫M35中的放射式菜單的一部分的各個菜單項的不同優(yōu)先級。在一些實施例中,菜單數(shù)據(jù)庫記住各個菜單項的選擇頻率(在其它實施例中,該信息存儲在單獨的存儲器中)。該選擇頻率信息被一些實施例的優(yōu)先級計算模塊使用,以確定各個菜單項的優(yōu)先級。在一些實施例中,優(yōu)先級計算模塊還計算用于菜單數(shù)據(jù)庫M35中的各個菜單項的角度范圍。一些實施例定期地計算該信息或在選擇了菜單項之后計算該信息。其它實施例每當放射式菜單被啟動時就計算該信息。菜單顯示模塊M30接收來自項選擇器MlO和突出顯示產(chǎn)生器M20的信息。菜單顯示模塊M30控制菜單項的顯示。在一些實施例中,該菜單顯示模塊響應于項選擇來處
22理菜單的打開和關閉,包括任何子菜單。該信息被發(fā)送至顯示模塊M65,其處理輸出裝置 (未示出)上的菜單(和圖形用戶界面的其余部分)的實際顯示。盡管許多特征已經(jīng)被描述為被一個模塊(例如項選擇器MlO或手勢識別模塊 2415)執(zhí)行,本領域的技術人員應該意識到這些功能可以被分成多個模塊,以及執(zhí)行一個特征可能甚至需要多個模塊。類似地,被描述為被多個模塊執(zhí)行的多個特征可能事實上由單個模塊執(zhí)行。在一些實施例中,每個模塊是一組處理。圖25概念性地示出了用于制作應用(例如視頻編輯應用、操作系統(tǒng)等)的一些實施例的處理2500。如圖所示,處理2500通過定義(在250 菜單項和與菜單項相關聯(lián)的指令開始。該處理然后定義(在2510)用于表示放射式菜單中的菜單項的圖標。圖6中示出的菜單600的菜單項和相關聯(lián)的圖標是這些項的示例。接下來,處理2500定義(在251 用于確定菜單項的優(yōu)先級的模塊,例如應用 MOO的優(yōu)先級計算模塊M25。處理定義(在2520)用于響應于用戶輸入而選擇菜單項的模塊。項選擇器MlO是這樣的模塊的一個示例。處理接下來定義(在252 用于基于用戶輸入而識別手勢選擇的模塊,例如手勢識別模塊對15。處理2500然后定義(在2530)用于在光標位于菜單項上時突出顯示放射式菜單的模塊,例如突出顯示產(chǎn)生器對20。接下來,處理定義(在253 其它項、工具和功能。例如,如果被定義的應用是操作系統(tǒng),則處理定義操作系統(tǒng)必要的各種功能。當被定義的應用是媒體編輯應用時,各種編輯工具、GUI結(jié)構(gòu)等被定義。處理2500接下來在計算機可讀存儲介質(zhì)上存儲(在2M0)所定義的應用。在一些實施例中,該計算機可讀存儲介質(zhì)可以是盤(例如CD、DVD、硬盤等)或固態(tài)存儲裝置(例如閃存)。本領域技術人員應該意識到由處理2500定義的各種模塊和UI項沒有窮舉可以被定義并存儲在計算機可讀存儲介質(zhì)上的用于結(jié)合了本發(fā)明的一些實施例的編輯應用的模塊和UI項。VI.計算機系統(tǒng)許多上述特征和應用被實施為軟件處理,其被規(guī)定為記錄在計算機可讀存儲介質(zhì) (也被稱作計算機可讀介質(zhì))上的指令集。當這些指令被一個或多個計算元件(例如處理器或類似ASIC和FPGA的其它計算元件)執(zhí)行時,它們使計算元件執(zhí)行在這些指令中指定的動作。計算機表示最廣的含義,并且能夠包括任何具有處理器的電子裝置。計算機可讀介質(zhì)的示例包括但不限于⑶-ROM、閃存驅(qū)動器、RAM芯片、硬盤驅(qū)動器、EPROM等。計算機可讀介質(zhì)不包括載波以及無線地或通過有線連接而傳播的電子信號。在該說明書中,術語“軟件”表示包括駐留在只讀存儲器中的固件或存儲在磁存儲器中的可以被讀入存儲器供處理器處理的應用。同樣,在一些實施例中,多個軟件發(fā)明可以被實施為較大程序的子部分,同時保持可區(qū)分的軟件發(fā)明。在一些實施例中,多個軟件發(fā)明還可以被實施為單獨的程序。最后,一起實現(xiàn)在此所述軟件發(fā)明的單獨程序的任意組合在本發(fā)明的范圍內(nèi)。在一些實施例中,軟件程序在被安裝以在一個或多個計算機系統(tǒng)上運行時,定義了一個或多個執(zhí)行和實現(xiàn)軟件程序操作的特定機器實施方式。圖沈概念性地示出了被用來實現(xiàn)本發(fā)明的一些實施例的計算機系統(tǒng)。這樣的計算機系統(tǒng)包括各種類型的計算機可讀介質(zhì)和用于各種其它類型的計算機可讀介質(zhì)的接口。 計算機系統(tǒng)2600包括總線沈05、處理器沈10、圖形處理單元(GPU)沈20、系統(tǒng)存儲器沈25、
23只讀存儲器2630、永久存儲裝置2635、輸入裝置2640以及輸出裝置2645??偩€2605共同表示可通信地連接計算機系統(tǒng)2600的多個內(nèi)部裝置的所有系統(tǒng)、 外圍和芯片組總線。例如,總線2605可將處理器2610與只讀存儲器2630、GPU 2620、系統(tǒng)存儲器2625和永久存儲裝置2635通信地連接。處理器2610從這些各種存儲單元獲取要執(zhí)行的指令和要處理的數(shù)據(jù)以執(zhí)行本發(fā)明的處理。在一些實施例中,處理器包括現(xiàn)場可編程門陣列(FPGA)、ASIC、或用于執(zhí)行指令的各種其它電子部件。在一些實施例中,一些指令被傳送至GPU 2620并被其執(zhí)行。GPU 2620可卸載各種計算或補充由處理器2610提供的圖像處理。在一些實施例中,這樣的功能可以使用CoreImage的核心著色語言(kernel shading language)來提供。只讀存儲器(ROM) 2630存儲處理器2610和計算機系統(tǒng)的其它模塊所需的靜態(tài)數(shù)據(jù)和指令。另一方面,永久存儲裝置2635是讀寫存儲裝置。該裝置是即使計算機系統(tǒng)2600 關閉時也能存儲指令和數(shù)據(jù)的非易失性存儲單元。本發(fā)明的一些實施例使用大容量存儲裝置(例如磁盤或光盤及其相應的盤驅(qū)動器)作為永久存儲裝置2635。其它實施例使用可移除存儲裝置(例如軟盤、閃存驅(qū)動器、或ZIP 盤及其相應的盤驅(qū)動器)作為永久存儲裝置。類似于永久存儲裝置2635,系統(tǒng)存儲器2625是讀寫存儲裝置。然而,與存儲裝置2635不同,系統(tǒng)存儲器是易失性讀寫存儲器,例如隨機存取存儲器。 系統(tǒng)存儲器存儲處理器運行時所需的一些指令和數(shù)據(jù)。在一些實施例中,本發(fā)明的處理被存儲在系統(tǒng)存儲器2625、永久存儲裝置2635和/或只讀存儲器2630中。例如,各種存儲單元包括用于根據(jù)一些實施例處理多媒體項的指令。處理器2610從這些各種存儲單元中獲取要執(zhí)行的指令和要處理的數(shù)據(jù)以執(zhí)行一些實施例的處理??偩€2605還連接至輸入和輸出裝置2640和2645。輸入裝置使得用戶能夠向計算機系統(tǒng)傳輸信息和選擇命令。輸入裝置2640包括字母數(shù)字鍵盤和指針式裝置(也被稱作“光標控制裝置”)。輸出裝置2645顯示由計算機系統(tǒng)產(chǎn)生的圖像。例如,這些裝置顯示 GUI。輸出裝置包括打印機和顯示裝置,例如陰極射線管(CRT)或液晶顯示器(LCD)。最后,如圖26中所示,總線2605還通過網(wǎng)絡適配器(未示出)將計算機2600耦接至網(wǎng)絡2665。以該方式,計算機可以是計算機網(wǎng)絡(例如局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)、 或內(nèi)聯(lián)網(wǎng)、或諸如互聯(lián)網(wǎng)的多個網(wǎng)絡之一)的一部分。例如,計算機2600可以耦接至網(wǎng)絡服務器(網(wǎng)絡2665),從而在計算機2600上執(zhí)行的網(wǎng)絡瀏覽器可以在用戶與在網(wǎng)絡瀏覽器中運行的⑶I交互時與網(wǎng)絡服務器交互。計算機系統(tǒng)2600的任何或所有部件可以與本發(fā)明結(jié)合使用。例如,在一些實施例中,由GPU 2620代替處理器2610來進行渲染幀的執(zhí)行。類似地,其它圖像編輯功能可以被切換至GPU 2620,在此,它們可以在結(jié)果被返回至存儲器或處理器2610之前被執(zhí)行。然而, GPU 2620的普遍限制是GPU 2620在任何給定時間能夠存儲和處理的指令的數(shù)量。因此,一些實施例適應性修改用于執(zhí)行處理的指令,從而這些處理適合放到PU 2620的指令緩沖器中以便在GPU 2620本地執(zhí)行。此外,一些GPU 2620不包含足夠的處理資源來執(zhí)行一些實施例的處理,因此處理器2610執(zhí)行這些指令。本領域的普通技術人員應該理解任何其它系統(tǒng)配置也可以與本發(fā)明結(jié)合使用。一些實施例包括電子部件,例如微處理器、在機器可讀或計算機可讀介質(zhì)(或者被稱作計算機可讀存儲介質(zhì)、機器可讀介質(zhì)、或機器可讀存儲介質(zhì))中存儲計算機程序的存儲裝置和存儲器。這樣的計算機可讀介質(zhì)的一些示例包括RAM、R0M、只讀光盤(CD-ROM)、 可記錄光盤(⑶-R)、可重寫光盤(CD-RW)、只讀數(shù)字多功能盤(例如,DVD-ROM、雙層 DVD-ROM)、多種可記錄/可重寫DVD (例如,DVD-RAM、DVD-RW、DVD+RW等)、閃存(例如,SD 卡、mini-SD卡、micro-SD卡等)、磁性和/或固態(tài)硬盤驅(qū)動器、只讀和可記錄藍光光盤、超高密度光盤、任何其它光介質(zhì)或磁介質(zhì)、以及軟盤。計算機可讀介質(zhì)可以存儲可被至少一個處理器執(zhí)行的計算機程序,并包括用于執(zhí)行各種操作的指令集。被配置為存儲和執(zhí)行指令集的硬件裝置的示例包括但不限于專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、可編程邏輯裝置(PLD)、ROM和RAM裝置。計算機程序或計算機代碼的示例包括機器代碼,例如由編譯器產(chǎn)生的代碼,以及包括由計算機、電子部件或微處理器使用解釋器來執(zhí)行的高層代碼的文件。如在該說明書和該申請的任何權(quán)利要求中所使用的,術語“計算機”、“服務器”、 “處理器”和“存儲器”都表示電子裝置或其它技術性裝置。這些術語排除人或人群。為了說明的目的,術語顯示表示在電子裝置上顯示。如在該說明書和該申請的任何權(quán)利要求中所使用的,術語“計算機可讀介質(zhì)”完全限制于有形的物理物體,其存儲計算機可讀形式的信息。這些術語排除任何無線信號、有線下載信號和任何其它短暫信號。然而,一些實施例被實施為指令,該指令作為被規(guī)定為通過信號載體(例如無線信號、有線下載信號燈)發(fā)送的指令集的軟件處理被實施。盡管已經(jīng)參考大量具體細節(jié)描述了本發(fā)明,但是本領域的技術人員應該理解,在不背離本發(fā)明的精神的情況下,本發(fā)明可以體現(xiàn)為其它具體形式。因此,本領域的技術人員應該理解本發(fā)明不被上面示出的細節(jié)所限,而是由所附權(quán)利要求來限定。
權(quán)利要求
1.一種方法,包括定義多個可選菜單項,每個菜單項具有特定優(yōu)先級;以及定義用于接收對所述可選菜單項的選擇的放射式菜單,所述菜單項用于在所述放射式菜單中被顯示為在距離中心位置特定距離處布置的一系列單獨圖標,其中所顯示的圖標之間的角距離基于所述優(yōu)先級。
2.根據(jù)權(quán)利要求1所述的方法,其中定義所述多個可選菜單項包括基于特定菜單項被選擇的頻率來定義該特定菜單項的優(yōu)先級。
3.根據(jù)權(quán)利要求1所述的方法,其中定義所述多個可選菜單項包括基于所述可選菜單項相對于彼此被選擇的頻率來定義所述可選菜單項的優(yōu)先級。
4.根據(jù)權(quán)利要求1所述的方法,其中定義所述多個可選菜單項包括基于特定菜單項預期將被選擇的頻率來定義該特定菜單項的優(yōu)先級。
5.根據(jù)權(quán)利要求1所述的方法,其中每個特定圖標基于該特定圖標的優(yōu)先級被分配以所述放射式菜單中的特定角度范圍。
6.根據(jù)權(quán)利要求5所述的方法,其中當?shù)谝粓D標具有第一優(yōu)先級而第二圖標具有大于第一優(yōu)先級的第二優(yōu)先級時,第一圖標被分配以比第二圖標的角度范圍小的角度范圍。
7.根據(jù)權(quán)利要求5所述的方法,其中每個圖標用于顯示在分配給該圖標的角度范圍的中心處。
8.根據(jù)權(quán)利要求7所述的方法,還包括定義用于(i)為第一圖標分配第一角度范圍以及(ii)為所述放射式菜單中與第一圖標相鄰的第二圖標分配第二角度范圍的模塊,其中所述放射式菜單中第一圖標與第二圖標之間的角距離是第一角度范圍的一半與第二角度范圍的一半之和。
9.根據(jù)權(quán)利要求1所述的方法,其中當?shù)谝粓D標具有第一優(yōu)先級而第二圖標具有大于第一優(yōu)先級的第二優(yōu)先級時,所述放射式菜單中第一圖標與其相鄰圖標之間的角距離小于第二圖標與其相鄰圖標之間的角距離。
10.根據(jù)權(quán)利要求1所述的方法,其中所述放射式菜單用于顯示在操作系統(tǒng)中。
11.根據(jù)權(quán)利要求1所述的方法,其中所述放射式菜單用于顯示在運行在操作系統(tǒng)上的應用中。
12.根據(jù)權(quán)利要求11所述的方法,其中所述應用是媒體編輯應用,并且所述可選菜單項是可選媒體編輯工具。
13.根據(jù)權(quán)利要求1所述的方法,其中所述放射式菜單用于顯示在手持裝置上,其中所述可選菜單項能夠通過所述手持裝置的觸摸屏上的觸摸輸入而被選擇。
14.一種計算機可讀介質(zhì),存儲當被至少一個處理器執(zhí)行時呈現(xiàn)一組菜單項的計算機程序,所述計算機程序包括用于以下操作的指令集在放射式菜單中顯示所述一組菜單項,每個菜單項在所述放射式菜單中由一可區(qū)分圖標來表示;識別光標位置;將光標位置與所述一組菜單項中的特定菜單項相關聯(lián);以及顯示從所述放射式菜單的中心發(fā)出的突出顯示,所述突出顯示指示用于所述特定菜單項的可選區(qū)域。
15.根據(jù)權(quán)利要求14所述的計算機可讀介質(zhì),其中用于所述特定菜單項的所述可選區(qū)域大于表示所述特定菜單項的所述可區(qū)分圖標。
16.根據(jù)權(quán)利要求14所述的計算機可讀介質(zhì),其中所述可選區(qū)域包括與所述特定菜單項相關聯(lián)的角度范圍。
17.根據(jù)權(quán)利要求16所述的計算機可讀介質(zhì),其中所述可選區(qū)域受限于一最大徑向距1 O
18.根據(jù)權(quán)利要求16所述的計算機可讀介質(zhì),其中所述可選區(qū)域延伸至無限徑向距1 O
19.根據(jù)權(quán)利要求14所述的計算機可讀介質(zhì),還包括用于以下操作的指令集 當光標位于所識別的位置時,接收來自光標控制器的選擇輸入;以及選擇所述特定菜單項。
20.根據(jù)權(quán)利要求14所述的計算機可讀介質(zhì),還包括用于以下操作的指令集 接收來自光標控制器的用于將光標移動至新位置的輸入;識別所述新位置;將所述新位置與所述一組菜單項中的第二菜單項相關聯(lián);以及顯示從所述放射式菜單的中心發(fā)出的突出顯示,所述突出顯示指示用于所述第二菜單項的可選區(qū)域。
21.根據(jù)權(quán)利要求14所述的計算機可讀介質(zhì),其中所述計算機程序還包括用于以下操作的指令集在顯示所述一組菜單項之前,接收打開所述放射式菜單的請求;以及顯示從中心位置打開菜單項的動畫。
22.根據(jù)權(quán)利要求14所述的計算機可讀介質(zhì),其中所述計算機程序是操作系統(tǒng)。
23.根據(jù)權(quán)利要求14所述的計算機可讀介質(zhì),其中所述計算機程序是運行在操作系統(tǒng)上的應用。
24.一種計算機可讀介質(zhì),存儲供至少一個處理器執(zhí)行的計算機程序,所述計算機程序包括用于以下操作的指令集顯示包括圍繞中心位置放射式布置的一組菜單項的放射式菜單,每個菜單項被顯示為一可區(qū)分圖標;接收用于打開放射式子菜單的對特定菜單項的手勢選擇; 在所述手勢選擇之后,接收來自光標控制器的進一步輸入; 當從所述光標控制器接收到所述進一步輸入時,識別所述光標的位置;以及將所述放射式子菜單顯示為圍繞所識別的光標位置放射式布置的一組項。
25.根據(jù)權(quán)利要求M所述的方法,其中所述手勢選擇包括以特定角度快速移動所述光標。
26.根據(jù)權(quán)利要求25所述的方法,其中所述特定角度與所述特定菜單項相關聯(lián)。
27.根據(jù)權(quán)利要求M所述的方法,其中所述進一步輸入是點擊鼠標按鈕。
28.根據(jù)權(quán)利要求M所述的方法,還包括用于以下操作的指令集在接收到所述手勢選擇之后但是在接收到所述進一步輸入之前,圍繞所述放射式菜單的所述中心位置顯示所述放射式子菜單。
29.根據(jù)權(quán)利要求觀所述的方法,其中用于圍繞所識別的光標位置顯示所述放射式子菜單的指令集包括用于顯示所述放射式菜單從所述放射式菜單的中心位置到所識別的光標位置的動畫的指令集。
30.一種計算機可讀存儲介質(zhì),存儲供至少一個處理器執(zhí)行的計算機程序,所述計算機程序包括圖形用戶界面(GUI),所述GUI包括顯示區(qū)域;以及包括多個可選菜單項的放射式菜單,每個可選菜單項具有特定優(yōu)先級,所述放射式菜單用于(i)被顯示在所述顯示區(qū)域中,以及(ii)接收對可選菜單項的選擇,其中所述菜單項用于在所述放射式菜單中被顯示為在距離中心位置特定距離處布置的一系列可區(qū)分圖標,其中所顯示的圖標之間的角距離基于所述優(yōu)先級。
31.根據(jù)權(quán)利要求30所述的計算機可讀存儲介質(zhì),其中所述GUI還包括從所述中心位置發(fā)出的突出顯示,所述突出顯示用于在特定菜單項當前可選時指示用于該特定菜單項的可選區(qū)域。
32.根據(jù)權(quán)利要求31所述的計算機可讀存儲介質(zhì),其中在光標位于所述特定菜單項的所述可選區(qū)域上時,所述特定菜單項當前可選。
33.根據(jù)權(quán)利要求30所述的計算機可讀存儲介質(zhì),其中所述放射式菜單用于接收手勢選擇;特定菜單項用于打開子菜單;并且所述GUI還包括用于在用戶通過手勢選擇而選擇了該特定菜單項之后圍繞光標顯示的放射式子菜單。
全文摘要
本發(fā)明的一些實施例提供了用于操縱應用的圖形用戶界面中的放射式菜單的多種新穎的技術。在一些實施例中,放射式菜單包括圍繞內(nèi)部位置(例如放射式菜單的中心)布置的多個可選項。一些實施例的新穎放射式菜單技術包括(i)不均勻間隔的菜單項,(ii)在與項相關聯(lián)的區(qū)域中使用陰影或突出顯示來指示該項的當前可選擇性,以及(iii)使用放射式手勢來打開子菜單以及隨后顯示子菜單。
文檔編號G06F3/048GK102449588SQ201080023455
公開日2012年5月9日 申請日期2010年5月19日 優(yōu)先權(quán)日2009年5月29日
發(fā)明者P·瓦納 申請人:蘋果公司