實現(xiàn)。在一個示例中,API調(diào)用組件可調(diào)用來自不同提供商的API,例如來自0S提供商的一組API和來自插件提供商的另一組AP1、以及來自另一提供商(例如軟件庫的提供商)或另一組API的創(chuàng)建者的另一組API。
[0035]圖4是示出了可用于本公開的一些示例的示例性API架構(gòu)的框圖。如圖4中所示,API架構(gòu)600包括實現(xiàn)API 620的API實現(xiàn)組件610(例如,操作系統(tǒng)、庫、設(shè)備驅(qū)動程序、AP1、應(yīng)用程序、軟件或其他模塊)^?1620指定可由API調(diào)用組件630使用的API實現(xiàn)組件的一個或多個函數(shù)、方法、類、對象、協(xié)議、數(shù)據(jù)結(jié)構(gòu)、格式和/或其他特征。API 620能夠指定至少一個調(diào)用約定,該調(diào)用約定指定API實現(xiàn)組件中的函數(shù)如何從API調(diào)用組件接收參數(shù)以及函數(shù)如何向API調(diào)用組件返回結(jié)果。API調(diào)用組件630(例如操作系統(tǒng)、庫、設(shè)備驅(qū)動程序、AP1、應(yīng)用程序、軟件或其他模塊)通過API 620進行API調(diào)用,以訪問并使用由API 620指定的API實現(xiàn)組件610的特征。API實現(xiàn)組件610可響應(yīng)于API調(diào)用而通過API 620向API調(diào)用組件630返回值。
[0036]應(yīng)當理解,API實現(xiàn)組件610可包括未通過API 620指定且對于API調(diào)用組件630不可用的附加函數(shù)、方法、類、數(shù)據(jù)結(jié)構(gòu)和/或其他特征。應(yīng)當理解,API調(diào)用組件630可與API實現(xiàn)組件610在同一系統(tǒng)上,或者可遠程定位并通過網(wǎng)絡(luò)使用API 620來訪問API實現(xiàn)組件610。盡管圖4示出了單個API調(diào)用組件630與API 620交互,但應(yīng)當理解,可用與API調(diào)用組件630不同的語言(或相同語言)編寫的其他API調(diào)用組件可使用API 620。
[0037]API實現(xiàn)組件610、API 620和API調(diào)用組件630可被存儲在非暫態(tài)機器可讀存儲介質(zhì)中,其包括用于以機器(例如計算機或其他數(shù)據(jù)處理系統(tǒng))可讀的形式存儲信息的任何機構(gòu)。例如,機器可讀介質(zhì)包括磁盤、光盤、隨機存取存儲器、只讀存儲器、閃存設(shè)備等。
[0038]在圖5所示的示例性軟件棧中,應(yīng)用可使用若干服務(wù)API調(diào)用服務(wù)A或B以及使用若干OS API調(diào)用操作系統(tǒng)(OS)。服務(wù)A和B可使用若干OS API對OS進行調(diào)用。
[0039]注意,服務(wù)2具有兩個API,其中一個(服務(wù)2API1)從應(yīng)用1接收調(diào)用并返回值,并且另一個(服務(wù)2API 2)從應(yīng)用2接收調(diào)用并返回值。服務(wù)1(例如,可以是軟件庫)對OS API1進行調(diào)用并從其接收返回值,并且服務(wù)2(例如,可以是軟件庫)對OS API 1和OS API 2兩者進行調(diào)用并從其接收返回值。應(yīng)用2對OS API 2進行調(diào)用并從其接收返回值。
[0040]圖6是示出了觸摸屏和設(shè)備的其他組件之間的示例性交互的框圖。所述示例可包括觸摸1/0設(shè)備1001,該觸摸1/0設(shè)備可經(jīng)由有線或無線通信信道1002來接收用于與計算系統(tǒng)1003進行交互的觸摸輸入。觸摸1/0設(shè)備1001可以用于代替或結(jié)合其他輸入設(shè)備諸如鍵盤、鼠標等來向計算系統(tǒng)1003提供用戶輸入。一個或多個觸摸1/0設(shè)備1001可以用于向計算系統(tǒng)1003提供用戶輸入。觸摸1/0設(shè)備1001可以是計算系統(tǒng)1003的整體部分(例如,智能手機或平板PC上的觸摸屏)或可與計算系統(tǒng)1003分開。
[0041]觸摸1/0設(shè)備1001可包括觸摸感測面板,其是完全透明或部分透明的、半透明的、非透明的、不透明的或它們的任何組合。觸摸I/o設(shè)備1001可被實現(xiàn)為觸摸屏、觸控板、充當觸控板的觸摸屏(例如,替代膝上型電腦的觸控板的觸摸屏)、與任何其他輸入設(shè)備組合或結(jié)合的觸摸屏或觸控板(例如,設(shè)置于鍵盤上的觸摸屏或觸控板)或具有用于接收觸摸輸入的觸摸感測表面的任何多維物體。
[0042]在一個示例中,實現(xiàn)為觸摸屏的觸摸1/0設(shè)備1001可包括部分或完全定位于顯示器的至少一部分上方的透明和/或半透明的觸摸感測面板。根據(jù)該示例,觸摸1/0設(shè)備1001用于顯示從計算系統(tǒng)1003(和/或另一個來源)傳輸?shù)膱D形數(shù)據(jù),并且還用于接收用戶輸入。在其他示例中,觸摸I/o設(shè)備1001可被實現(xiàn)為集成觸摸屏,其中觸摸感測組件/設(shè)備與顯示組件/設(shè)備是一體的。在其他示例中,可將觸摸屏用作補充或附加的顯示屏,以用于顯示主顯示器的補充的或相同的圖形數(shù)據(jù),并用于接收觸摸輸入。
[0043]觸摸I/O設(shè)備1001可被配置為基于電容、電阻、光學(xué)、聲學(xué)、感應(yīng)、機械、化學(xué)測量,或者可相對于設(shè)備1001附近發(fā)生的一次或多次觸摸或接近觸摸測量的任何現(xiàn)象來檢測設(shè)備1001上一個或多個觸摸或接近觸摸的位置。可以使用軟件、硬件、固件或它們的任何組合來處理所檢測到的觸摸的測量,以便標識和追蹤一個或多個手勢。手勢可對應(yīng)于觸摸I/o設(shè)備1001上的靜止的或非靜止的、單個或多個觸摸或接近觸摸??赏ㄟ^基本上同時、連續(xù)或依次地以特定方式在觸摸I/o設(shè)備1001上移動一個或多個手指或其他物體來執(zhí)行手勢,如輕敲、按壓、搖動、摩擦、扭轉(zhuǎn)、改變?nèi)∠颉⒂貌煌瑝毫Π磯旱?。手勢可以通過但不限于以下動作來表征:在手指之間或用任何一個或多個其他手指進行的夾捏、滑動、輕掃、旋轉(zhuǎn)、屈曲、拖拽或輕敲動作。一個或多個用戶可用一只或多只手或它們的任何組合來執(zhí)行單個手勢。
[0044]計算系統(tǒng)1003可利用圖形數(shù)據(jù)來驅(qū)動顯示器以顯示圖形用戶界面(GUI) AUI可被配置為經(jīng)由觸摸I/o設(shè)備1001接收觸摸輸入。被實現(xiàn)為觸摸屏的觸摸I/O設(shè)備1001可顯示⑶I。另選地,⑶I可被顯示在與觸摸I/O設(shè)備1001分開的顯示器上。⑶I可包括在界面內(nèi)的特定位置處顯示的圖形元素。圖形元素可包括但不限于各種顯示的虛擬輸入設(shè)備,包括虛擬滾輪、虛擬鍵盤、虛擬旋鈕、虛擬按鈕、任何虛擬UI等。用戶可在觸摸I /0設(shè)備1001上的可能與GUI的圖形元素相關(guān)聯(lián)的一個或多個特定位置處執(zhí)行手勢。在其他示例中,用戶可在獨立于GUI的圖形元素的位置的一個或多個位置處執(zhí)行手勢。在觸摸I/O設(shè)備1001上執(zhí)行的手勢可直接或間接地操縱、控制、修改、移動、致動、啟動或一般性地影響GUI內(nèi)的圖形元素,該圖形元素諸如光標、圖標、媒體文件、列表、文本、所有或部分圖像等。例如,就觸摸屏而言,用戶可通過在觸摸屏上的圖形元素上方執(zhí)行手勢來與圖形元素直接進行交互。或者,觸控板一般提供間接交互。手勢還可影響未被顯示的GUI元素(例如,使得用戶界面顯現(xiàn))或可影響計算系統(tǒng)1003內(nèi)的其他動作(例如,影響GU1、應(yīng)用或操作系統(tǒng)的狀態(tài)或模式)。與所顯示的光標結(jié)合,手勢可在或可不在觸摸I/o設(shè)備1001上執(zhí)行。例如,在觸控板上執(zhí)行手勢的情況下,可以在顯示屏或觸摸屏上顯示光標(或指針),并且可經(jīng)由觸控板上的觸摸輸入來控制光標以與顯示屏上的圖形對象進行交互。在直接在觸摸屏上執(zhí)行手勢的其他示例中,不管是否有光標或指針顯示在觸摸屏上,用戶都可與觸摸屏上的對象直接進行交互。
[0045]可響應(yīng)于或基于觸摸I/O設(shè)備1001上的觸摸或接近觸摸而經(jīng)由通信信道1002向用戶提供反饋。可通過光學(xué)、機械、電氣、嗅覺、聲學(xué)等或它們的任何組合并且以可變或不可變方式傳輸反饋。
[0046]現(xiàn)在關(guān)注可在任何便攜式或非便攜式設(shè)備內(nèi)實現(xiàn)的系統(tǒng)架構(gòu)的示例,便攜式或非便攜式設(shè)備包括但不限于通信設(shè)備(例如移動電話、智能電話)、多媒體設(shè)備(例如MP3播放器、電視、收音機)、便攜式或手持式電腦(例如平板電腦、上網(wǎng)本、膝上型電腦)、臺式計算機、一體臺式計算機、外圍設(shè)備或任何其他適于包括系統(tǒng)架構(gòu)2000的系統(tǒng)或設(shè)備,包括這些類型設(shè)備的兩個或更多個的組合。圖7是系統(tǒng)2000的一個示例的框圖,系統(tǒng)2000通常包括一個或多個計算機可讀介質(zhì)2001、處理系統(tǒng)2004、1/0子系統(tǒng)2006、射頻(RF)電路2008、音頻電路2010和視線檢測電路2011。這些組件可通過一根或多根通信總線或信號線2003來耦接。
[0047]應(yīng)當理解,圖7中所示的架構(gòu)僅為系統(tǒng)2000的一個示例性架構(gòu),并且系統(tǒng)2000可具有比所示更多或更少的組件,或組件的不同配置。圖7中所示的各種組件可在硬件、軟件、固件或它們的任何組合(包括一個或多個信號處理和/或?qū)S眉呻娐?中實施。
[0048]RF電路2008可用于通過無線鏈路或網(wǎng)絡(luò)向一個或多個其他設(shè)備發(fā)送和接收信息,并且包括用于執(zhí)行該功能的熟知的電路。RF電路2008和音頻電路2010可經(jīng)由外圍設(shè)備接口2016被耦接到處理系統(tǒng)2004。接口 2016可包括用于在外圍設(shè)備和處理系統(tǒng)2004之間建立并維持通信的各種已知組件。音