或其組合來實施。在至少一些實施例中,方法可以由形式為被體現(xiàn)在某一類型的計算機可讀存儲介質上的計算機可讀指令的軟件執(zhí)行,該方法可以在一個或多個處理器的影響下被執(zhí)行。可以執(zhí)行要被描述的功能的軟件組件的非限制示例僅在以上在圖1被描述,包含以上描述的手勢模塊104。
[0093]步驟1100發(fā)起對可拖動元素的拖放操作??梢砸匀魏芜m合方式執(zhí)行該步驟。例如,可以通過與可拖動元素進行交互的觸摸輸入,諸如以上描述的按下并保持或交叉滑動手勢來發(fā)起拖放操作。步驟1102實施z索引以維持可拖動元素在頂層上。可以利用任何適合類型的實施場景??赏蟿釉氐膠索引的實施可以防止在可拖動元素被拖動時拖動畫面被頁面上的其他元素削減。步驟1104將轉變動畫應用到從可拖動元素的表示到拖動畫面的轉變??梢岳萌魏芜m合的轉變,諸如以上描述的那些轉變。
[0094]已經描述用于高性能觸摸拖放的方法和系統(tǒng)后,現(xiàn)在考慮可以用于實施以上描述的一個或多個實施例的示例設備。
[0095]示例設備
圖12圖示能夠被實施為如參照圖1和2描述的任何類型的計算設備以實施本文中描述的技術的實施例的示例設備1200的各種組件。設備1200包括通信設備1202,其使能設備數(shù)據1204(例如,接收到的數(shù)據、正在接收的數(shù)據、計劃用于廣播的數(shù)據、數(shù)據的數(shù)據分組等)的有線和/或無線通信。設備數(shù)據1204或其他設備內容可以包括設備的配置設置,存儲在設備上的媒體內容和/或與設備的用戶相關聯(lián)的信息。存儲在設備1200上的媒體內容可以包括任何類型的音頻、視頻和/或圖像數(shù)據。設備1200包括經由其可以接收任何類型的數(shù)據、媒體內容、和/或輸入的一個或多個數(shù)據輸入1206,諸如用戶可選擇的輸入、消息、音樂、電視媒體內容、錄制的視頻內容、以及從任何內容和/或數(shù)據源接收的任何其他類型的音頻、視頻、和/或圖像數(shù)據。
[0096]設備1200還包括通信接口1208,其可以被實施為串行和/或并行接口、無線接口、任何類型的網絡接口、調制解調器、以及任何其它類型的通信接口中的任何一個或多個。通信接口 1208提供設備1200與通信網絡之間的連接和/或通信鏈路,通過該通信網絡其他電子設備、計算和通信設備與設備1200進行傳達數(shù)據。
[0097]設備1200包括一個或多個處理器1210(例如,微處理器、控制器等中的任意),其處理各種計算機可執(zhí)行指令來控制設備1200的操作并且實施本文中描述的技術的實施例。可替代地或此外,可以以硬件、固件或固定邏輯電路的任何一種或組合來實施設備1200,該固定邏輯電路結合大致地以1212來標識的處理和控制電路而被實施。雖然未被示出,但是設備1200可以包括系統(tǒng)總線或數(shù)據傳遞系統(tǒng),其耦接該設備內的各種組件。系統(tǒng)總線可以包括不同的總線結構的任何一個或組合,諸如存儲器總線或存儲器控制器、外圍總線、通用串行總線、和/或處理器或利用各種總線體系結構的本地總線。
[0098]設備1200還包括計算機可讀介質1214,諸如一個或多個存儲器組件,其示例包括隨機存取存儲器(RAM)、非易失性存儲器(例如,只讀存儲器(R0M)、閃速存儲器、EPR0M、EEPROM等中的任何一個或多個)、和磁盤存儲設備。磁盤存儲設備可被實施為任何類型的磁性或光學存儲設備,諸如硬盤驅動器、可記錄和/或可重寫光盤(CD)、任何類型的數(shù)字通用光盤(DVD)等。設備1200還可以包括大容量存儲介質設備1216。
[0099]計算機可讀介質1214提供數(shù)據存儲機制來存儲設備數(shù)據1204,以及各種設備應用程序1218和與設備1200的操作方面有關的任何其他類型的信息和/或數(shù)據。例如,操作系統(tǒng)1220可以用計算機可讀介質1214被維持為計算機應用程序并且被執(zhí)行在處理器1210上。設備應用程序1218可以包含設備管理器(例如,控制應用程序、軟件應用程序、信號處理和控制模塊,對特定設備是原生的代碼、針對特定設備的硬件抽象層等)。設備應用程序1218還包括實施本文中描述的技術的實施例的任何系統(tǒng)組件或模塊。在該示例中,設備應用程序1218包括接口應用程序1222和手勢捕獲驅動程序1224,其被示出為軟件模塊和/或計算機應用程序。手勢捕獲驅動程序1224表示軟件,該軟件用來提供與配置為捕獲手勢的設備(諸如觸摸屏、軌跡板、相機、等等)的接口。可替代或此外,接口應用程序1222和手勢捕獲驅動程序1224可以被實施為硬件、軟件、固件或其任何組合。此外,計算機可讀介質1214可以包括如以上描述的那樣運行的web平臺1225。
[0100]設備1200還包括音頻和/或視頻輸入輸出系統(tǒng)1226,其提供音頻數(shù)據到音頻系統(tǒng)1228和/或提供視頻數(shù)據到顯示系統(tǒng)1230。音頻系統(tǒng)1228和/或顯示系統(tǒng)1230可以包括處理、顯示,和/或以其他方式呈現(xiàn)音頻、視頻和圖像數(shù)據的任何設備。視頻信號和音頻信號可以經由RF(射頻)鏈路、S視頻鏈路、復合視頻鏈路、分量視頻鏈路、DVI (數(shù)字視頻接口)、模擬音頻連接、或其他類似的通信鏈路從設備1200被傳達到音頻設備和/或顯示設備。在實施例中,音頻系統(tǒng)1228和/或顯示系統(tǒng)1230被實施為設備1200的外部組件??商娲兀纛l系統(tǒng)1228和/或顯示系統(tǒng)1230被實施為示例設備1200的集成組件。
[0101]結論
描述"??性能觸摸拖放技術。在至少一些實施例中,多線程體系結構被實施為至少包括操縱線程和獨立命中測試線程。操縱線程接收與輸入相關聯(lián)的消息,并發(fā)送與消息相關聯(lián)的數(shù)據給獨立命中測試線程。獨立命中測試線程執(zhí)行獨立命中測試以確定輸入是否命中有資格用于特定動作的元素。獨立命中測試線程還標識與所述輸入相關聯(lián)的交互模型,并發(fā)送交互模型的指示到操縱線程,以使能操縱線程來檢測特定動作是否被觸發(fā)。
[0102]在一個或多個實施例中,接收基于與觸摸輸入相關聯(lián)的指針消息的一個或多個操縱通知。指針消息配置成發(fā)起對頁面的元素的拖放操作。與指針消息相關聯(lián)的更新與表示頁面上的元素的拖動畫面相關。一個或多個拖動通知被發(fā)送給拖放管理器,以使能拖放管理器來發(fā)起鼠標兼容的功能,而不必理解觸摸輸入。
[0103]在至少一些實施例中,接收加載頁面的請求,并標識頁面上的一個或多個可拖動元素??赏蟿釉卦诰W頁上被呈現(xiàn)到與頁面上的內容所呈現(xiàn)到的另一層分離的層中。接收發(fā)起對可拖動元素的拖放操作的輸入。響應于拖放操作被發(fā)起,基于可拖動元素呈現(xiàn)拖動畫面。
[0104]雖然已經以特定于結構特點和/或方法的行為的語言描述了實施例,但是要理解的是,在所附權利要求中定義的實施例不必限于所描述特定特征或行為。相反,特定特征和行為被公開為實施要求保護的實施例的示例形式。
【主權項】
1.一種系統(tǒng),包括: 存儲器和處理器,所述處理器被配置為執(zhí)行存儲在所述存儲器中的指令來實施多線程體系結構,所述多線程體系結構包括: 操縱線程,其被配置為: 接收與輸入相關聯(lián)的一個或多個消息;以及 發(fā)送與所述一個或多個消息相關聯(lián)的數(shù)據到獨立命中測試(IHT)線程;以及 所述IHT線程,其被配置為: 執(zhí)行獨立命中測試,以確定是否接收關于有資格用于特定動作的元素的輸入; 標識與所述輸入相關聯(lián)的交互模型;以及 將所述交互模型的指示發(fā)送到所述操縱線程,所述交互模型的所述指示可用來檢測是否觸發(fā)所述特定動作。2.如權利要求1中所述的系統(tǒng),其中所述特定動作包括拖動操作,其中所述IHT線程被配置為通過至少針對元素是使能拖動的指示查詢所述元素的狀態(tài)來確定所述元素是否有資格用于拖動操作。3.如權利要求1中所述的系統(tǒng),進一步包括被配置為在用戶界面線程中暴露一個或多個應用程序編程接口(API)到web站點的web平臺,所述一個或多個API被配置為將頁面上的一個或多個元素定義為拖動源或放下目標。4.如權利要求1中所述的系統(tǒng),其中所述獨立命中測試線程被配置為將所述一個或多個消息轉發(fā)到用戶界面線程而不阻斷由所述操縱線程執(zhí)行的操縱操作。5.如權利要求1中所述的系統(tǒng),其中所述交互模型包括按下并保持交互或交叉滑動交互中的一個。6.如權利要求1中所述的系統(tǒng),其中所述操縱線程進一步配置為: 檢測拖動操作被觸發(fā); 標識所述元素的更新,所述更新與所述拖動操作相關聯(lián);以及 將所述元素的所述更新發(fā)送到用戶界面線程用于基于所述更新呈現(xiàn)所述元素。7.如權利要求1中所述的系統(tǒng),其中所述操縱線程進一步配置為利用一個或多個手勢識別組件來檢測可操作以觸發(fā)所述特定動作的特定手勢。8.—個或多個計算機可讀存儲介質,具有存儲在其上的指令,所述指令響應于由計算設備的執(zhí)行,使所述計算設備實施觸摸拖/放助手模塊,所述觸摸拖/放助手模塊被配置為: 基于與觸摸輸入相關聯(lián)的指針消息接收一個或多個操縱通知,所述指針消息配置為發(fā)起對頁面上的元素的拖放操作; 將與所述指針消息相關聯(lián)的更新與表示所述頁面上的所述元素的拖動畫面相關;以及發(fā)送一個或多個拖動通知到拖放管理器,所述拖動通知被配置為使能所述拖放管理器發(fā)起一個或多個鼠標兼容功能而不必理解所述觸摸輸入。9.如權利要求8中所述的一個或多個計算機可讀存儲介質,其中所述一個或多個操縱通知包括與所述元素的操縱相關聯(lián)的數(shù)據,所述元素的所述操縱包括所述元素到新位置的移動。10.如權利要求8中所述的一個或多個計算機可讀存儲介質,其中所述一個或多個拖動通知包括與所述元素相關聯(lián)的數(shù)據,所述數(shù)據包括所述元素的拖動狀態(tài)和數(shù)據傳遞信息。
【專利摘要】描述了高性能觸摸拖放。在實施例中,多線程體系結構被實施為至少包括操縱線程和獨立命中測試線程。操縱線程配置為接收與輸入相關聯(lián)的一個或多個消息并且發(fā)送與消息相關聯(lián)的數(shù)據到獨立命中測試線程。獨立命中測試線程配置為執(zhí)行獨立命中測試以確定輸入是否命中有資格用于特定動作的元素,并且標識與輸入相關聯(lián)的交互模型。獨立命中測試線程還將交互模型的指示發(fā)送到操縱線程,以使能操縱線程來檢測特定動作是否被觸發(fā)。
【IPC分類】G06F3/0485, G06F3/0488, G06F3/0484
【公開號】CN105474160
【申請?zhí)枴緾N201380077441
【發(fā)明人】J.S.羅西, J.W.特雷爾, F.熊, M.J.恩斯, X.涂, N.J.布倫, M.黃, J-K.馬基維奇, A.W.斯蒂芬森, M.J.帕滕, J.G.克拉珀
【申請人】微軟技術許可有限責任公司
【公開日】2016年4月6日
【申請日】2013年9月21日
【公告號】EP3008571A1, US20140372923, WO2014200553A1