專利名稱::用于手勢(shì)操作的應(yīng)用編程接口的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及提供手勢(shì)(gesture)操作的應(yīng)用編程接ロ。計(jì)算機(jī)程序列表本專利文獻(xiàn)公開內(nèi)容的一部分包含受到版權(quán)保護(hù)的材料。版權(quán)擁有者不反對(duì)任何人以本專利文獻(xiàn)或?qū)@_在專利商標(biāo)局文檔或記錄中出現(xiàn)的形式對(duì)其進(jìn)行復(fù)制,但是在其他任何方面保留所有的版權(quán)。申請(qǐng)人在此提交所附的附錄A中所包括的計(jì)算機(jī)程序列表。
背景技術(shù):
:API是計(jì)算機(jī)系統(tǒng)或程序庫(kù)提供的源代碼接ロ,用于支持來(lái)自軟件應(yīng)用的服務(wù)請(qǐng)求。API在含義方面解釋為能夠在建立應(yīng)用時(shí)被解釋或編譯的編程語(yǔ)言,而不是對(duì)數(shù)據(jù)如何被布置在存儲(chǔ)器中進(jìn)行的顯式低層描述。提供了由API所描述的功能的軟件被稱為API的實(shí)現(xiàn)形式。各種裝置(例如電子裝置、計(jì)算系統(tǒng)、便攜式裝置以及手持式裝置)具有軟件應(yīng)用。API在軟件應(yīng)用與用戶接ロ軟件之間作為接ロ,以給裝置的用戶提供特定的特性和操作。用戶可能希望對(duì)于裝置的顯示器有特定的操作,例如滾動(dòng)(scrolling)、選擇、手勢(shì)和動(dòng)畫操作。滾動(dòng)是使內(nèi)容(例如文本、圖畫或圖像)的方向性(例如水平或垂直)展示形式在屏幕或顯示窗口上進(jìn)行滑動(dòng)的動(dòng)作。在通常的圖形用戶接口中,滾動(dòng)是在滾動(dòng)條的幫助下或者利用鍵盤快捷方式(通常是箭頭鍵)來(lái)進(jìn)行的。手勢(shì)是具有兩個(gè)或更多個(gè)輸入點(diǎn)的用戶輸入類型。動(dòng)畫操作包括在給定的時(shí)間段內(nèi)改變內(nèi)容。各種裝置可能具有有限的顯示器尺寸、用戶接ロ、軟件、API接口和/或處理能力,這限制了裝置的易用性。裝置的用戶接ロ實(shí)現(xiàn)API以提供所請(qǐng)求的功能和特性。這些用戶接ロ可能難以解釋各種用戶輸入并提供與這些用戶輸入相關(guān)的所需功能。
發(fā)明內(nèi)容本發(fā)明的至少某些實(shí)施例包括下述環(huán)境中的一個(gè)或多個(gè)應(yīng)用編程接ロ該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。各種函數(shù)調(diào)用或消息通過(guò)這些應(yīng)用編程接ロ而在用戶接ロ軟件與軟件應(yīng)用之間傳送。示例性的應(yīng)用編程接ロ傳送函數(shù)調(diào)用以實(shí)現(xiàn)裝置的滾動(dòng)、手勢(shì)和動(dòng)畫操作。本發(fā)明的至少某些實(shí)施例包括具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件的環(huán)境。該環(huán)境中通過(guò)應(yīng)用編程接ロ(API)而工作的方法包括傳送設(shè)定彈回調(diào)用。該方法還包括設(shè)定最大和最小彈回值中至少ー者。設(shè)定彈回調(diào)用造成在滾動(dòng)結(jié)束時(shí),基于超過(guò)滾動(dòng)區(qū)域邊緣的區(qū)域是否在顯示區(qū)域中可見(jiàn),而使?jié)L動(dòng)區(qū)域沿與滾動(dòng)相反的方向彈回。本發(fā)明的至少某些實(shí)施例包括具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件的環(huán)境。該環(huán)境中通過(guò)應(yīng)用編程接ロ(API)而工作的方法包括傳送拉伸調(diào)用。當(dāng)滾動(dòng)區(qū)域超過(guò)了顯示邊緣時(shí),滾動(dòng)區(qū)域在顯示區(qū)域內(nèi)拉伸ー個(gè)預(yù)定的最大位移。該方法還包括傳送邊緣拉伸調(diào)用,以設(shè)定用于顯示器至少ー個(gè)邊緣(例如上下邊緣、左右邊緣)的位移值。本發(fā)明的至少某些實(shí)施例包括具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件的環(huán)境,以提供用于裝置的顯示器的手勢(shì)操作。用于在該環(huán)境中通過(guò)用戶編程接ロ(API)進(jìn)行操作的方法包括傳送縮放變換調(diào)用。手勢(shì)操作包括響應(yīng)于具有兩個(gè)或更多個(gè)輸入點(diǎn)的用戶輸入而執(zhí)行縮放變換,例如放大或縮小。手勢(shì)操作還包括響應(yīng)于具有兩個(gè)或更多個(gè)輸入點(diǎn)的用戶輸入而執(zhí)行旋轉(zhuǎn)變換以使圖像或視圖旋轉(zhuǎn)。本發(fā)明的至少某些實(shí)施例包括用于給裝置的顯示器執(zhí)行動(dòng)畫的方法。該方法包括開始至少ー個(gè)動(dòng)畫。該方法還包括判定各個(gè)動(dòng)畫的進(jìn)展。該方法還包括基于單ー的定時(shí)器而完成各個(gè)動(dòng)畫。該單ー的定時(shí)器可以基于顯示硬件的重繪間隔。還描述了執(zhí)行前述方法中ー種或多種的各種裝置以及在由處理系統(tǒng)執(zhí)行時(shí)使處理系統(tǒng)執(zhí)行這些方法的機(jī)器可讀介質(zhì)。還描述了其他方法、裝置和機(jī)器可讀介質(zhì)。本發(fā)明是通過(guò)參照附圖來(lái)說(shuō)明的,其中圖I是用于對(duì)數(shù)據(jù)處理裝置的用戶輸入進(jìn)行響應(yīng)的方法的流程圖;圖2以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖3以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖4的示意示了具有觸摸敏感顯示器408的便攜式電子裝置400的用戶接ロ的一種實(shí)施例;圖5A-圖5C圖示了具有觸摸敏感顯示器的便攜式電子裝置400的用戶接ロ的至少一些實(shí)施例;圖6A-圖6D圖示了根據(jù)ー些實(shí)施例,將條目的列表滾動(dòng)至列表終點(diǎn),在該終點(diǎn)處超過(guò)該終點(diǎn)的區(qū)域被顯示,然后列表被沿相反的方向滾動(dòng)直到超過(guò)該終點(diǎn)的區(qū)域不再被顯示;圖7以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖8圖示了根據(jù)本發(fā)明的某些教導(dǎo),用于將裝置顯示器的滾動(dòng)鎖定在水平或垂直方向的第一和第二滾動(dòng)角度;圖9以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖10以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié)圖11以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖12以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖13以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖14以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖15圖示了ー種裝置的顯示器,其具有視圖的縮放變換;圖16A-圖16C圖示了ー種裝置的顯示器,其帶有具有第一和第二縮放因子的視圖;圖17以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖18以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖19是用于對(duì)裝置的顯示器上顯示的視圖進(jìn)行動(dòng)畫的方法的流程圖;圖20是用于對(duì)裝置的顯示器上顯示的視圖進(jìn)行動(dòng)畫的方法的流程圖;圖21以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié);圖22A和圖22B圖不了對(duì)裝直的顯不器的窗ロ的調(diào)整大小進(jìn)彳丁同步;圖23圖示了用于對(duì)數(shù)據(jù)處理裝置的顯示器上顯示的應(yīng)用的視圖的擁有者進(jìn)行切換的方法;圖24圖示了用于對(duì)裝置的顯示器上顯示的應(yīng)用的視圖進(jìn)行內(nèi)存管理的方法;圖25A和圖25B圖示了具有層的層級(jí)的數(shù)據(jù)結(jié)構(gòu),層與視圖相關(guān)聯(lián);圖26圖示了用于將用戶接ロ的媒體和非媒體內(nèi)容進(jìn)行合成以在裝置上顯示的方法;圖27圖示了數(shù)據(jù)結(jié)構(gòu)或?qū)哟螛洌渚哂袑拥膶蛹?jí);圖28是根據(jù)本發(fā)明ー種實(shí)施例的裝置的立體圖;圖29是根據(jù)本發(fā)明ー種實(shí)施例的裝置的立體圖;圖30A和圖30B是根據(jù)本發(fā)明ー種實(shí)施例的無(wú)線裝置的立體圖;圖31是可以實(shí)施根據(jù)本發(fā)明的實(shí)施例的系統(tǒng)的框圖;圖32示出了根據(jù)本發(fā)明一種實(shí)施例的裝置的另ー種示例;圖33A是根據(jù)本發(fā)明ー種實(shí)施例處于第一構(gòu)造(例如在膝上型構(gòu)造中)的裝置的立體圖;圖33B是根據(jù)本發(fā)明的一種實(shí)施例處于第二構(gòu)造(例如過(guò)渡構(gòu)造)的圖33A的裝置的立體圖;圖33C是根據(jù)本發(fā)明ー種實(shí)施例處于第三構(gòu)造(例如平板構(gòu)造)的圖33A的裝置的立體圖;圖34以流程圖的形式圖示了根據(jù)本發(fā)明某些教導(dǎo)的應(yīng)用編程接ロ的細(xì)節(jié)。具體實(shí)施例方式下面將參照下述細(xì)節(jié)對(duì)本發(fā)明的各種實(shí)施例和各個(gè)方面進(jìn)行說(shuō)明,附圖將圖示各種實(shí)施例。下面的說(shuō)明和附圖是對(duì)本發(fā)明的示例性說(shuō)明,而不應(yīng)看作對(duì)本發(fā)明的限制。描述了大量具體細(xì)節(jié)以提供對(duì)本發(fā)明各種實(shí)施例的詳盡理解。但是在某些情況下,將不對(duì)公知的或傳統(tǒng)的細(xì)節(jié)進(jìn)行描述,以對(duì)本發(fā)明的實(shí)施例提供簡(jiǎn)要的說(shuō)明。下文具體實(shí)施方式的某些部分是以算法的形式展現(xiàn)的,這些算法包括對(duì)于計(jì)算機(jī)存儲(chǔ)器內(nèi)儲(chǔ)存的數(shù)據(jù)進(jìn)行的操作。算法大體上是指造成所需結(jié)果的操作的自治序列。這些操作通常需要或涉及到物理操縱或物理量。通常(但不是必然),這些量采取電信號(hào)或磁信號(hào)的形式,這些信號(hào)能夠被儲(chǔ)存、傳輸、合并、比較和以其他方式受到操縱。業(yè)已證明,有時(shí)(主要是為了通常使用的原因),將這些信號(hào)稱為位、值、元素、符號(hào)、字符、項(xiàng)、數(shù)等等是方便的。但是應(yīng)當(dāng)牢記,這些以及類似的所有術(shù)語(yǔ)是與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)的,并且僅僅是應(yīng)用于這些量的方便的標(biāo)號(hào)。除非下文中明顯地以其他形式另有說(shuō)明外,整個(gè)說(shuō)明書中使用諸如“處理”或“計(jì)算”或“判定”或“顯示”等術(shù)語(yǔ)所進(jìn)行的說(shuō)明可以指數(shù)據(jù)處理系統(tǒng)或類似電子裝置進(jìn)行的動(dòng)作和處理,所述動(dòng)作和處理操縱計(jì)算機(jī)的寄存器和存儲(chǔ)器內(nèi)以物理(電子)量表示的數(shù)據(jù)并將其轉(zhuǎn)換成該系統(tǒng)的存儲(chǔ)器或寄存器(或其他這類信息存儲(chǔ)、傳輸或顯示的裝置)內(nèi)類似地以物理量的形式表示的其他數(shù)據(jù)。本發(fā)明可以涉及用于執(zhí)行本申請(qǐng)中所述操作中的ー項(xiàng)或多項(xiàng)操作的設(shè)備。該設(shè)備可以為所需的目的而專門構(gòu)造,或者也可以包括通用計(jì)算機(jī),所述通用計(jì)算機(jī)由儲(chǔ)存在該計(jì)算機(jī)中的計(jì)算機(jī)程序選擇性地激活(activate)或重構(gòu)(reconfigure)。這樣的計(jì)算機(jī)程序可以被儲(chǔ)存在機(jī)器(例如計(jì)算機(jī))可讀介質(zhì)中或者存儲(chǔ)在適于儲(chǔ)存電子指令井分別耦聯(lián)到總線的任何類型介質(zhì)中,所述計(jì)算機(jī)可讀介質(zhì)包括但不限于任何類型的盤(包括軟盤、光盤、CD-ROM、和磁光盤)、只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、可擦除可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、閃存、磁性卡片或光學(xué)卡片。機(jī)器可讀介質(zhì)包括用于以由機(jī)器(例如計(jì)算機(jī))可讀的形式儲(chǔ)存或傳輸信息的任何機(jī)構(gòu)。例如,機(jī)器可讀介質(zhì)包括只讀存儲(chǔ)器(ROM);隨機(jī)存取存儲(chǔ)器(RAM)、磁盤儲(chǔ)存介質(zhì)、光學(xué)儲(chǔ)存介質(zhì)、閃存裝置、以電的、光的、聲的或其他的形式傳播的信號(hào)(例如載波、紅外信號(hào)、數(shù)字信號(hào)等)等。本發(fā)明的至少某些實(shí)施例包括下述環(huán)境中一個(gè)或多個(gè)應(yīng)用編程接ロ該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。各種函數(shù)調(diào)用(functioncall)或消息通過(guò)應(yīng)用編程接ロ而在用戶接ロ軟件與軟件應(yīng)用之間進(jìn)行傳輸。傳輸這些函數(shù)調(diào)用或消息可以包括發(fā)起(issue)、產(chǎn)生(initiate)、引起(invoke)或接收這些函數(shù)調(diào)用或消息。示例性應(yīng)用編程接ロ傳輸函數(shù)調(diào)用,用于給具有顯示區(qū)域的裝置實(shí)現(xiàn)滾動(dòng)、手勢(shì)和動(dòng)畫操作。API還可以實(shí)現(xiàn)具有參數(shù)、變量或指針的函數(shù)。API可以接收所公開的參數(shù)或其他的參數(shù)組合。除了所公開的API之外,其他API也可以單獨(dú)地或組合地執(zhí)行與所公開的API類似的功能。顯示區(qū)域是窗ロ的形式。窗ロ是這樣的顯示區(qū)域其可以不具有邊界,并可以是顯示器的整個(gè)顯示區(qū)域或范圍。在某些實(shí)施例中,顯示區(qū)域可以具有至少ー個(gè)窗口和/或至少ー個(gè)視圖(例如網(wǎng)頁(yè)、文本或圖像內(nèi)容)。窗ロ可以具有至少ー個(gè)視圖。所公開的方法、系統(tǒng)和設(shè)備可以實(shí)現(xiàn)為具有顯示區(qū)域、窗口和/或視圖。本發(fā)明的至少某些實(shí)施例包括用于對(duì)裝置的顯示器進(jìn)行滾動(dòng)的滾動(dòng)操作。滾動(dòng)操作包括當(dāng)滾動(dòng)完成時(shí)使?jié)L動(dòng)區(qū)域沿與滾動(dòng)相反的方向彈回(bounce)、當(dāng)滾動(dòng)區(qū)域超出了顯示邊界時(shí)將滾動(dòng)區(qū)域拉伸(rubberband)—段預(yù)定的最大位移、以及設(shè)定將滾動(dòng)鎖定在水平或垂直方向的滾動(dòng)角度。本發(fā)明的至少某些實(shí)施例包括用于裝置顯示器的手勢(shì)操作。手勢(shì)操作包括響應(yīng)于具有兩個(gè)或更多個(gè)輸入點(diǎn)的用戶輸入而執(zhí)行縮放變換(例如放大或縮小)。手勢(shì)操作還包括響應(yīng)于具有兩個(gè)或更多個(gè)輸入點(diǎn)的用戶輸入而執(zhí)行旋轉(zhuǎn)變換來(lái)使圖像或視圖旋轉(zhuǎn)。本發(fā)明的至少某些實(shí)施例包括用于給裝置的顯示器執(zhí)行動(dòng)畫的方法。該方法包括啟動(dòng)至少ー個(gè)動(dòng)畫。該方法還包括確定姆個(gè)動(dòng)畫的進(jìn)展(progress)。該方法還包括根據(jù)單一的定時(shí)器完成每個(gè)動(dòng)畫。該單ー的定時(shí)器可以基于顯示硬件的重繪間隔。本發(fā)明的至少某些實(shí)施例可以是數(shù)字媒體播放器(例如便攜式音樂(lè)和/或視頻媒體播放器)的一部分,該數(shù)字媒體播放器可以包括展現(xiàn)媒體的媒體處理系統(tǒng)、儲(chǔ)存媒體的存儲(chǔ)裝置,并且還可以包括與天線系統(tǒng)和媒體處理系統(tǒng)耦聯(lián)的射頻(RF)收發(fā)器(例如用于蜂窩電話的RF收發(fā)器)。在某些實(shí)施例中,儲(chǔ)存在遠(yuǎn)程儲(chǔ)存裝置上的媒體可以通過(guò)RF收發(fā)器傳輸?shù)矫襟w播放器。媒體例如可以是音樂(lè)或其他音頻、靜止圖像或運(yùn)動(dòng)圖像中的一者或多者。便攜式媒體播放器可以包括媒體選擇裝置,例如來(lái)自Cupertino,CA的AppleComputer,Inc.的iPod或iPodNano上的點(diǎn)擊輪輸入裝置、觸摸屏輸入裝置、按鈕裝置、可動(dòng)指點(diǎn)輸入裝置或其他輸入裝置。媒體選擇裝置可以用來(lái)對(duì)儲(chǔ)存在儲(chǔ)存裝置和/或遠(yuǎn)程儲(chǔ)存裝置上的媒體進(jìn)行選擇。至少在某些實(shí)施例中,便攜式媒體播放器可以包括顯示裝置,該顯示裝置耦聯(lián)到媒體處理系統(tǒng)以顯示被通過(guò)輸入裝置選擇并被展現(xiàn)的媒體的標(biāo)題或其他標(biāo)志物,所述展現(xiàn)是通過(guò)揚(yáng)聲器或(ー個(gè)或多個(gè))耳機(jī)進(jìn)行、在該顯示裝置上進(jìn)行或既在該顯示裝置上又通過(guò)揚(yáng)聲器或(ー個(gè)或多個(gè))耳機(jī)進(jìn)行的。在某些實(shí)施例中,顯示裝置和輸入裝置是一體的,而在其他實(shí)施例中,顯示裝置和輸入裝置是分開的裝置。題為“AutomatedResponsetoandSensingofUserActivityinDevice”的美國(guó)專利申請(qǐng)No.11/586,862以及美國(guó)專利申請(qǐng)公開No.2003/0095096和No.2004/0224638中描述了便攜式媒體播放器的示例,這些文獻(xiàn)通過(guò)引用方式結(jié)合在本申請(qǐng)中。這里所述發(fā)明的實(shí)施例可以是其他類型數(shù)據(jù)處理系統(tǒng)的一部分,這些數(shù)據(jù)處理系統(tǒng)例如娛樂(lè)系統(tǒng)或個(gè)人數(shù)字助理(PDA)、通用計(jì)算機(jī)系統(tǒng)、專用計(jì)算機(jī)系統(tǒng)、嵌入其他裝置中的嵌入式裝置、不包含媒體播放器的蜂窩電話、多點(diǎn)觸摸平板裝置、其他多點(diǎn)觸摸裝置或者將這些裝置的各方面或功能相結(jié)合的裝置(例如將PDA、娛樂(lè)系統(tǒng)和蜂窩電話結(jié)合在一個(gè)裝置中的媒體播放器,例如iPod)。在本發(fā)明中,電子裝置和消費(fèi)裝置是裝置的典型示例。圖I是用于對(duì)裝置的用戶輸入進(jìn)行響應(yīng)的方法的流程圖。該方法100包括在方框102處接收用戶輸入。用戶輸入的形式可以是輸入鍵、按鈕、輪、觸摸或用于與該裝置進(jìn)行交互的其他方式。該方法100還包括在方框104處響應(yīng)于該用戶輸入而創(chuàng)建事件対象。該方法100還包括在方框106處判定該事件對(duì)象是否引起滾動(dòng)或手勢(shì)操作。例如,在裝置的顯示器上拖動(dòng)一端距離的単一觸摸可以被解釋為滾動(dòng)操作。在一種實(shí)施例中,兩個(gè)或更多個(gè)手指對(duì)顯示器的觸摸可以被解釋為手勢(shì)操作。在某些實(shí)施例中,判定事件對(duì)象是否引起滾動(dòng)或手勢(shì)操作是根據(jù)對(duì)于給定的時(shí)間長(zhǎng)度對(duì)拖動(dòng)用戶輸入的接收而進(jìn)行的。該方法100還包括在方框108處基于引起滾動(dòng)或手勢(shì)操作而發(fā)起至少ー個(gè)滾動(dòng)或手勢(shì)調(diào)用。該方法100還包括在方框110處,基于停在預(yù)定位置處的滾動(dòng)相對(duì)于用戶輸入的滾動(dòng)量,通過(guò)使具有與該事件對(duì)象相關(guān)的視圖(例如網(wǎng)頁(yè)、文本或圖像內(nèi)容)的窗ロ滾動(dòng),來(lái)響應(yīng)至少ー個(gè)滾動(dòng)調(diào)用(如果已發(fā)起)。滾動(dòng)可以持續(xù)到相對(duì)于從用戶接收到的最后的輸入達(dá)到預(yù)定位置為止。方法100還包括在方框112處,基于以用戶輸入的形式對(duì)多個(gè)輸入點(diǎn)的接收,通過(guò)改變與該事件對(duì)象相關(guān)的視圖,來(lái)響應(yīng)至少ー個(gè)手勢(shì)調(diào)用(如果已發(fā)起)。在本發(fā)明的某些實(shí)施例中,滾動(dòng)操作包括將滾動(dòng)指示器附著到顯示器的內(nèi)容邊緣?;蛘撸瑵L動(dòng)指示器可以被附著到顯示邊緣。在某些實(shí)施例中,鼠標(biāo)/手指按下的形式的用戶輸入使?jié)L動(dòng)指示器顯示在滾動(dòng)區(qū)域的顯示邊緣、內(nèi)容邊緣或窗ロ邊緣處。如果隨后檢測(cè)到鼠標(biāo)/手指抬起,則滾動(dòng)指示器從滾動(dòng)區(qū)域的顯示邊緣、內(nèi)容邊緣或窗ロ邊緣淡出。在本發(fā)明的某些實(shí)施例中,手勢(shì)操作包括基于以用戶輸入的形式對(duì)多個(gè)輸入點(diǎn)的接收,通過(guò)使與事件對(duì)象相關(guān)的視圖旋轉(zhuǎn),來(lái)響應(yīng)至少ー個(gè)手勢(shì)調(diào)用(如果已發(fā)起)。手勢(shì)操作可以包括基于對(duì)用戶輸入的接收,通過(guò)放大或縮小來(lái)對(duì)與事件對(duì)象相關(guān)的視圖進(jìn)行縮放。在某些實(shí)施例中,裝置包括具有多個(gè)視圖或窗ロ的顯示區(qū)域。每個(gè)窗ロ可以具有包括主視圖(superview)和子視圖(subview)在內(nèi)的多個(gè)視圖。必須確定哪個(gè)窗ロ、視圖、主視圖或子視圖被鼠標(biāo)抬起、鼠標(biāo)按下或拖動(dòng)等形式的用戶輸入所接觸。API可以設(shè)定用于進(jìn)行這種判定的各種模式。在一種實(shí)施例中,“通過(guò)”模式(passmode)向最接近的子視圖發(fā)送鼠標(biāo)按下、鼠標(biāo)抬起和拖動(dòng)輸入。在另ー種實(shí)施例中,“拖動(dòng)時(shí)截獲”模式(interceptondragmode)在鼠標(biāo)抬起和按下的輸入被發(fā)送到子視圖的同時(shí)向主視圖發(fā)送拖動(dòng)輸入。在另ー種實(shí)施例中,“截獲”模式(interceptmode)向主視圖發(fā)送全部的拖動(dòng)、鼠標(biāo)抬起和按下輸入。主視圖可以是作為視圖軟件的子集(subclass)而工作的滾動(dòng)器(scroller)軟件。子視圖可以是作為用戶接ロ軟件的子集而工作的視圖軟件。根據(jù)本發(fā)明的某些教導(dǎo),圖2以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中以提供彈回操作該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。用于提供彈回操作的方法200包括在方框202處傳送設(shè)定彈回(setbounce)調(diào)用。方法200還包括在方框204處設(shè)定最大和最小彈回值中的至少ー者。最大和最小彈回值可以與已接收了用戶輸入的窗ロ的至少ー個(gè)邊緣相關(guān)聯(lián)。方法200還包括在方框206處,在滾動(dòng)結(jié)束時(shí),基于超過(guò)滾動(dòng)區(qū)域邊緣的區(qū)域是否在顯示區(qū)域中可見(jiàn),而使?jié)L動(dòng)區(qū)域沿與滾動(dòng)相反的方向彈回。滾動(dòng)區(qū)域可以是內(nèi)容區(qū)域。在本發(fā)明的某些實(shí)施例中,發(fā)送固定彈回調(diào)用可以是下列任一者發(fā)起、產(chǎn)生、弓丨起或接收該固定彈回調(diào)用。根據(jù)本發(fā)明的某些教導(dǎo),圖3以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該引用編程接ロ工作于下述環(huán)境中以提供拉伸操作該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。用于提供拉伸操作的方法300包括在方框302處傳送拉伸調(diào)用,以造成對(duì)顯示器內(nèi)顯示的滾動(dòng)區(qū)域進(jìn)行拉伸。方法300還包括在方框304處傳送邊緣拉伸調(diào)用以給顯示器的至少ー個(gè)邊緣設(shè)定位移值。在某些實(shí)施例中,給上下邊緣、左右邊緣或全部邊緣設(shè)定位移值。基于滾動(dòng),當(dāng)滾動(dòng)區(qū)域超過(guò)了裝置顯示器的顯示邊緣時(shí),根據(jù)方法300對(duì)滾動(dòng)區(qū)域進(jìn)行的拉伸進(jìn)行預(yù)定的最大位移值。如果用戶對(duì)顯示器的內(nèi)容進(jìn)行滾動(dòng),使得超過(guò)該內(nèi)容的邊緣的區(qū)域在顯示器中可見(jiàn),則該位移值對(duì)該內(nèi)容外部的區(qū)域的最大量進(jìn)行限制。在滾動(dòng)結(jié)束時(shí),該內(nèi)容滑動(dòng)回去,使得該內(nèi)容外部的區(qū)域不再在顯示器上可見(jiàn)。在本發(fā)明的某些實(shí)施例中,傳輸拉伸調(diào)用是下列任一者發(fā)起、產(chǎn)生、引起或接收該拉伸調(diào)用。圖4的示意示了具有觸摸敏感顯示器408的便攜式電子裝置400的用戶接ロ的一種實(shí)施例。顯不器408可以包括窗ロ410。窗ロ410可以包括一個(gè)或多個(gè)顯不對(duì)象,例如信息對(duì)象412-1至412-4。在一種示例性實(shí)施例中,信息對(duì)象412可以對(duì)應(yīng)于條目列表中的一個(gè)或多個(gè)個(gè)體的聯(lián)系人(contact)信息。顯示對(duì)象可以響應(yīng)于對(duì)與顯示器的接觸點(diǎn)的運(yùn)動(dòng)414(例如與用戶的ー個(gè)或多個(gè)手指416相關(guān)聯(lián),圖4中的手指沒(méi)有按比例繪制)進(jìn)行的檢測(cè)或判定而運(yùn)動(dòng)。在某些實(shí)施例中,響應(yīng)于對(duì)接觸點(diǎn)的加速運(yùn)動(dòng)進(jìn)行的檢測(cè)或判定,顯示對(duì)象的運(yùn)動(dòng)可以被加速。盡管實(shí)施例400包括一個(gè)窗ロ410,但是在其他實(shí)施例中可以有兩個(gè)或更多個(gè)顯示窗ロ。另外,盡管實(shí)施例400圖示了沿特定方向的運(yùn)動(dòng)414,但是在其他實(shí)施例中,顯示對(duì)象的運(yùn)動(dòng)可以響應(yīng)于沿ー個(gè)或多個(gè)其他方向的運(yùn)動(dòng)414或者響應(yīng)于ー個(gè)標(biāo)量(即被確定的或被檢測(cè)的與方向無(wú)關(guān)的運(yùn)動(dòng))。圖5A-圖5C圖示了將裝置上條目的列表滾動(dòng)到列表的終點(diǎn),在該位置,列表末端處的ー個(gè)或多個(gè)顯示條目平滑地從顯示器的末端彈回,翻轉(zhuǎn)方向,然后可選地停止。圖5A的示意示了具有觸摸敏感顯示器的便攜式電子裝置400的用戶接ロ的一種實(shí)施例。一個(gè)或多個(gè)顯示對(duì)象(例如信息對(duì)象412-1)可以與條目列表的終點(diǎn)514(是滾動(dòng)區(qū)域的邊緣)有一段距離512-1,并可以在該列表被滾動(dòng)的時(shí)候以速度510-1運(yùn)動(dòng)。注意,終點(diǎn)514是與顯示對(duì)象相關(guān)的虛擬邊界,這和與窗ロ410和/或顯示器408相關(guān)的物理邊界不同。如圖5B所示,當(dāng)ー個(gè)或多個(gè)顯示對(duì)象(例如信息對(duì)象412-1)到達(dá)終點(diǎn)514或與之相交時(shí),與滾動(dòng)相對(duì)應(yīng)的運(yùn)動(dòng)可以停止,即,滾動(dòng)速度可以在瞬時(shí)為零。如圖5C所示,這ー個(gè)或多個(gè)顯示對(duì)象(例如信息412-1)可以隨后翻轉(zhuǎn)方向。在與終點(diǎn)514相交之后,信息對(duì)象412-1可以具有速度510-2并可以離終點(diǎn)514—段距離512-2。在某些實(shí)施例中,當(dāng)距離512-2等于距離512-1時(shí),速度510-2的大小可以小于速度510-1的大小,即在滾動(dòng)列表到達(dá)其終點(diǎn)并在該處“彈回”之后,所述ー個(gè)或多個(gè)顯示對(duì)象的運(yùn)動(dòng)受到阻尼(damp)。在本發(fā)明的至少某些實(shí)施例中,方法200執(zhí)行圖5A-圖5C所述的彈回操作。方框202處傳送的彈回調(diào)用判定是否允許(enable)彈回操作。最大和最小彈回值確定滾動(dòng)區(qū)域沿與滾動(dòng)相反的方向的彈回量。圖6A-圖6D圖示了根據(jù)本發(fā)明的某些實(shí)施例,將條目列表滾動(dòng)到列表的終點(diǎn),該終點(diǎn)處超過(guò)該終點(diǎn)的區(qū)域被顯示,隨后該列表被沿相反方向滾動(dòng),直到超過(guò)該終點(diǎn)的區(qū)域不再被顯示。圖6A-圖6D的示例中以電子郵件消息作為所列條目來(lái)圖示了方法300的拉イ申操作。圖6A-圖6D圖示了根據(jù)某些實(shí)施例,用于對(duì)收件箱(inbox)進(jìn)行管理的示例性用戶接ロ3500A。類似的用戶接ロ可以用來(lái)顯示和管理其他郵箱(例如草稿的、已發(fā)送的、垃圾的、個(gè)人的等)。另外,也可以有其他類型的列表,包括但不限于即時(shí)消息會(huì)話、常用電話號(hào)碼、聯(lián)系人信息、標(biāo)簽、電子郵件文件夾、電子郵件地址、實(shí)際地址、鈴聲或相冊(cè)名稱的列表。如果電子郵件的列表填充了比所分配的屏幕區(qū)域更多的地方,則用戶可以在觸摸屏上用垂直向上和/或垂直向下刷(swipe)的手勢(shì)對(duì)這些電子郵件進(jìn)行滾動(dòng)。在圖6A的示例中,電子郵件列表的一部分被顯示在屏幕區(qū)域中,包括顯示在頂部的來(lái)自BruceWalker的電子郵件3530以及顯示在底部的來(lái)自KimBrook的電子郵件3532。用戶執(zhí)行垂直向下的刷手勢(shì)3514以向列表的頂部滾動(dòng)。垂直向下的手勢(shì)3514不需要精確地垂直’大體上垂直的手勢(shì)就足夠了。在某些實(shí)施例中,與精確垂直相差預(yù)定角度范圍內(nèi)的手勢(shì)造成垂直滾動(dòng)。作為對(duì)垂直向下的手勢(shì)3514進(jìn)行檢測(cè)的結(jié)果,在圖6B中,所顯示的電子郵件已經(jīng)向下移位,使得此前顯示在底部的來(lái)自KimBrook的電子郵件3532不再被顯示,此前顯示在頂部的來(lái)自BruceWalker的電子郵件3530現(xiàn)在成為從頂部數(shù)的第二個(gè),而圖6A中未顯示的、來(lái)自AaronJones的電子郵件3534現(xiàn)在被顯示在列表的頂部。在該示例中,來(lái)自AaronJones的電子郵件3534是列表中的第一個(gè)電子郵件,因此是列表的終點(diǎn)。在到達(dá)該電子郵件3534時(shí),響應(yīng)于對(duì)垂直向下的手勢(shì)3514的持續(xù)檢測(cè),該第一個(gè)電子郵件3534上方(即超過(guò)了該列表的終點(diǎn))的區(qū)域3536(圖6C)被顯示。在某些實(shí)施例中,超過(guò)了列表終點(diǎn)的被顯示的區(qū)域與列表的背景在視覺(jué)上截然不同。在圖6C中,區(qū)域3536以及電子郵件(即電子郵件3534和3530)的背景都是白色,因此在視覺(jué)上截然不同。一旦完成了垂直向下的手勢(shì)3514,使得觸摸屏上或其附近不再檢測(cè)到相應(yīng)的對(duì)象,則列表被沿相反的方向滾動(dòng),直到該區(qū)域3536不再被顯示。圖6D圖示了沿相反方向的這種滾動(dòng)的結(jié)果,現(xiàn)在來(lái)自AaronJones的電子郵件3534被顯示在分配給該列表的屏幕區(qū)域的頂部,而區(qū)域3536不被顯示。在圖6A-圖6D的示例中,垂直向下的手勢(shì)使得列表中第一個(gè)條目之外的區(qū)域被顯示。如圖3所示,在方框304對(duì)于上下邊緣,或者在方框306處對(duì)窗ロ的全部邊緣,設(shè)定用于預(yù)定最大位移的值(例如對(duì)列表中第一個(gè)條目之外的區(qū)域進(jìn)行顯示)。類似地,如果在列表已經(jīng)被滾動(dòng)到最后ー個(gè)條目時(shí)垂直向上的手指在繼續(xù),則垂直向上的手勢(shì)可以使得列表中最后ー個(gè)條目之外的區(qū)域被顯示。與第一個(gè)條目類似,該最后ー個(gè)條目可以被看作是列表的終點(diǎn)。如上所述,手勢(shì)不需要精確垂直以造成垂直滾動(dòng);與完全垂直相差預(yù)定角度范圍內(nèi)的手勢(shì)就足夠了。根據(jù)本發(fā)明的某些教導(dǎo),圖7以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中以提供方向性滾動(dòng)操作該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。用于通過(guò)應(yīng)用編程接ロ(API)工作的方法700包括在方框702傳送方向性滾動(dòng)角度調(diào)用,以判定是否允許方向性滾動(dòng)。方法700還包括在方框704處傳送方向性滾動(dòng)角度調(diào)用,以設(shè)定滾動(dòng)角度,所述滾動(dòng)角度用于將滾動(dòng)鎖定在垂直方向或水平方向中至少ー者。該方法700還包括在方框706處,如果用戶輸入與水平方向形成的角度小于或等于第一滾動(dòng)角度,則將滾動(dòng)鎖定在水平方向。該方法700還包括在方框708處,如果用戶輸入與垂直方向形成的角度小于或等于第二滾動(dòng)角度,則將滾動(dòng)鎖定在垂直方向。在某些實(shí)施例中,以拖動(dòng)的形式進(jìn)行的用戶輸入與水平方向形成的角度小于第一滾動(dòng)角度。在此情況下,用戶可能希望沿水平方向滾動(dòng)。滾動(dòng)將被鎖定在水平方向,直到用戶輸入超過(guò)了第一滾動(dòng)角度??梢杂玫诙L動(dòng)角度來(lái)將用戶輸入鎖定在垂直方向。第二滾動(dòng)角度可以被設(shè)定成等于第一滾動(dòng)角度。圖8圖示了用于將裝置顯示器的滾動(dòng)鎖定在水平或垂直方向的第一和第二滾動(dòng)角度。水平方向802和垂直方向804是相對(duì)于裝置的窗ロ或顯不器而言的。如方法700中所述,與水平方向802形成的角度小于或等于第一滾動(dòng)角度806或808的用戶輸入(例如拖動(dòng)運(yùn)動(dòng))將把用戶輸入鎖定在水平方向。類似地,與垂直方向804形成的角度小于或等于第二滾動(dòng)角度810或812的用戶輸入將把用戶輸入鎖定在垂直方向。第一和第二滾動(dòng)角度可以設(shè)定成相同角度,也可以設(shè)定在不同角度。例如,第一和第二滾動(dòng)角度可以被設(shè)定在25度。相對(duì)于水平或垂直方向小于或等于25度的用戶輸入將把滾動(dòng)鎖定在合適的方向。在某些實(shí)施例中,水平和垂直鎖定角度可以部分地由內(nèi)容的朝向(aspect)來(lái)確定。例如,瘦高頁(yè)面(tallpage)形式的內(nèi)容可以接收比水平鎖定角度更大的垂直鎖定角度。根據(jù)本發(fā)明的某些教導(dǎo),圖9以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中以提供減速滾動(dòng)操作該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。用于提供減速滾動(dòng)操作的方法900包括在方框902處傳送減速滾動(dòng)調(diào)用以設(shè)定用于拖動(dòng)用戶輸入的減速因子。該方法900還包括在方框904處根據(jù)該拖動(dòng)用戶輸入的速度以及該減速因子來(lái)將滾動(dòng)減慢直到停止。在某些實(shí)施例中,拖動(dòng)形式的用戶輸入引起特定時(shí)間長(zhǎng)度的滾動(dòng)操作。用戶輸入具有特定速度。通過(guò)將減速因子應(yīng)用于拖動(dòng)運(yùn)動(dòng)期間用戶輸入的速度,在用戶輸入停止之后,裝置顯示器的窗ロ或顯示區(qū)域的滾動(dòng)區(qū)域?qū)⑼V節(jié)L動(dòng)。根據(jù)本發(fā)明的某些教導(dǎo),圖10以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該用戶編程接ロ工作于下述環(huán)境中以提供滾動(dòng)滯后(hysteresis)操作該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。用于提供滾動(dòng)滯后操作的方法1000包括在方框1002處傳送滾動(dòng)滯后調(diào)用以判定用戶輸入是否引起滾動(dòng)。該方法1000還包括在方框1004處設(shè)定用于對(duì)用戶輸入是否引起滾動(dòng)進(jìn)行判定的滯后值。在某些實(shí)施例中,在裝置的顯示器或顯示器內(nèi)的窗口上拖動(dòng)特定距離的形式的用戶輸入引起滾動(dòng)操作。滯后值確定了該特定距離,這個(gè)距離是在引起滾動(dòng)操作之前,用戶輸入必須在顯示器或窗口上拖動(dòng)的距離。沒(méi)有拖動(dòng)該特定距離的用戶輸入將不會(huì)引起滾動(dòng)操作,并且可以被認(rèn)為是鼠標(biāo)抬起或按下輸入,或者其他類型的輸入。根據(jù)本發(fā)明的某些教導(dǎo),圖11以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中以將滾動(dòng)指示器附著到裝置的滾動(dòng)區(qū)域邊緣或窗ロ邊緣該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。在某些實(shí)施例中,滾動(dòng)區(qū)域邊緣與內(nèi)容邊緣相關(guān)聯(lián)。窗ロ或顯示邊緣可以與顯示區(qū)域的邊緣相關(guān)聯(lián)。用于提供滾動(dòng)指示器的方法1100包括在方框1102處傳送滾動(dòng)指示器調(diào)用以判定是否有至少ー個(gè)滾動(dòng)指示器附著到滾動(dòng)區(qū)域的邊緣或窗ロ邊緣。滾動(dòng)指示器可以被顯示在任何顯示邊緣、窗ロ邊緣或滾動(dòng)區(qū)域邊緣上。該方法1100還包括在方框1104處根據(jù)該滾動(dòng)指示器調(diào)用來(lái)可選地將至少ー個(gè)滾動(dòng)指示器附著到滾動(dòng)區(qū)域的邊緣?;蛘?,該方法1100還可以包括在方框1106處根據(jù)該滾動(dòng)指示器調(diào)用來(lái)可選地將至少ー個(gè)滾動(dòng)指示器附著到視圖的窗ロ邊緣。在某些實(shí)施例中,方法1100的這些操作可以被交替、更改、組合或刪除。例如,方框1104可以被刪除。類似地,方框1106可以從方法1100中刪去。或者,方框1104和方框1106的次序可以被交換。具有本發(fā)明中已經(jīng)討論過(guò)的各種操作的其他方法也可以被交替、更改、重排、分解、組合或刪除。在本發(fā)明的某些實(shí)施例中,傳送滾動(dòng)指示器調(diào)用是下列任一者發(fā)起、產(chǎn)生、引起或接收滾動(dòng)指示器調(diào)用。例如,用戶接ロ軟件(例如軟件包或庫(kù))可以從軟件應(yīng)用接收滾動(dòng)指示器調(diào)用。根據(jù)本發(fā)明的某些教導(dǎo),圖12以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中以判定是否有無(wú)意的用戶輸入接觸到裝置顯示器的視圖該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。該方法1200包括在方框1202處傳送無(wú)意用戶輸入調(diào)用,以判定用戶輸入是否是無(wú)意的。該方法1200還包括在方框1204處根據(jù)對(duì)無(wú)意用戶輸入調(diào)用的判定而忽略該無(wú)意用戶輸入。在一種實(shí)施例中,無(wú)意用戶輸入調(diào)用包括拇指檢測(cè)調(diào)用,以判定用戶輸入是否是無(wú)意的拇指行為。在本發(fā)明的某些實(shí)施例中,傳送無(wú)意用戶輸入調(diào)用是下列任一者發(fā)起、產(chǎn)生、弓丨起或接收無(wú)意用戶輸入調(diào)用。手勢(shì)API在應(yīng)用與用戶軟件之間提供接ロ以處理手勢(shì)。手勢(shì)可以包括對(duì)視圖、窗ロ或顯示器的縮放、旋轉(zhuǎn)或其他變化。掩碼(mask)可以只允許特定的改變而限制或不允許其他的改變。所有類型的事件都通過(guò)圖形構(gòu)架進(jìn)入該應(yīng)用。這些事件被查詢、分解(在必要時(shí))、分派(dispatch)。如果這些事件是系統(tǒng)級(jí)事件(例如,應(yīng)用應(yīng)當(dāng)被掛起、裝置方向已經(jīng)改變等等),則它們被引導(dǎo)至具有用戶接ロ軟件的類的實(shí)例(instance)的應(yīng)用。如果這些事件是基于用戶輸入的手事件,則這些事件被引導(dǎo)至發(fā)生它們的窗ロ。窗ロ然后通過(guò)對(duì)實(shí)例的鼠標(biāo)和手勢(shì)方法進(jìn)行調(diào)用,來(lái)將這些事件引導(dǎo)至合適的控制部分。接收了鼠標(biāo)按下或鼠標(biāo)輸入函數(shù)的控制部分將繼續(xù)得到將來(lái)的全部調(diào)用,直到手被抬起。如果檢測(cè)到第ニ個(gè)手指,則引起手勢(shì)方法或函數(shù)。這些函數(shù)可以包括開始、改變和結(jié)束手勢(shì)調(diào)用。將來(lái)的全部改變手勢(shì)調(diào)用將被發(fā)送到接收了開始手勢(shì)的控制部分,直到該手勢(shì)結(jié)束。根據(jù)本發(fā)明的某些教導(dǎo),圖13以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中以提供手勢(shì)操作該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。用于提供手勢(shì)操作的方法1300包括在方框1302處傳送處理手勢(shì)(handlegesture)事件調(diào)用。該方法1300還包括在方框1304處響應(yīng)于處理手勢(shì)事件調(diào)用而傳送手勢(shì)變化調(diào)用。在某些實(shí)施例中,由裝置的顯示器以兩個(gè)或更多個(gè)點(diǎn)的形式接收用戶輸入。裝置的多點(diǎn)觸摸驅(qū)動(dòng)器接收該用戶輸入并將該事件包裝成事件対象。窗ロ服務(wù)器接收該事件對(duì)象并判定該事件對(duì)象是否是手勢(shì)事件対象。如果窗ロ服務(wù)器確定已經(jīng)接收了手勢(shì)事件對(duì)象,則在方框1302處,用戶接ロ軟件向與視圖相關(guān)的軟件應(yīng)用發(fā)起或傳送該處理手勢(shì)調(diào)用。該軟件應(yīng)用確認(rèn)已經(jīng)接收到手勢(shì)事件并將處理手勢(shì)調(diào)用傳遞給用戶接ロ軟件的庫(kù)。窗ロ服務(wù)器還將該手勢(shì)事件對(duì)象與接收了該用戶輸入的視圖相關(guān)聯(lián)。在方框1304處,庫(kù)通過(guò)響應(yīng)于處理手勢(shì)事件調(diào)用來(lái)傳送手勢(shì)變化調(diào)用,從而作出響應(yīng)。在一種實(shí)施例中,與用戶輸入相關(guān)聯(lián)的窗ロ或視圖接收這種變化以執(zhí)行手勢(shì)事件。提供該視圖的用戶軟件接收手勢(shì)開始事件調(diào)用、手勢(shì)變化事件調(diào)用、用于該視圖的縮放設(shè)定、以及手勢(shì)結(jié)束調(diào)用。這些手勢(shì)調(diào)用接收手勢(shì)事件的輸入,該手勢(shì)事件可以是具有類型(例如手事件、鍵盤事件、系統(tǒng)事件等)的基礎(chǔ)(base)事件。與該應(yīng)用相關(guān)聯(lián)的委托(delegate)接收開始手勢(shì)調(diào)用、手勢(shì)已變化調(diào)用、以及手勢(shì)已完成調(diào)用。在手勢(shì)處理的運(yùn)行時(shí)間期間,用戶軟件被動(dòng)態(tài)地鏈接到該應(yīng)用中。在某些實(shí)施例中,手勢(shì)變化函數(shù)調(diào)用包含與手勢(shì)有關(guān)的下列信息當(dāng)前按下的手指的數(shù)目;最初按下的手指的數(shù)目;手的旋轉(zhuǎn);手的縮放;手的平移;內(nèi)側(cè)和最外的手指的位置;以及第一個(gè)手指的按壓。在某些實(shí)施例中,可以如下地包括與各個(gè)手指按下有關(guān)的更多信息。手指的階段(剛剛觸摸、完全按壓、正在抬起等);手指的位置;手指的接近度(觸摸有多猛烈);手指的方向(卵形接觸部分處于什么角度);長(zhǎng)軸和短軸的長(zhǎng)度;手指的速度;以及手指的卵形接觸部分的偏心率(eccentricity)。手勢(shì)事件對(duì)象可以是和弦(chord)事件對(duì)象,該和弦事件對(duì)象具有和弦數(shù)目(例如與視圖或顯示器接觸的手指的數(shù)目)、和弦開始事件、和弦變化事件、和弦結(jié)束事件。和弦變化事件可以包括縮放變換或旋轉(zhuǎn)變換。根據(jù)本發(fā)明的某些教導(dǎo),圖14以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中以提供裝置的顯示器的顯示區(qū)域、窗ロ或視圖的縮放變換該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。用于提供縮放變換的方法1400包括在方框1402處傳送縮放變換調(diào)用,以確定對(duì)于與具有多個(gè)輸入點(diǎn)的用戶輸入相關(guān)聯(lián)的視圖的縮放變換。該方法1400還包括在方框1404處傳送縮放手勢(shì)開始調(diào)用。該方法1400還包括在方框1406處傳送縮放手勢(shì)進(jìn)展調(diào)用。該方法1400還包括在方框1408處傳送縮放手勢(shì)結(jié)束調(diào)用。在某些實(shí)施例中,兩個(gè)或更多個(gè)輸入點(diǎn)(例如手指)的形式的用戶輸入移近或移遠(yuǎn),以引起手勢(shì)事件,所述手勢(shì)事件對(duì)與該用戶輸入相關(guān)聯(lián)的視圖執(zhí)行縮放變換??s放變換包括最小和最大縮放因子。圖15圖示了裝置的顯示器1502,其具有視圖的縮放變換。視圖1504(例如網(wǎng)頁(yè)、文本或圖像內(nèi)容)具有第一縮放因子。與該視圖1504相關(guān)聯(lián)的用戶輸入(例如兩個(gè)手指移遠(yuǎn))被解釋為從視圖1504向視圖1508進(jìn)行放大的手勢(shì)事件,所述視圖1508具有的第二縮放因子超過(guò)了視圖1516的最大縮放因子。快速返回(snapback)標(biāo)志確定了在快速返回與視圖1516相關(guān)聯(lián)的最大縮放因子之前,上述放大是否可以超過(guò)最大縮放因子而達(dá)到視圖1508。圖16A圖示了裝置的顯示器1604,其具有視圖1616的第一縮放因子。與視圖1614相關(guān)聯(lián)的用戶輸入(例如兩個(gè)手指1608和1610移近)被解釋為從視圖1614向視圖1664進(jìn)行放大的手勢(shì)事件,所述視圖1664具有如圖16B所示的第二縮放因子。虛線區(qū)域1602和1650表示內(nèi)容的全部區(qū)域,此時(shí)顯示區(qū)域1604和1652中只顯示了該內(nèi)容。在執(zhí)行從圖16A向圖16B的縮放變換時(shí),手勢(shì)事件的中心(對(duì)于圖16A是中心1612,對(duì)于圖16B是中心1660)相對(duì)于顯示器1604保持在相同的位置。在變換過(guò)程中,滾動(dòng)指示器1606收縮成滾動(dòng)指示器1654,以表明由于放大操作,顯示器1604上正在顯示全部?jī)?nèi)容1650的更少部分。虛線區(qū)域1650比虛線區(qū)域1602大,以表明由于放大操作,內(nèi)容的更多部分未被顯示在圖16B中的顯不器1652上。在本發(fā)明的至少ー些實(shí)施例中,如圖16C所示,用戶希望將視圖1670從縮放因子2x變化到縮放因子lx。第一組用戶輸入1672和1674向第二組用戶輸入1676和1678移動(dòng)將使縮放因子從2x減小到lx。用戶可能希望從2x縮到Ix而不必將用戶輸入在視圖1670上移動(dòng)很大距離。在具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件的環(huán)境中,可以設(shè)定手勢(shì)縮放變換標(biāo)志以確定對(duì)于與具有多個(gè)輸入點(diǎn)的用戶輸入相關(guān)聯(lián)的視圖進(jìn)行的縮放變換。該縮放變換標(biāo)志或者從當(dāng)前縮放因子縮放到最小縮放因子,或者從當(dāng)前縮放因子變換到最大縮放因子。例如,可以在與I.5X的縮放因子和第三組用戶輸入1680、1682相關(guān)聯(lián)的位置設(shè)定標(biāo)志。如果手勢(shì)縮放變換標(biāo)志已經(jīng)被設(shè)定在I.5x的縮放因子處,則希望將縮放因子從2x變化到Ix的用戶只需將其手指(用戶輸入)從第一組1672和1674移動(dòng)到第三組1680和1682。根據(jù)本發(fā)明的某些教導(dǎo),圖17以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。應(yīng)用編程接ロ工作于下述環(huán)境中以提供裝置的顯示器的視圖、窗ロ或顯示區(qū)域的旋轉(zhuǎn)變換該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。用于提供旋轉(zhuǎn)變換的方法1700包括在方框1702處傳送旋轉(zhuǎn)變換調(diào)用,以確定對(duì)于與具有多個(gè)輸入點(diǎn)的用戶輸入相關(guān)的視圖進(jìn)行旋轉(zhuǎn)變換。該方法1700還包括在方框1704處傳送旋轉(zhuǎn)手勢(shì)開始調(diào)用。該方法1700還包括在方框1706處傳送旋轉(zhuǎn)手勢(shì)進(jìn)展調(diào)用。該方法1700還包括在方框1708處傳送旋轉(zhuǎn)手勢(shì)結(jié)束調(diào)用。在某些實(shí)施例中,兩個(gè)或更多個(gè)輸入點(diǎn)的形式的用戶輸入進(jìn)行旋轉(zhuǎn)以引起手勢(shì)事件,該手勢(shì)事件對(duì)于與該用戶輸入相關(guān)聯(lián)的視圖執(zhí)行旋轉(zhuǎn)變換。旋轉(zhuǎn)變換包括最小和最大旋轉(zhuǎn)程度,用于相關(guān)的最小和最大旋轉(zhuǎn)視圖。在視圖快速返回到最大旋轉(zhuǎn)程度之前,用戶輸入可以暫時(shí)地將視圖旋轉(zhuǎn)到超過(guò)旋轉(zhuǎn)的最大程度。根據(jù)本發(fā)明的某些教導(dǎo),圖18以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中,以向委托通知與裝置顯示器的顯示區(qū)域、窗ロ或視圖相關(guān)的至少ー個(gè)動(dòng)畫該環(huán)境具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件。該API可以指定動(dòng)畫的延遲。另外,該API可以給多個(gè)動(dòng)畫賦予優(yōu)先度。用于通知委托的方法1800包括在方框1802處確定是否發(fā)生了任何動(dòng)畫。該方法1800還包括在方框1804處檢查動(dòng)畫的進(jìn)展。如果已經(jīng)發(fā)生了進(jìn)展,則在方框1806處可以計(jì)算該動(dòng)畫的下ー階段(例如位置、不透明性(opacity)或者變形)。如果在方框1804處進(jìn)展已經(jīng)完成,則在方框1808處判定與該完成的動(dòng)畫相關(guān)的視圖是否與委托相關(guān)聯(lián)。如果是,則在方框1810處傳送委托調(diào)用,以向該委托通知對(duì)于該視圖的動(dòng)畫。在該軟件應(yīng)用的控制下工作的委托可以響應(yīng)于由該動(dòng)畫改動(dòng)的視圖而使其他視圖變化。在某些實(shí)施例中,軟件引起動(dòng)畫,所述動(dòng)畫對(duì)與用戶輸入相關(guān)的視圖執(zhí)行縮放變換。顯示器可以包括多個(gè)視圖。由縮放變換增大了尺寸的視圖可能阻擋其他視圖,在此情況下,可能需要減小其他視圖的尺寸。或者,由縮放變換減小了尺寸的視圖可能產(chǎn)生多余的區(qū)域供其他視圖増大尺寸。圖19是用于使裝置的顯示器上顯示的顯示區(qū)域、窗ロ或視圖進(jìn)行動(dòng)畫(animate)的方法的流程圖。該方法1900包括在方框1902處開始至少兩個(gè)動(dòng)畫。該方法1900還包括在方框1904處確定各個(gè)動(dòng)畫的進(jìn)展。該方法1900還包括在方框1906處根據(jù)単一的定時(shí)器而完成各個(gè)動(dòng)畫。在本發(fā)明的某些實(shí)施例中,所述單ー的定時(shí)器包括基于重繪間隔的定時(shí)器,所述重繪間隔是裝置的顯示器顯示當(dāng)前幀與下一幀之間的事件長(zhǎng)度。在此情況下,動(dòng)畫的變化在重繪間隔期間被更新至顯示器,以顯示顯示器的下ー幀期間的變化。各個(gè)動(dòng)畫的進(jìn)展可以被周期性地計(jì)算或者基于進(jìn)展調(diào)用來(lái)計(jì)算。該方法1900還可以包括判定各個(gè)動(dòng)畫是否與委托相關(guān)聯(lián)。然后向該委托通知該動(dòng)畫。不與動(dòng)畫相關(guān)聯(lián)的其他視圖可以取決于對(duì)該委托進(jìn)行控制的軟件應(yīng)用而變化。圖20是用于對(duì)裝置的顯示器上顯示的顯示區(qū)域、窗ロ或視圖進(jìn)行動(dòng)畫的方法的流程圖。該方法2000包括在方框2002處提供単一的動(dòng)畫定時(shí)器。該方法2000還包括在方框2004處用該単一的動(dòng)畫定時(shí)器對(duì)多個(gè)動(dòng)畫進(jìn)行動(dòng)畫。例如,単一的定時(shí)器可以控制同時(shí)發(fā)生的全部動(dòng)畫。這些動(dòng)畫可以包括變形的、幀的以及不透明性的動(dòng)畫。動(dòng)畫變形可以包括縮放變換或旋轉(zhuǎn)變換。巾貞的動(dòng)畫可以包括巾貞的調(diào)整大小(resize)。不透明性的動(dòng)畫使不透明性從不透明變化到透明,或者反過(guò)來(lái)。根據(jù)本發(fā)明的某些教導(dǎo),圖21以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于下述環(huán)境中,以對(duì)與裝置的顯示器的多個(gè)視圖或窗ロ相關(guān)的動(dòng)畫進(jìn)行同步該環(huán)境具有與多個(gè)軟件應(yīng)用或進(jìn)程進(jìn)行交互的用戶接ロ軟件。用于對(duì)動(dòng)畫進(jìn)行同步的方法2100包括在方框2102處給正與進(jìn)程相關(guān)聯(lián)的各個(gè)視圖獨(dú)立地設(shè)定視圖的屬性。例如,視圖的屬性或特性可以包括位置、大小、不透明性等等。該方法2100還包括在方框2104處傳送同步調(diào)用,從而針對(duì)顯示器的多個(gè)視圖對(duì)動(dòng)畫進(jìn)行同歩。同步調(diào)用可以包括輸入?yún)?shù)或變量,例如進(jìn)程的同步的標(biāo)識(shí)、以及正在請(qǐng)求對(duì)多個(gè)視圖進(jìn)行動(dòng)畫的那些進(jìn)程的列表。在一種實(shí)施例中,同步調(diào)用包括正在請(qǐng)求進(jìn)行動(dòng)畫的進(jìn)程的數(shù)目和標(biāo)識(shí)。在一種實(shí)施例中,每個(gè)應(yīng)用或進(jìn)程在不同的事件發(fā)送同步調(diào)用。方法2100還包括在方框2106處當(dāng)同步標(biāo)志被允許時(shí)傳送同步確認(rèn)消息。當(dāng)要被同步的這些進(jìn)程已經(jīng)各自向操作該用戶接ロ軟件的窗ロ服務(wù)器發(fā)送了消息吋,同步標(biāo)志可以被允許。該方法2100還包括在方框2108處將這些視圖的屬性獨(dú)立地從第一狀態(tài)更新至第二狀態(tài)。在一種實(shí)施例中,窗ロ服務(wù)器在不同的事件從各個(gè)進(jìn)程接收經(jīng)更新的屬性。該方法2100還包括在方框2110處,當(dāng)兩個(gè)進(jìn)程都具有與第二狀態(tài)相關(guān)聯(lián)的經(jīng)更新的屬性時(shí),傳送開始動(dòng)畫調(diào)用以繪制所請(qǐng)求的動(dòng)畫。在一些實(shí)施例中,第一數(shù)據(jù)結(jié)構(gòu)或?qū)哟螛浔硎九c這些進(jìn)程的視圖或窗ロ相對(duì)應(yīng)的那些層的層級(jí)(hierarchy)。第二數(shù)據(jù)結(jié)構(gòu)或渲染樹(rendertree)表示該層次樹的類似拷貝。但是,渲染樹不被更新,直到這些獨(dú)立的處理已經(jīng)完成其各自的動(dòng)畫為止。此時(shí),渲染樹用新的動(dòng)畫對(duì)屏幕進(jìn)行更新和重繪。圖22A和圖22B圖示了對(duì)裝置的顯示器的各個(gè)視圖或窗ロ的調(diào)整大小進(jìn)行同歩。例如,通過(guò)從第一狀態(tài)(圖22A中的窗ロ2210)變化到第二狀態(tài)(圖22B中的窗ロ2210),具有尺寸屬性的、與第一進(jìn)程相關(guān)聯(lián)的窗ロ2210可以增大尺寸。大致同時(shí),第二窗ロ2220可以與第一窗ロ2210的尺寸增大成比例地減小尺寸。該方法2100對(duì)圖22A和圖22B所示的窗ロ2210和2220的調(diào)整大小提供同步。從第一狀態(tài)向第二狀態(tài)變化的動(dòng)畫可以漸增地發(fā)生,也可以在方法2100進(jìn)行同步的情況下發(fā)生。圖23圖示了對(duì)數(shù)據(jù)處理裝置的顯示器上顯示的應(yīng)用的視圖的擁有者進(jìn)行切換的方法。該方法2300包括在方框2302處構(gòu)造數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)具有層的層級(jí),層與視圖相關(guān)聯(lián)并擁有該視圖。這些層可以是用于該應(yīng)用的用戶接ロ的內(nèi)容、窗ロ、視頻、圖像、文本、媒體或任何其他類型的對(duì)象。該方法2300還包括在方框2304處從數(shù)據(jù)結(jié)構(gòu)除去層。該方法2300還包括在方框2306處將視圖的擁有者從層切換到視圖。在某些實(shí)施例中,來(lái)自該數(shù)據(jù)結(jié)構(gòu)的每個(gè)層與視圖相關(guān)聯(lián)。與視圖相關(guān)聯(lián)的層向該視圖發(fā)送委托函數(shù)調(diào)用,以生成由該視圖提供的內(nèi)容。第一指針引用從該層指向該視圖。第二指針引用從該視圖指向該層。指向?qū)ο?例如該視圖)的引用的數(shù)目被定義為該對(duì)象的保留數(shù)(retainedcount)0該視圖可以接收將要從該數(shù)據(jù)結(jié)構(gòu)除去該層的通知。從數(shù)據(jù)結(jié)構(gòu)除去層可以基于與從裝置的顯示器除去的層相關(guān)聯(lián)的視圖而發(fā)生。當(dāng)從數(shù)據(jù)結(jié)構(gòu)或?qū)哟螛涑訒r(shí),從該層指向該視圖的指針將被除去。該視圖將具有為零的保留數(shù),并且在視圖的擁有者不被撤銷(reverse)的情況下從存儲(chǔ)器解除分配(deallocate)或除去。如果擁有者被撤銷,則該視圖將具有至少為ー的保留數(shù)。圖24圖示了在裝置的顯示器上顯示的應(yīng)用的視圖的存儲(chǔ)器管理的方法。方法2400包括在方框2402處構(gòu)造數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)具有層的層級(jí),至少ー個(gè)層與該視圖相關(guān)聯(lián)。方法2400還包括在方框2404處在存儲(chǔ)器中儲(chǔ)存數(shù)據(jù)結(jié)構(gòu)。方法2400還包括在方框2406處維持從其他對(duì)象到該視圖的引用的數(shù)目的保留數(shù)。方法2400還包括在方框2408處,如果保留數(shù)為零,則將視圖從存儲(chǔ)器解除分配。如上所述,如果從數(shù)據(jù)結(jié)構(gòu)除去層,則視圖的保留數(shù)將遞減。從數(shù)據(jù)結(jié)構(gòu)除去層可以基于與從裝置的顯示器除去的層相關(guān)聯(lián)的視圖而發(fā)生。、圖25A和圖25B圖示了ー種數(shù)據(jù)結(jié)構(gòu),其具有層的層級(jí),層與視圖相關(guān)聯(lián)。該數(shù)據(jù)結(jié)構(gòu)包括層2502、2504和2506。層2506與視圖2510相關(guān)聯(lián)。與視圖2510相關(guān)聯(lián)的層2506向該視圖發(fā)送委托調(diào)用,以生成由該視圖提供的內(nèi)容。第一指針引用2508從層2506指向視圖2510。第二指針引用2512從視圖2510指向?qū)?506。第三指針引用2532可以從用戶接ロ(UI)控制器2530指向視圖2510。Π控制器2530可以控制與視圖2510相關(guān)的操作,例如響應(yīng)于用戶輸入而滾動(dòng)視圖2510。基于指針引用2508和2532,圖25A中的視圖2510具有至少為ニ的保留數(shù)。如果如圖25B所示從該數(shù)據(jù)結(jié)構(gòu)除去層2506,則指針2508被除去。視圖2510將如圖25B所示具有更低的保留數(shù)。如果視圖2510具有為零的保留數(shù),則儲(chǔ)存該視圖2510的存儲(chǔ)器將被解除分配。圖26圖示了用于對(duì)用戶接ロ的媒體和非媒體內(nèi)容進(jìn)行合成以在裝置上顯示的方法。該方法2600包括在方框2602處構(gòu)造數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)具有與裝置的用戶接ロ相關(guān)聯(lián)的各層的層級(jí)。該方法2600還包括在方框2604處判定該數(shù)據(jù)結(jié)構(gòu)的各個(gè)層與媒體還是非媒體內(nèi)容相關(guān)聯(lián)。該數(shù)據(jù)結(jié)構(gòu)或?qū)哟螛浔槐闅v(traverse),以確定該數(shù)據(jù)結(jié)構(gòu)的各個(gè)層與媒體還是非媒體內(nèi)容相關(guān)聯(lián)。該方法2600還包括在方框2606處從該數(shù)據(jù)結(jié)構(gòu)將與媒體內(nèi)容相關(guān)聯(lián)的層分離(detach)。該方法2600還包括在方框2606處將媒體內(nèi)容儲(chǔ)存在第一存儲(chǔ)器位置。該方法2600還包括在方框2608處將非媒體內(nèi)容儲(chǔ)存在第二存儲(chǔ)器位置。該方法2600還包括在方框2610處對(duì)該媒體和非媒體內(nèi)容進(jìn)行合成以在裝置上顯示。在一些實(shí)施例中,對(duì)媒體和非媒體內(nèi)容進(jìn)行合成包括從第一存儲(chǔ)器位置取回媒體內(nèi)容、從第二存儲(chǔ)器位置取回非媒體內(nèi)容、并將媒體和非媒體內(nèi)容直接掃描到顯示器。存儲(chǔ)器位置可以是位于緩存器、主存儲(chǔ)器、圖形處理單元或裝置內(nèi)其他位置中的任何類型的存儲(chǔ)器。媒體內(nèi)容可以包括視頻、視頻插件、音頻、圖像或其他隨事件而變的媒體。媒體內(nèi)容可以是YUV模型的形式,其中Y代表亮度成分(明亮度),而U和V代表色度(色彩)成分。媒體內(nèi)容可以以每秒大約20至40幀的速率被掃描到顯示器。媒體內(nèi)容可以在被掃描到裝置的顯示器之前受到縮放。非媒體內(nèi)容可以包括不需要頻繁更新的內(nèi)容、視圖和圖像。非媒體內(nèi)容可以是作為加色(additive)模型的RGB模型的形式,其中紅色、綠色和藍(lán)色(經(jīng)常用在加色光模型中)被以各種方式組合以產(chǎn)生其他顏色。非媒體內(nèi)容可以以比媒體內(nèi)容更低的速率被掃描到顯示器。圖27圖示了數(shù)據(jù)結(jié)構(gòu)或?qū)哟螛?,其具有層的層?jí)。這些層與媒體和非媒體內(nèi)容相關(guān)聯(lián)。例如,層2704與媒體內(nèi)容2706(例如視頻)關(guān)聯(lián)。層2710與非媒體內(nèi)容2712關(guān)聯(lián),非媒體內(nèi)容2712可以是用于該視頻的用戶接ロ視圖。層2720、2730和2740分別與形成非媒體內(nèi)容2712的各組成部分的非媒體內(nèi)容2722、2732和2742相關(guān)聯(lián)。方法2600將確定該數(shù)據(jù)結(jié)構(gòu)的每個(gè)層是否與媒體或非媒體內(nèi)容相關(guān)聯(lián)。與媒體內(nèi)容相關(guān)聯(lián)的任何層(例如層2704)將被從該數(shù)據(jù)結(jié)構(gòu)除去,并在另外的存儲(chǔ)器位置受到處理。在一些實(shí)施例中,本發(fā)明的方法、系統(tǒng)和設(shè)備可以在各種裝置中實(shí)現(xiàn),這些裝置包括電子裝置、消費(fèi)裝置、數(shù)據(jù)處理裝置、臺(tái)式計(jì)算機(jī)、便攜式計(jì)算機(jī)、無(wú)線裝置、蜂窩裝置、平板裝置(tabletdevice)、手持裝置、多點(diǎn)觸摸裝置、多點(diǎn)觸摸數(shù)據(jù)處理裝置、這些裝置的任意組合或者其他類似的裝置。圖4-6和圖28-33圖示了一些這些裝置的示例。圖28圖示了根據(jù)本發(fā)明一種實(shí)施例的裝置2800。圖28示出了ー種具有“糖塊”樣式的電話構(gòu)造的無(wú)線裝置。在圖28中,無(wú)線裝置2800可以包括殼體2832、顯示裝置2834、輸入裝置2836(可以是字母數(shù)字鍵區(qū)(keypad))、揚(yáng)聲器2838、麥克風(fēng)2840和天線2842。無(wú)線裝置2800還以包括接近度傳感器2844和加速度計(jì)2846??梢岳斫猓瑘D28的實(shí)施例可以使用更多或更少的傳感器,并可以具有與圖28所示形狀因素(formfactor)不同的形狀因素。所示的顯示裝置2834位于殼體2832的上部,所示輸入裝置2836位于殼體2832的下部。所示天線2842在殼體2832的上部從殼體2832延伸。所示揚(yáng)聲器2838也在殼體2832的上部處于顯示裝置2834上方。所示麥克風(fēng)2840在殼體2832的下部處于輸入裝置3286下方。可以理解,揚(yáng)聲器2838和麥克風(fēng)2840可以位于殼體上任何位置處,但是通常分別位于與用戶的耳朵和嘴巴相對(duì)應(yīng)的位置。顯示裝置2834例如可以是不具備接收輸入的能力的液晶顯示器(IXD),也可以是包括IXD的觸摸輸入屏。輸入裝置2836例如可以包括按鈕、開關(guān)、撥號(hào)盤(dial)、滑動(dòng)件(slider)、鍵或鍵區(qū)、導(dǎo)航板、觸摸板、觸摸屏等??梢园讶魏喂膿P(yáng)聲器、麥克風(fēng)和天線分別用于揚(yáng)聲器2838、麥克風(fēng)2840和天線2842。從接近度傳感器2844和加速度計(jì)2846獲取的數(shù)據(jù)可以被組合或単獨(dú)使用,以收集與用戶的行為有關(guān)的信息。來(lái)自接近度傳感器2844、加速度計(jì)2846或這二者的數(shù)據(jù)例如可以用來(lái)激活/關(guān)斷(activate/deactivate)顯示器背光,產(chǎn)生命令,作出選擇,對(duì)顯示器上的滾動(dòng)、手勢(shì)、動(dòng)畫或其他運(yùn)動(dòng)進(jìn)行控制,對(duì)輸入裝置設(shè)定進(jìn)行控制,或者對(duì)裝置的ー個(gè)或多個(gè)設(shè)定進(jìn)行其他變化。在本發(fā)明的某些實(shí)施例中,裝置2800可以用來(lái)實(shí)施本發(fā)明中所述方法的至少一部分。圖29示出了根據(jù)本發(fā)明一種實(shí)施例的裝置2950。裝置2950可以包括殼體2952、顯示/輸入裝置2954、揚(yáng)聲器2956、麥克風(fēng)2958和可選的天線2960(可以在殼體外部可見(jiàn),也可以隱藏在殼體內(nèi)部)。裝置2950還可以包括接近度傳感器2962和加速度計(jì)2964。裝置2950可以是蜂窩電話,或者PDA與蜂窩電話集成為一體的裝置,或者媒體播放器與蜂窩電話集成為一體的裝置,或者既是娛樂(lè)系統(tǒng)(例如用于玩游戲)又是蜂窩電話的裝置,或者裝置2950可以是本申請(qǐng)中所述其他類型的裝置。在ー種具體實(shí)施例中,裝置2950可以包括蜂窩電話、媒體播放器和PDA,它們都包含在殼體2952內(nèi)。裝置2950可以具有這樣的形狀因素其足夠小以適合握在正常成年人的手掌中,并且足夠輕以能夠由成年人用一只手?jǐn)y帯??梢岳斫?,術(shù)語(yǔ)“便攜”表示該裝置能夠容易地握持在成年人的手掌(一只或兩只)中,例如,膝上型計(jì)算機(jī)和iPod是便攜式裝置。在一種實(shí)施例中,顯示/輸入裝置2954除了作為顯示器(例如IXD)之外,還可以包括多點(diǎn)觸摸輸入屏。在一種實(shí)施例中,多點(diǎn)觸摸屏是電容感知介質(zhì),構(gòu)造成對(duì)在觸摸面板的平面內(nèi)的不同位置處同時(shí)發(fā)生的多個(gè)觸摸(例如從用戶的臉在顯示器上的接觸形狀(blob),或者多個(gè)手指同時(shí)觸摸或接近觸摸該顯示器)或者接近觸摸(例如顯示器上的接觸形狀)進(jìn)行檢測(cè)并產(chǎn)生不同的信號(hào),這些信號(hào)代表觸摸面板的平面上對(duì)于多個(gè)觸摸中每個(gè)觸摸的觸摸位置。在本發(fā)明的某些實(shí)施例中,裝置2800可以用于實(shí)施本發(fā)明中討論的方法中的至少一部分。圖30A和圖30B圖示了根據(jù)本發(fā)明一種實(shí)施例的裝置3070。裝置3070可以是包括鉸鏈3087的蜂窩電話,鉸鏈3087將顯示器殼體3089連接到鍵區(qū)殼體3091。鉸鏈3087使用戶能夠開啟和關(guān)閉蜂窩電話,使之可以被置于圖30A和圖30B所示兩種不同構(gòu)造中的至少ー者。在ー種具體實(shí)施例中,鉸鏈3087可以將顯示器殼體以可旋轉(zhuǎn)方式連接到鍵區(qū)殼體。具體而言,用戶可以開啟蜂窩電話,使之處于圖30A所示的開啟構(gòu)造,也可以關(guān)閉蜂窩電話,使之處于圖30B所示的關(guān)閉構(gòu)造。鍵區(qū)殼體3091可以包括鍵區(qū)3095和麥克風(fēng)3097,鍵區(qū)3095接收來(lái)自用戶的輸入(例如電話號(hào)碼輸入或其他字母數(shù)字輸入),麥克風(fēng)3097接收來(lái)自用戶的語(yǔ)音輸入。顯示器殼體3089可以在其內(nèi)部表面上包括顯示器3093(例如IXD)、揚(yáng)聲器3098和接近度傳感器3084;在其外部表面上,顯示器殼體3089可以包括揚(yáng)聲器3096、溫度傳感器3094、顯示器3088(例如另ー個(gè)IXD)、環(huán)境光傳感器3092以及接近度傳感器3084A。因此,在本實(shí)施例中,顯示器殼體3089可以在其內(nèi)部表面上包括第一接近度傳感器并在其外部表面上包括第二接近度傳感器。在至少某些實(shí)施例中,裝置3070可以包含提供下列一項(xiàng)或多項(xiàng)功能的部件無(wú)線通信裝置(例如蜂窩電話)、媒體播放器、娛樂(lè)系統(tǒng)、PDA或本申請(qǐng)中所述的其他類型裝置。在一種實(shí)施例的實(shí)現(xiàn)形式中,裝置3070可以是一體地集成了媒體播放器的蜂窩電話,所述媒體播放器播放MP3文件,例如MP3音樂(lè)文件。圖4、5A、5B、5C、6A、6B、6C、6D、28、29、30A和30B所示的各種裝置可以是無(wú)線通信裝置(例如蜂窩電話),并可以包括提供無(wú)線通信能力的多個(gè)部件。圖31示出了無(wú)線裝置3070的一種實(shí)施例,其包括用于無(wú)線通信的能力。無(wú)線裝置3070可以包括在圖4、5A、5B、5C、6A、6B、6C、6D、28、29、30A和30B所示的任一裝置中,不過(guò)圖4、5A、5B、5C、6A、6B、6C、6D、28、29、30A和30B的那些裝置的替換實(shí)施例也可以包括比無(wú)線裝置3070更多或更少的部件。無(wú)線裝置3070可以包括天線系統(tǒng)3101。無(wú)線裝置3070還可以包括數(shù)字和/或模擬射頻(RF)收發(fā)器3102,其耦聯(lián)到天線系統(tǒng)3101以通過(guò)天線3101發(fā)送和/或接收語(yǔ)音、數(shù)字?jǐn)?shù)據(jù)和/或媒體信號(hào)。無(wú)線裝置3070還可以包括數(shù)字處理系統(tǒng)3103,以控制數(shù)字RF收發(fā)器和管理語(yǔ)音、數(shù)字?jǐn)?shù)據(jù)和/或媒體信號(hào)。數(shù)字處理系統(tǒng)3103可以是通用處理裝置,例如微處理器或控制器。數(shù)字處理系統(tǒng)3103還可以是專用處理裝置,例如ASIC(專用集成電路)、FPGA(現(xiàn)場(chǎng)可編程門陣列)或DSP(數(shù)字信號(hào)處理器)。數(shù)字處理系統(tǒng)3103還可以包括本領(lǐng)域已知的其他裝置以與無(wú)線裝置3070的其他部件進(jìn)行接ロ。例如,數(shù)字處理系統(tǒng)3103可以包括模擬-數(shù)字轉(zhuǎn)換器和數(shù)字-模擬轉(zhuǎn)換器,以與無(wú)線裝置3070的其他部件進(jìn)行接ロ。數(shù)字處理系統(tǒng)3103可以包括媒體處理系統(tǒng)3109,媒體處理系統(tǒng)3109可以包括通用或?qū)S锰幚硌b置以管理媒體,例如音頻數(shù)據(jù)文件。無(wú)線裝置3070還可以包括存儲(chǔ)裝置3104,存儲(chǔ)裝置3104耦聯(lián)到數(shù)字處理系統(tǒng)以儲(chǔ)存數(shù)據(jù)和/或用于無(wú)線裝置3070的操作程序。存儲(chǔ)裝置3104例如可以是任何類型的固態(tài)或磁性存儲(chǔ)器裝置。無(wú)線裝置3070還可以包括一個(gè)或多個(gè)輸入裝置3105,該輸入裝置耦聯(lián)到數(shù)字處理系統(tǒng)3103以接受用戶輸入(例如電話號(hào)碼、名稱、地質(zhì)、媒體選擇等等)。輸入裝置3105例如可以是下列ー項(xiàng)或多項(xiàng)鍵區(qū)、觸摸板、觸摸屏、與顯示裝置結(jié)合的指點(diǎn)裝置或類似的輸入裝置。無(wú)線裝置3070還可以包括至少ー個(gè)顯示裝置3106,顯示裝置3106耦聯(lián)到數(shù)字處通系統(tǒng)3103以顯不/[目息,例如消息、電話呼入/[目息、聯(lián)系人/[目息、圖片、電影和/或通過(guò)輸入裝置3105而選擇的媒體的標(biāo)題或其他標(biāo)志物。顯示裝置3106例如可以是IXD顯示裝置。在一種實(shí)施例中,顯不裝置3106和輸入裝置3105可以一體集成在同一裝置中(例如觸摸屏LCD(例如多點(diǎn)觸摸輸入面板),其與顯示裝置(例如LCD顯示裝置)一體集成)。顯示裝置3106可以包括背光3106A,以在特定狀況下對(duì)顯示裝置3106進(jìn)行照明??梢岳斫?,無(wú)線裝置3070可以包括多個(gè)顯示器。無(wú)線裝置3070還可以包括電池3107,以向系統(tǒng)的各個(gè)部件提供工作電力,這些部件包括數(shù)字RF收發(fā)器3102、數(shù)字處理系統(tǒng)3103、存儲(chǔ)裝置3104、輸入裝置3105、麥克風(fēng)3105A、音頻換能器3108、媒體處理系統(tǒng)3109、(ー個(gè)或多個(gè))傳感器3110、顯示裝置3106。電池3107例如可以是可充電的或不可充電的鋰離子電池或鎳金屬氫化物電池。無(wú)線裝置3070還可以包括音頻換能器3108和至少ー個(gè)麥克風(fēng)3105A,音頻換能器3108可以包括一個(gè)或多個(gè)揚(yáng)聲器。在本發(fā)明的某些實(shí)施例中,無(wú)線裝置3070可以用來(lái)實(shí)施本發(fā)明中所述各種方法的至少一部分。圖32示出了根據(jù)本發(fā)明實(shí)施例的裝置的另ー種示例。該裝置3200可以包括處理器(例如微處理器3202)和存儲(chǔ)器3204,處理器和存儲(chǔ)器通過(guò)總線3206彼此耦聯(lián)。裝置3200可以可選地包括耦聯(lián)到微處理器3202的緩存器3208。該裝置還可以可選地包括顯示控制器和顯示裝置3210,其通過(guò)總線3206耦聯(lián)到其他部件。一個(gè)或多個(gè)輸入/輸出控制器3212也可以耦聯(lián)到總線3216,以提供用于輸入/輸出裝置3214的接ロ并提供用于ー個(gè)或多個(gè)傳感器3216的接ロ,傳感器3216可以用于感知用戶行為??偩€3206可以包括如本領(lǐng)域所知通過(guò)各種橋、控制器和/或適配器而彼此連接的ー個(gè)或多個(gè)總線。輸入/輸出裝置3214可以包括鍵區(qū)、鍵盤或例如觸摸輸入面板的光標(biāo)控制裝置。而且,輸入/輸出裝置3214可以包括網(wǎng)絡(luò)接ロ,網(wǎng)絡(luò)接ロ可以用于有線網(wǎng)絡(luò)或無(wú)線網(wǎng)絡(luò)(例如RF收發(fā)器)。傳感器3216可以是本申請(qǐng)中所述那些傳感器中的任ー種,例如包括接近度傳感器或環(huán)境光傳感器。在裝置3200的至少某些實(shí)施方式中,微處理器3202可以接收來(lái)自ー個(gè)或多個(gè)傳感器3216的數(shù)據(jù)并可以以本申請(qǐng)中所述的方式對(duì)該數(shù)據(jù)執(zhí)行分析。例如,可以通過(guò)人工智能處理或以本申請(qǐng)中所述的其他方式對(duì)該數(shù)據(jù)進(jìn)行分析。作為分析的結(jié)果,微處理器3202然后可以自動(dòng)地使得對(duì)裝置的一個(gè)或多個(gè)設(shè)定進(jìn)行調(diào)整。在本發(fā)明的某些實(shí)施例中,裝置3200可以用來(lái)實(shí)施本申請(qǐng)中所述那些方法的至少一部分。圖33A-圖33C示出了根據(jù)本發(fā)明至少某些實(shí)施例的裝置的另ー種示例。圖33A圖示了膝上型裝置3300,其具有鍵盤3302、主體3304、顯示器框架3306和顯示器3308。膝上型裝置3300可以被轉(zhuǎn)變成圖33B和圖33C所示的平板裝置。圖33B圖示了該膝上型裝置向平板裝置的轉(zhuǎn)變。包含顯示器3358的顯示器框架3356的邊緣在主體3354內(nèi)滑過(guò)鍵盤3352的頂部,直到形成如圖33C所示的平板裝置。該平板裝置的顯示器3362和顯示器框架3366置于主體3360的頂上。在本發(fā)明的某些實(shí)施例中,膝上型裝置3300可以用來(lái)實(shí)施本申請(qǐng)中所述那些方法的至少一部分。根據(jù)本發(fā)明的某些教導(dǎo),圖34以流程圖的形式圖示了應(yīng)用編程接ロ的細(xì)節(jié)。該應(yīng)用編程接ロ工作于具有與軟件應(yīng)用進(jìn)行交互的用戶接ロ軟件的環(huán)境中。在一些實(shí)施例中,視圖的層級(jí)工作于用戶接ロ軟件內(nèi)的層的層級(jí)之上。API以如方法3400所示的方式工作,該方法包括在方框3402處構(gòu)造視圖的層級(jí),該層級(jí)工作于層的層級(jí)之上。該方法3400還包括在方框3404處提供對(duì)于視圖層級(jí)的訪問(wèn)(access)而不提供對(duì)于層的層級(jí)的訪問(wèn)。應(yīng)用可以通過(guò)該API與視圖的層級(jí)進(jìn)行交互,而不訪問(wèn)在視圖層級(jí)之下工作的層的層級(jí)。在某些實(shí)施例中,平臺(tái)提供各種滾動(dòng)、手勢(shì)和動(dòng)畫操作。該平臺(tái)包括硬件部件和操作系統(tǒng)。硬件部件可以包括耦聯(lián)到輸入面板的處理單元以及耦聯(lián)到處理器的存儲(chǔ)器。操作系統(tǒng)包括ー個(gè)或多個(gè)程序,所述程序儲(chǔ)存在存儲(chǔ)器中并構(gòu)造成由處理單元執(zhí)行。一個(gè)或多個(gè)程序包括各種指令,用于通過(guò)應(yīng)用編程接ロ來(lái)傳送函數(shù)調(diào)用或消息,以執(zhí)行各種滾動(dòng)、手勢(shì)和動(dòng)畫操作。在一種實(shí)施例中,這ー個(gè)或多個(gè)程序包括用于通過(guò)API傳送縮放變換調(diào)用的指令,以確定用干與用戶輸入相關(guān)的視圖的縮放變換,所述用戶輸入具有多個(gè)輸入點(diǎn)。在ー種實(shí)施例中,這ー個(gè)或多個(gè)程序包括用于通過(guò)API傳送拉伸調(diào)用的指令,以確定與用戶輸入相關(guān)聯(lián)的視圖的旋轉(zhuǎn)變換,所述用戶輸入具有多個(gè)輸入點(diǎn)。在一些實(shí)施例中,該平臺(tái)包括包含軟件代碼庫(kù)的構(gòu)架(framework)。該構(gòu)架與平臺(tái)的程序進(jìn)行交互,以提供應(yīng)用編程接ロ,用于執(zhí)行各種滾動(dòng)、手勢(shì)和動(dòng)畫操作。該構(gòu)架還包括儲(chǔ)存在單個(gè)目錄中的相關(guān)的資源(例如圖像、文本等)。在一種實(shí)施例中,該構(gòu)架的庫(kù)提供API以給與具有多個(gè)輸入點(diǎn)的用戶輸入相關(guān)聯(lián)的視圖指定縮放變換。在一種實(shí)施例中,該構(gòu)架的庫(kù)提供API以給與具有多個(gè)輸入點(diǎn)的用戶輸入相關(guān)聯(lián)的視圖指定縮放變換。在前述說(shuō)明中,已經(jīng)參照本發(fā)明的具體示例性實(shí)施例對(duì)本發(fā)明進(jìn)行了說(shuō)明。顯然,在不脫離由所附權(quán)利要求闡述的發(fā)明精神和范圍的情況下,可以對(duì)其進(jìn)行各種修改。因此,說(shuō)明書和附圖應(yīng)當(dāng)認(rèn)為是舉例說(shuō)明性的,而不是限制性的。附錄AAPI軟件代碼09I1289D3_fAffineTransform)transform;-rvoid)setTransform:(AffineTransform)transform://animatable@interfaceUIView(Animation)+(void)beginAnimation:(String5k)SnimationIDS;//animationIDcanbenilifyoudon’twanttohaveanidentiferforthegroup+(void)beginAnimations:(String*)animationIDcontext:(void*)context//additionalcontextinfopassedtowillstart/didstopselectors+(void)endAnimations;十(void)setAnimationDelegate:(id)delegate;+(void)setAnimationDuration:(TimeInterval)duration;+(void)setAnimationDelay:(TimeInterval)delay;+(void)setAnimationStartTime;(AbsoluteTime)start;+(void)setAnimationCurve:(UIViewAnimationCurve)curve;-(BOOL)handleEvent:(Event)event;//thisiscallediftheappisgoingtobesuspendingbacktoapreviousapplication.//theappshouldreturnYE^ifitisgoingtoperformanimation,otherwiseitshould//returnNO.ThestartTimeargumentisastarttimeforanyanimationstobeginsothat//theanimationsaresynchronizedwithawindowserver.Iftheapplication’s//implementationofthismethodreturnsYES,itshouldlatercall[UIAppsuspendWithANimation:NO]whenIlitisfinishedanimating.(BOOL)animateSuspensionReturningToLastApp:AbsoluteTime)startTime;//Setthestatusbarmode,orientationoverduration.IfprocessSynchIDisnon-zero,usedassyncID.-(void)setStatusBarMode:(UIStatusBarMode)modeorientation:(UIStatusBarOrientation)orientationduration:(float)durationprocessSynchID:(int)processSynchlD;IlSetsthestatusbarmode.Odurationmeansnoanimation-(void)setStatusBarMode:(UIStatusBarMode)modeorientation:(UIStatusBarOrientation)orientationduration:(float)duration;-(void)setStatusBarMode:(UIStatusBarMode)modeduration:(float)duration;//usesthedefaultorientation.-(UIStatusBarOrientation)statusBarOrientation;-(UIStatusBarOrientation)statusBarMode;IlStatusbarrectinnon-rotatedwindowcoordinates.-(void)synchronizedDrawingWithlD:(int)processSynchlD;//usedforstatusbarresize權(quán)利要求1.一種設(shè)備,包括用于接收用戶輸入的裝置,所述用戶輸入包括對(duì)顯示器進(jìn)行觸摸的多個(gè)輸入點(diǎn),其中,所述用戶輸入產(chǎn)生手勢(shì)事件;以及用于基于所述用戶輸入并響應(yīng)于所述手勢(shì)事件而傳送手勢(shì)調(diào)用的裝置,其中,所述手勢(shì)調(diào)用包括對(duì)所述顯示器進(jìn)行觸摸的輸入點(diǎn)的第一列表以及對(duì)所述顯示器進(jìn)行觸摸的一個(gè)或多個(gè)輸入點(diǎn)的第二列表。全文摘要本申請(qǐng)涉及用于手勢(shì)操作的應(yīng)用編程接口。本發(fā)明的至少某些實(shí)施例包括具有與軟件應(yīng)用進(jìn)行交互的用戶接口軟件的環(huán)境,以給裝置的顯示器提供手勢(shì)操作。該環(huán)境中通過(guò)應(yīng)用編程接口(API)而工作的方法包括傳送縮放變換調(diào)用。手勢(shì)操作包括響應(yīng)于具有兩個(gè)或更多個(gè)輸入點(diǎn)的用戶輸入而執(zhí)行縮放變換,例如縮小或放大。手勢(shì)操作還包括響應(yīng)于具有兩個(gè)或更多個(gè)輸入點(diǎn)的用戶輸入而執(zhí)行旋轉(zhuǎn)變換以對(duì)圖像或視圖進(jìn)行旋轉(zhuǎn)。文檔編號(hào)G06F3/048GK102736851SQ20121012891公開日2012年10月17日申請(qǐng)日期2008年1月3日優(yōu)先權(quán)日2007年1月7日發(fā)明者克里斯多佛·布魯門伯格申請(qǐng)人:蘋果公司