CN105518618B - 将针对视觉元素的输入路由到图形框架的方法和系统 - Google Patents
将针对视觉元素的输入路由到图形框架的方法和系统 Download PDFInfo
- Publication number
- CN105518618B CN105518618B CN201380077196.8A CN201380077196A CN105518618B CN 105518618 B CN105518618 B CN 105518618B CN 201380077196 A CN201380077196 A CN 201380077196A CN 105518618 B CN105518618 B CN 105518618B
- Authority
- CN
- China
- Prior art keywords
- input
- visual element
- graphics frame
- routed
- visual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
描述了针对用于路由针对视觉元素的输入的输入对象的技术。在至少一些实施例中,显示区域的区包括可以由不同图形功能性生成和/或管理的多个图形元素。例如,用于应用的图形用户界面(GUI)可以包括主窗口和主窗口内的视觉元素,诸如横幅、控制按钮、菜单、可填充字段等。在至少一些实施例中,GUI的主窗口可以由第一图形功能性管理,而主窗口内的一个或多个视觉元素可以由第二图形功能性管理。依照一个或多个实施例,采用输入对象将向视觉元素的输入路由到负责管理视觉元素的图形功能性。
Description
技术领域
本公开涉及将针对视觉元素的输入路由到图形框架的方法和系统。
背景技术
现今的计算设备能够访问各种各样的视觉内容。例如,web浏览应用可以在设备的相关联显示区域内显示不同类型的内容。为了使得能够处理和显示视觉内容,可以采用不同图形功能性的阵列。这样的功能性的示例包括渲染引擎、图形应用编程接口(API)、图形编辑器等。
尽管不同图形功能性的可用性提供了用于处理和显示视觉内容的各种选项,但是使得能够在图形功能性之间进行交互仍呈现挑战性。例如,显示区可以包括由不同图形功能性管理的视觉内容。如果用户向显示区的视觉元素提供输入,则确保将输入路由到负责视觉元素的图形功能性可以是具有挑战性的。
发明内容
提供本发明内容来以简化形式介绍以下在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识所要求保护的主题的关键特征或必要特征,也不意图用作辅助确定所要求保护的主题的范围。
描述了针对用于路由针对视觉元素的输入的输入对象的技术。在至少一些实施例中,显示区域的区包括可以由不同图形功能性生成和/或管理的多个图形元素。图形功能性的示例包括渲染引擎、图形应用编程接口(API)、图形平台等。
例如,用于应用的图形用户界面(GUI)可以包括主窗口和主窗口内的视觉元素,诸如横幅、控制按钮、菜单、可填充字段等。在至少一些实施例中,GUI的主窗口可以由第一图形功能性管理,而主窗口内的一个或多个视觉元素可以由第二图形功能性管理。依照一个或多个实施例,采用输入对象将向视觉元素的输入路由到负责管理视觉元素的图形功能性。
附图说明
参照附图描述具体实施方式。在图中,参考标号最左边的(多个)数位标识参考标号第一次出现的图。相同参考标号在说明书和图中的不同实例中的使用可以指示相似或等同的项目。
图1是可操作成采用本文讨论的技术的示例实现中的环境的图示。
图2图示了依照一个或多个实施例的示例实现场景。
图3图示了依照一个或多个实施例的示例实现场景。
图4图示了依照一个或多个实施例的示例实现场景。
图5图示了依照一个或多个实施例的示例实现场景。
图6图示了依照一个或多个实施例的示例实现场景。
图7图示了依照一个或多个实施例的示例实现场景。
图8是描述了依照一个或多个实施例的方法中的步骤的流程图。
图9是描述了依照一个或多个实施例的方法中的步骤的流程图。
图10是描述了依照一个或多个实施例的方法中的步骤的流程图。
图11是描述了依照一个或多个实施例的方法中的步骤的流程图。
图12图示了如参照图1所描述的示例系统和计算设备,其被配置成实现本文描述的技术的实施例。
具体实施方式
概述
描述了针对用于路由针对视觉元素的输入的输入对象的技术。在至少一些实施例中,显示区域的区包括可以由不同图形功能性生成和/或管理的多个图形元素。图形功能性的示例包括渲染引擎、图形应用编程接口(API)、图形平台等。
例如,用于应用的图形用户界面(GUI)可以包括主窗口和主窗口内的视觉元素,诸如横幅、控制按钮、菜单、可填充字段等。在至少一些实施例中,GUI的主窗口可以由第一图形功能性管理,而主窗口内的一个或多个视觉元素可以由第二图形功能性管理。依照一个或多个实施例,采用输入对象将向视觉元素的输入路由到负责管理视觉元素的图形功能性。
一般地,输入对象是数据结构(例如组件对象模型(COM)对象),其链接到视觉元素并且配置成使得可以适当地处置向视觉元素的输入。例如,考虑以上提及的GUI的主窗口由第一图形功能性管理并且主窗口内的视觉元素由第二图形功能性管理的场景。输入对象可以链接到视觉元素使得如果用户向视觉元素提供输入,则将输入路由到第二图形功能性。第二图形功能性可以使用输入来执行各种处理,诸如使得检索内容、在GUI内导航和/或导航到其它GUI、将输入提交至其它资源以用于处理等。因而,可以采用输入对象配置用于各种视觉元素的定制输入管线。
在以下讨论中,首先描述可操作成采用本文描述的技术的示例环境。接下来,题为“示例实现场景”的部分描述依照一个或多个实施例的一些示例实现场景。在此之后,题为“示例进程”的部分描述依照一个或多个实施例的一些示例方法。最后,题为“示例系统和设备”的部分描述依照一个或多个实施例的可操作成采用本文讨论的技术的示例系统和设备。
已经呈现依照一个或多个实施例的示例实现的概述,现在考虑其中可以采用示例实现的示例环境。
示例环境
图1是可操作成采用本文描述的针对用于路由针对视觉元素的输入的输入对象的技术的示例实现中的环境100的图示。所图示的环境100包括可以以各种各样的方式配置的计算设备102。例如,计算设备102可以配置为传统计算机(例如台式个人计算机、膝上型计算机等)、移动站、娱乐器具、可通信地耦合到电视的机顶盒、无线电话、上网本、游戏控制台、手持设备(例如平板电脑)等,如关于图12进一步描述的。
计算设备102包括处理器104,其代表针对计算设备102执行各种类型的数据处理的功能性。例如,处理器104可以表示计算设备102的中央处理单元(CPU)。在下文参照图12讨论了处理器104的实现的另外示例。
还图示了图形处理器106,其代表针对计算设备102执行各种图形相关任务的功能性。图形处理器106例如可以表示计算设备102的图形处理单元(GPU)。
计算设备102还包括应用108和图形管理器模块110。应用108代表经由计算设备102执行各种任务的功能性。应用108的示例包括文字处理器应用、电子邮件应用、内容编辑应用、web浏览应用、游戏应用等。
图形管理器模块110代表对于本文讨论的针对用于路由针对视觉元素的输入的输入对象的技术进一步执行各种任务的功能性。图形管理器模块110例如可以实现为用于计算设备102的操作系统的组件。然而,实施例可以采用图形管理器模块110的各种各样的不同配置和实现。下面讨论关于图形管理器模块110的实现的另外细节。
计算设备102还包括图形框架102,其代表用于针对计算设备102执行图形处理的平台。图形框架112的示例包括渲染引擎、图形应用编程接口(API)等。图形框架112还包括图形相关语言和用于处理语言的功能性,诸如可扩展应用标记语言(XAML)、可扩展标记语言(XML)、超文本标记语言(HTML)等之类的语言。因而,图形框架112一般表示可以由各种实体(例如应用108)运用以使得能够处理和/或显示图形的图形平台。
还图示了显示设备114,其配置成针对计算设备102输出图形。在显示设备114上显示窗口116,其代表与诸如应用108之一之类的实体相关联的图形元素。例如,窗口116可以表示用于特定应用的GUI。还显示子窗口118,其代表窗口116的图形子元素。在该示例中,子窗口118表示具有可选菜单项的菜单。
根据各种实施例,窗口116和子窗口118可以由图形框架112的不同图形框架管理。如下文详述的,本文讨论的针对用于路由针对视觉元素的输入的输入对象的技术可以使得能够将向不同窗口的输入路由到(多个)适当框架。
已经描述其中可以操作本文描述的技术的示例环境,现在考虑依照一个或多个实施例的一些示例实现场景。
示例实现场景
以下讨论描述一些示例实现场景,其用于本文描述的针对用于路由针对视觉元素的输入的输入对象的技术。示例实现场景可以在图1的环境100、图12的系统1200和/或任何其它适当的环境中实现。
图2图示了依照一个或多个实施例的示例实现场景200。场景200包括图形用户界面(GUI)202。GUI 202例如可以作为应用、网站、基于web的资源等的部分而显示在显示设备114上。例如,可以经由应用108的web应用(例如web浏览器)而呈现GUI 202。在该特定示例中,GUI 202被呈现为使得用户能够在线购买各种商品和/或服务的购物网站的部分。
GUI 202包括各种视觉元素,诸如文本、图形、窗口等。例如,GUI 202包括标识与GUI 202相关联的web资源的横幅204。GUI 202还包括导航元素206,其是可选择的,以诸如经由导航将不同内容呈现到不同GUI。例如,选择导航元素206可以使得呈现与购物网站相关联的另一网页。导航元素206例如可以表示可选择的超链接。
还图示了图形208,其表示作为GUI 202的部分而显示的各种图形元素。还显示出支付窗口210,其包括可以从用户接收支付信息的各种标记。例如,支付窗口210包括可填充字段,在可填充字段中用户可以提供各种信息,诸如用户名称、购物地址、账户信息、信用卡信息等。支付窗口210例如使得用户能够对于经由GUI 202购买商品和/或服务而进一步提供信息。
作为GUI 202的部分而包括的视觉元素仅出于示例的目的而被呈现,并且要领会到,可以依照各种实施例实现视觉元素的各种各样的不同类型和实例。
场景200还包括树结构212,其是表示GUI 202的各种视觉元素的数据结构。树结构212例如包括与GUI 202的相应视觉元素相对应的不同节点。例如,节点可以表示与GUI 202的视觉元素相对应的图形对象。
树结构212包括根节点214,其表示GUI 202的主窗口,例如在其内显示GUI 202的其它视觉元素的主要窗口。树结构212还包括表示导航元素206的子节点216和表示图形208的子节点218。
根据各种实施例,根节点214和子节点216,218由图形框架220管理。图形框架220例如代表以上讨论的图形框架112的特定实例。在至少一些实现中,图形框架220负责实例化和管理GUI 202。
树结构112还包括表示支付窗口210的节点分组222。节点分组222例如表示支付窗口210的视觉和/或功能元素。节点分组222包括表示整个支付窗口210的子节点224。节点分组222还包括子节点226和子节点228,其表示支付窗口210的子元素。子节点226,228例如表示支付窗口210内的不同视觉元素,诸如不同可填充字段、可选择控件等。
树结构212的配置和节点仅出于示例的目的而被呈现,并且要领会到,可以依照各种实施例采用用于视觉和/或功能元素的呈现的数据结构的不同配置和布置。
根据一个或多个实施例,节点分组222由图形框架230管理。图形框架230例如代表以上讨论的图形框架112的特定实例。在至少一些实现中,图形框架230负责实例化和管理支付窗口210及其特定子元素,诸如基于来自图形框架220的请求。图形框架230例如可以生成节点分组222并且在图形框架220准许的情况下将节点分组222的节点添附到树结构212以使得能够作为GUI 202的部分而显示支付窗口210。
因而,图形框架220和图形框架230表示图形框架112的不同框架,其可以管理(例如单独地和/或独立地)GUI 202的不同视觉和/或功能元素。
根据各种实施例,本文讨论的技术使得能够与要路由到(多个)适当图形框架的GUI 202的各种视觉元素(例如向其的用户输入)进行交互。例如,向图形框架220所管理的视觉元素(例如横幅204、导航元素206、图形208等)的输入可以被路由到图形框架220并且由其处置。参照树结构212,例如向图形框架220所管理的节点的输入可以被路由到图形框架220并且由其处置。
技术进一步使得能够适当地路由向图形框架230所管理的视觉元素的输入。例如,考虑以下示例场景。
图3图示了依照一个或多个实施例的示例实现场景300。场景300包括以上在图2的讨论中所引入的支付窗口210和树结构212。
为了使得向支付窗口210的输入能够被路由到图形框架230,场景300包括输入对象302。一般地,输入对象302是可以链接到各种视觉元素使得向视觉元素的输入可以被适当地路由的数据结构。在至少一些实施例中,输入对象302包括检测向视觉元素的输入并且将输入路由到适当位置的功能性和/或与该功能性相关联。输入对象302可以由各种实体生成和/或管理,所述实体诸如图形框架230、应用180、图形管理器模块110等。因而,输入对象可以用于创建定制输入通道使得向视觉件的输入可以被路由到各种功能性和/或位置,诸如图形框架、应用、服务、存储器位置等。
参照场景300,输入对象302经由节点分组222链接到支付窗口210。例如,输入对象302链接到节点224使得向节点224的输入被路由到图形框架230。另外,向节点226和/或节点228的输入向上遍历树结构212直到其到达节点224,以及因而输入对象302。在至少一些实施例中,这使得向节点分组222的输入能够被路由到图形框架230,而同时防止这样的输入被路由到图形框架220。例如,向节点分组222的输入可以被路由到图形框架230而不会进一步向上经过树结构212,例如到达节点分组222外部的其它节点。例如,向节点分组222外部的节点(例如节点214,216,218)的输入可以被路由到图形框架220而不被路由到和/或暴露于图形框架230。因而,根据各种实施例,向特定节点的输入向上遍历树结构直到遇到输入对象,在该点处输入被输入对象路由。
在一个或多个实施例中,向支付窗口210的输入可以受保护使得输入不能由图形框架220和/或除图形框架230之外的其它功能性访问。保护这样的输入可以增强数据安全性,诸如通过防止对数据的未经授权访问和/或恶意访问。然而,在一些可替换实施例中,向节点分组222的输入可以被路由到多个图形框架,例如图形框架220和图形框架230二者。
根据一个或多个实施例,输入对象302可以经由用于支付窗口210的标识符,例如由图形框架230针对支付窗口210所生成的标识符,而链接到支付窗口210。可替换地或者此外,输入对象302可以通过与其中显示支付窗口210的显示区(例如像素区)相关联而链接到支付窗口210。因而,可以经由输入对象302来检测和路由向显示区的输入。
作为示例实现,考虑用户向支付窗口210提供输入。例如,用户可以向包括在支付窗口210中的字段提供各种类型的支付相关信息。向节点分组222的(多个)相关联节点的输入由输入对象302检测,该输入对象302将输入路由到图形框架230。图形框架230可以相应地处理输入。图形框架230例如可以与基于web的支付处理器相关联,基于web的支付处理器可以作为商品和/或服务的购买的部分而在输入上执行各种处理任务。
尽管图示了单个输入对象302,但是要领会到,可以依照一个或多个实施例采用输入对象的多个实例。例如,多个输入对象可以例如经由树结构的不同相应节点与相应视觉元素单独地相关联。可以采用输入对象的各种其它实现和配置,其示例在以下场景中讨论。
图4图示了依照一个或多个实施例的示例实现场景400。场景400包括表示各种视觉元素的树结构402。例如,树结构402的各个节点表示显示器的不同视觉元素,诸如GUI的元素。
场景400还包括输入对象404和输入对象406。输入对象404链接到树结构402的节点408使得经由输入对象404路由向与节点408相关联的视觉元素的输入。在至少一些实施例中,向节点410的输入向上遍历树结构402到达节点408,并且因而经由输入对象404路由。根据一个或多个实施例,向节点408和/或节点410的输入不进一步向上遍历树结构402。因而,在至少一些实施例中,向树结构的节点的输入向上遍历树直到其到达链接于输入对象的节点,在该点处输入经由输入对象被路由并且不进一步向上遍历树。可替换地,向节点的输入可以经由输入对象被路由并且可以继续遍历树,例如到达根节点。
输入对象406链接到树结构402的节点412使得向与节点412相关联的视觉元素的输入经由输入对象406来路由。
根据各种实施例,输入对象404和输入对象406各自与不同图形框架相关联使得向(多个)相应节点的输入被路由到不同相应框架。可替换地或者此外,输入对象404和输入对象406可以与相同图形框架相关联使得向(多个)相应节点的输入经由相应输入对象被路由到相同图形框架。
图5图示了依照一个或多个实施例的示例实现场景500。场景500包括表示各种视觉元素的树结构502。例如,树结构502的各个节点表示显示器的不同视觉元素,诸如GUI的元素。
场景500还包括输入对象504,其链接到树结构502的节点506和节点508。因而,如所图示的,单个输入对象可以链接到多个节点使得输入对象可以将输入从不同节点路由到特定图形框架。输入对象504可以与图形框架的实例和/或多个图形框架相关联。
图6图示了依照一个或多个实施例的示例实现场景600。场景600包括表示各种视觉元素的树结构602。例如,树结构602的各个节点表示显示器的不同视觉元素,诸如GUI的元素。
场景600还包括输入对象604和输入对象606,其链接到树结构602的节点608。因而,向节点608的视觉元素的输入可以经由输入对象604和输入对象606二者来路由。根据各种实施例,输入对象604和输入对象606可以与不同图形框架和/或与相同图形框架相关联。因而,向节点608的视觉元素的输入可以经由输入对象604和输入对象606二者路由到相应图形框架和/或相同图形框架。
在至少一些实施例中,输入对象可以用于处理不同类型的输入,诸如键盘输入、鼠标输入、触摸输入、笔输入等。例如,考虑以下实现:生成输入对象604以路由键盘输入并且生成输入对象606以路由触摸输入,诸如向触摸屏和/或其它触敏功能性的触摸输入。
在这样的场景中,如果将键盘输入提供给节点608,则键盘输入可以经由输入对象604而不是输入对象606路由。如果将触摸输入提供给节点608,则触摸输入可以经由输入对象606而不是输入对象604路由。在至少一些实施例中,如果键盘和触摸输入被同时提供给节点608,则相应输入对象可以单独地检测和路由相应输入类型。输入对象604和输入对象606各自可以与相应处理线程相关联,并且因而可以使得能够将不同输入类型路由到不同的相应处理线程并且由其进行处理。因而,向特定视觉元素的不同类型输入可以由相应的输入对象控制和/或路由。
根据一个或多个实施例,可以出于不同目的而使用不同输入对象处理相同类型输入。例如,考虑其中由节点608接收触笔输入的实现。输入对象604可以将触笔输入路由到一个线程,其可以处理触笔输入以绘制图形,诸如文本字符。另外,输入对象606可以将触笔输入路由到不同线程,其可以处理触笔输入以用于字符识别的目的。因而,单个类型的输入可以出于各种各样的目的而由不同输入对象路由。
根据各种实施例,可以适当地路由向重叠视觉件的输入。例如,考虑以下实现场景。
图7图示了依照一个或多个实施例的示例实现场景700。场景700包括视觉元素702和视觉元素704。视觉元素702,704可以表示显示器的不同视觉元素,诸如GUI的元素。根据各种实施例,视觉元素702由与视觉元素704不同的图形框架管理。
如所图示的,在重叠区706处视觉元素704与视觉元素702部分地重叠。如果将输入提供给重叠区706,则可以在确定将如何路由输入时考虑视觉元素的z序。例如,每一个视觉元素可以与指定用于视觉元素的显示次序的相应z序相关联。视觉元素704例如可以具有比视觉元素702更高的z序使得视觉元素704在显示区域中与视觉元素702重叠。
根据各种实施例,可以使用z序来控制如何路由输入。例如,如果将输入提供给重叠区706,则可以基于哪个视觉件具有最高z序而路由输入。例如,由于视觉元素704具有较高z序,所以可以基于用于视觉元素704的输入协议而路由向重叠区706的输入。输入例如可以被路由到链接于视觉元素704的图形框架、应用、输入对象等。另外,向重叠区706的输入可以不基于与视觉元素702相关联的输入协议来路由。因而,可以基于z序而优先化向视觉元素的重叠部分的输入的路由。
已经讨论一些示例实现场景,现在考虑依照一个或多个实施例的一些示例进程的讨论。
示例进程
以下讨论描述依照一个或多个实施例的针对用于路由针对视觉元素的输入的输入对象的一些示例进程。示例进程可以在图1的环境100、图12的系统1200和/或任何其它适当的环境中采用。
图8是描述了依照一个或多个实施例的方法中的步骤的流程图。步骤800生成用于显示的视觉元素。视觉元素例如可以由应用、图形框架等生成。如在上文的示例中详述的,视觉元素可以是显示区的子元素,诸如较大GUI的子元素。
步骤802生成用于视觉元素的输入对象。输入对象例如可以由生成视觉元素的功能性(诸如应用、图形框架等)来生成。可替换地或者此外,输入对象可以由诸如图形管理器模块110之类的不同功能性来生成。
步骤804将输入对象链接到视觉元素。例如,输入对象可以结合到用于视觉元素的标识符。可替换地或者此外,输入对象可以结合到其中显示视觉元素的显示区,诸如经由与特定像素区相关联。因而,可以经由输入对象来检测和路由向视觉元素的输入。
如上文讨论的,将输入对象链接到视觉元素使得向视觉元素的输入能够被路由到与输入对象相关联的功能性,诸如图形框架、应用、服务等。例如,应用可以利用不同图形框架来渲染、处理和/或管理GUI的不同视觉元素。因而,应用可以利用输入对象以使得向不同视觉元素的输入能够被路由到适当的图形框架和/或由其处置。
根据各种实施例,输入对象使得能够适当地处置向与多个应用相关联的视觉元素的输入。例如,考虑以下场景:电子邮件应用利用单独的文档处理应用来使得用户能够查看附连到电子邮件的文档。链接到文档的输入对象可以使得向文档的输入能够被路由到文档处理应用,而不是电子邮件应用。另外,可以防止文档处理应用访问除所附连的文档之外的电子邮件内容。因而,利用输入对象使得能够在应用之间隔离输入路由。
图9是描述了依照一个或多个实施例的方法中的步骤的流程图。步骤900接收向链接到输入对象的视觉元素的输入。视觉元素例如可以是显示区的子元素,诸如GUI的子元素。
步骤902经由输入对象将输入路由到管理视觉元素的功能性。功能性例如可以包括应用、图形框架和/或任何其它适当的资源。在视觉元素为GUI的子元素的情况下,输入对象可以将输入路由到管理视觉元素并且与管理GUI的主窗口的功能性不同的功能性。可以实现其它输入路由场景,其示例在上文讨论。
根据一个或多个实施例,接收输入的功能性可以处理输入以基于输入执行各种任务。这样的任务的示例包括在网络资源(例如网页)之间导航、执行用户发起的动作、访问内容等。
在至少一些实施例中,向作为模拟3维(3D)环境的部分而包括的视觉元素的输入可以经由链接到视觉元素的输入对象而路由。例如,当视觉元素在3D环境的区和/或层之间移动时,输入对象保持链接到视觉元素。因而,不管视觉元素可以定位在3D环境中的什么地方,都可以经由所链接的输入对象来检测和路由向视觉元素的输入。
图10是描述了依照一个或多个实施例的方法中的步骤的流程图。步骤1000接收向与第二视觉元素重叠的第一视觉元素的部分的输入。例如,可以接收向与显示区域中的另一视觉元素部分地或全部地重叠的视觉元素的区的输入。
步骤1002基于针对第一视觉元素和第二视觉元素所指定的z序来路由输入。例如,如果第一视觉元素具有比第二视觉元素更高的z序,则可以根据用于第一视觉元素的输入协议而路由输入。输入例如可以被路由到管理第一视觉元素的功能性,诸如应用、图形框架等。在至少一些实施例中,可以经由链接到第一视觉元素的输入对象而路由输入。
相反地,如果第二视觉元素具有比第一视觉元素更高的指定z序,则可以基于用于第二视觉元素的输入协议而路由输入。
图11是描述了依照一个或多个实施例的方法中的步骤的流程图。步骤1100接收向视觉元素的第一类型输入。可以接收各种类型的输入,诸如键盘输入、鼠标输入、触摸输入、语音输入等。
步骤1102经由指定用于第一类型输入的输入对象路由第一类型输入。第一类型输入例如可以被路由到配置成处置和/或处理第一类型输入的功能性。
步骤1004接收向视觉元素的第二类型输入。第二类型输入例如是与第一类型输入不同类型的输入。
步骤1106经由指定用于第二类型输入的输入对象路由第二类型输入。第二类型输入例如可以被路由到配置成处置和/或处理第二类型输入的功能性。因而,链接到视觉元素的不同输入对象可以用于将不同类型输入路由到视觉元素。在至少一些实施例中,这使得能够将不同类型输入路由到不同的相应功能性,诸如不同应用、图形框架等。如上文引用的,利用用于不同输入类型的不同输入对象使得能够生成分立的处理线程以用于处理每一个输入类型。
已经讨论一些示例进程,现在讨论依照一个或多个实施例的示例系统和设备的讨论。
示例系统和设备
图12一般地在1200处图示了示例系统,其包括代表可以实现本文描述的各种技术的一个或多个计算系统和/或设备的示例计算设备1202。例如,以上参照图1讨论的计算设备102可以体现为计算设备1202。计算设备1202可以例如为服务提供商的服务器、与客户端相关联的设备(例如客户端设备)、片上系统和/或任何其它适当的计算设备或计算系统。
如所图示的示例计算设备1202包括彼此可通信地耦合的处理系统1204、一个或多个计算机可读介质1206以及一个或多个输入/输出(I/O)接口1208。尽管未示出,但是计算设备1202还可以包括将各种组件相互耦合的系统总线或其它数据和命令传递系统。系统总线可以包括不同总线结构中的任何一个或其组合,所述不同总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种各样的总线架构中的任何总线架构的处理器或本地总线。还预期到各种各样的其它示例,诸如控制和数据线。
处理系统1204代表使用硬件执行一个或多个操作的功能性。相应地,处理系统1204被图示为包括可以配置为处理器、功能块等的硬件元件1210。这可以包括作为应用特定集成电路或者使用一个或多个半导体所形成的其它逻辑设备而在硬件中的实现。硬件元件1210不受形成其的材料或者其中所采用的处理机制的限制。例如,处理器可以包括(多个)半导体和/或晶体管(例如电子集成电路(IC))。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1206被图示为包括存储器/存储装置1212。存储器/存储装置1212表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储装置1212可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪速存储器、光盘、磁盘等)。存储器/存储装置1212可以包括固定介质(例如RAM、ROM、固定盘驱动器等)以及可移除介质(例如闪速存储器、可移除硬盘驱动、光盘等)。计算机可读介质1206可以以各种其它方式配置,如下文进一步描述的。
(多个)输入/输出接口1208代表允许用户将命令和信息录入到计算设备1202并且还允许使用各种输入/输出设备将信息呈现给用户和/或其它组件或设备的功能性。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风(例如用于语音识别和/或话语输入)、扫描仪、触摸功能性(例如配置成检测物理触摸的电容或其它传感器)、相机(例如其可以采用可见波长或诸如红外频率之类的不可见波长来检测不涉及作为手势的触摸的移动)等。输出设备的示例包括显示设备(例如监控器或投影仪)、扬声器、打印机、网络卡、触觉响应设备等。因而,计算设备1202可以以如下文进一步描述的各种各样的方式被配置以支持用户交互。
本文可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。一般地,这样的模块包括例程、程序、对象、元件、组件、数据结构等,其执行特定任务或实现特定抽象数据类型。如本文所使用的术语“模块”、“功能性”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的特征是独立于平台的,这意味着技术可以在具有各种各样的处理器的各种各样的商用计算平台上实现。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或者跨其传输。计算机可读介质可以包括可由计算设备1202访问的各种各样的介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以是指使得能够持久存储信息的介质和/或设备,与纯信号传输、载波或信号本身相对。因而,计算机可读存储介质不包括信号本身。计算机可读存储介质包括硬件,诸如在适用于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其它数据之类的信息的方法或技术中实现的易失性和非易失性、可移除和不可移除介质之类的硬件和/或存储设备。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光学存储装置、硬盘、盒式磁带、磁带、磁盘存储装置或其它磁性存储设备、或者适用于存储期望信息并且可以由计算机访问的其它存储设备、有形介质或制造品。
“计算机可读信号介质”可以是指配置成诸如经由网络将指令传输到计算设备1202的硬件的信号承载介质。信号介质典型地可以在诸如载波、数据信号或其它输运机制之类的调制数据信号中体现计算机可读指令、数据结构、程序模块或其它数据。信号介质还包括任何信息递送介质。术语“调制数据信号”意指其特性中的一个或多个以这样的方式被设定或改变的信号:即,将信息编码在信号中。作为示例而非限制,通信介质包括诸如有线网络或有线直连之类的有线介质,以及诸如声学、射频(RF)、红外和其它无线介质之类的无线介质。
如之前描述的,硬件元件1210和计算机可读介质1206代表可以在一些实施例中用来实现本文描述的技术的至少一些方面的以硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑。硬件元件可以包括以下的组件:集成电路或片上系统、应用特定集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)以及硅或其它硬件设备中的其它实现。在该上下文中,硬件元件可以操作为执行由硬件元件体现的逻辑、模块和/或指令所限定的程序任务的处理设备以及用于存储指令以供执行的硬件设备,例如之前描述的计算机可读存储介质。
前述的组合还可以用于实现本文描述的各种技术和模块。相应地,软件、硬件或程序模块和其它程序模块可以实现为体现在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1210体现的一个或多个指令和/或逻辑。计算设备1202可以配置成实现对应于软件和/或硬件模块的特定指令和/或功能。相应地,作为软件由计算设备1202可执行的模块的实现可以至少部分地在硬件中实现,例如通过使用计算机可读存储介质和/或处理系统的硬件元件1210。指令和/或功能可以由一个或多个制造品(例如一个或多个计算设备1202和/或处理系统1204)可执行/可操作以实现本文描述的技术、模块和示例。
如图12中进一步图示的,示例系统1200使得能够在个人计算机(PC)、电视设备和/或移动设备上运行应用时实现用于无缝用户体验的普适环境。设备和应用在所有三个环境中基本上类似地运行,以在利用应用、播放视频游戏、观看视频等的同时从一个设备向下一个转变时达成共同的用户体验。
在示例系统1200中,多个设备通过中央计算设备互连。中央计算设备可以在多个设备本地或者可以远离多个设备定位。在一个实施例中,中央计算设备可以是通过网络、互联网或其它数据通信链路与多个设备相连的一个或多个服务器计算机的云。
在一个实施例中,该互连架构使得能够跨多个设备递送功能性以向多个设备的用户提供共同且无缝的体验。多个设备中的每一个可以具有不同物理要求和性能,并且中央计算设备使用平台以使得能够向设备递送既针对设备定制又对所有设备共同的体验。在一个实施例中,创建目标设备类并且针对通用设备类定制体验。可以按照设备的物理特征、使用类型或其它共同特性来限定设备类。
在各种实现中,计算设备1202可以采取各种各样的不同配置,诸如用于计算机1214、移动装置1216和电视1218用途。这些配置中的每一个包括可以具有大体不同构造和性能的设备,并且因而可以根据不同设备类中的一个或多个来配置计算设备1202。例如,计算设备1202可以实现为计算机1214类的设备,其包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
计算设备1202还可以实现为移动装置1216类的设备,其包括移动设备,诸如移动电话、便携音乐播放器、便携游戏设备、平板计算机、多屏幕计算机等。计算设备1202还可以实现为电视1218类的设备,其包括具有非正式观看环境中的大体更大屏幕或者连接到所述大体更大屏幕的设备。这些设备包括电视、机顶盒、游戏控制台等。
本文描述的技术可以由计算设备1202的这些各种配置支持并且不限于本文描述的技术的具体示例。例如,参照图形管理器模块110和/或图形框架112讨论的功能性可以通过使用分布式系统而全部或部分实现,诸如在经由平台1222在“云”1220上,如下文描述的。
云1220包括和/或代表用于资源1224的平台1222。平台1222抽象化云1220的硬件(例如服务器)和软件资源的底层功能性。资源1224可以包括在远离计算设备1202的服务器上执行计算机处理时可以利用的应用和/或数据。资源1224还可以包括在互联网上和/或通过诸如蜂窝或Wi-Fi网络之类的订户网络提供的服务。
平台1222可以抽象化资源和功能以将计算设备1202与其它计算设备连接。平台1222还可以用来抽象化资源的规模以对于所遇到的对经由平台1222实现的资源1224的需求而提供对应等级的规模。相应地,在互连设备环境中,本文描述的功能性的实现可以遍及系统1200分布。例如,功能性可以部分地在计算设备1202上以及经由抽象化云1220的功能性的平台1222而实现。
本文讨论的是可以实现成执行本文讨论的技术的数个方法。方法的方面可以实现在硬件、固件或软件、或其组合中。方法被示出为步骤集合,步骤集合指定由一个或多个设备执行的操作并且未必限于所示出的用于相应块的操作的次序。另外,依照一个或多个实现,关于特定方法所示出的操作可以与不同方法的操作组合和/或互换。方法的方面可以经由以上参照环境100所讨论的各种实体之间的交互而实现。
结论
描述了针对用于路由针对视觉元素的输入的输入对象的技术。尽管以特定于结构特征和/或方法动作的语言描述了实施例,但是要理解到,在随附权利要求中限定的实施例未必限于所描述的具体特征或动作。而是,具体特征和动作是作为实现所要求保护的实施例的示例形式而被公开的。
Claims (10)
1.一种系统,包括:
至少一个处理器;以及
包括存储在其上的指令的一个或多个计算机可读存储介质,所述指令响应于由所述至少一个处理器的执行而使系统实现包括以下的功能性:
包括主窗口和视觉子元素的图形用户界面GUI;
各自被配置成执行用于所述系统的图形操作的图形框架,所述图形框架包括第一图形框架和第二图形框架,所述第一图形框架处理向所述GUI的所述主窗口的输入,所述第二图形框架处理向所述视觉子元素的输入而不处理向所述主窗口的输入;以及
被链接到所述视觉子元素并且被配置成将向所述视觉子元素的输入路由到所述第二图形框架的输入对象,所述输入对象防止向所述视觉子元素的输入由所述第一图形框架可访问。
2.根据权利要求1中所述的系统,其中所述输入对象配置成使得向所述视觉子元素的输入被路由到所述第二图形框架而不是所述第一图形框架。
3.根据权利要求1中所述的系统,还包括链接到所述视觉子元素的至少一个其它输入对象,其中所述输入对象配置成路由用于所述视觉子元素的第一类型输入,并且所述其它输入对象配置成路由用于所述视觉子元素的第二类型输入。
4.根据权利要求1中所述的系统,其中针对配置成利用所述第一图形框架和所述第二图形框架来执行图形操作的应用而生成所述GUI。
5.一种计算机实现的方法,包括:
生成用于视觉元素的输入对象,所述视觉元素是显示区的子元素,向所述显示区的输入由第一图形框架处理;
将所述输入对象链接到所述视觉元素,使得向所述视觉元素的第一类型输入被路由到与所述第一图形框架不同的第二图形框架而不被路由到所述第一图形框架;以及
生成不同输入对象;以及
将所述不同输入对象链接到所述视觉元素,使得向所述视觉元素的第二类型输入经由所述不同输入对象而被路由到所述第一图形框架。
6.根据权利要求5中所述的方法,其中所述显示区包括图形用户界面GUI的主窗口,并且所述视觉元素包括所述主窗口内的图形元素。
7.根据权利要求5中所述的方法,其中所述输入对象被配置成使得向所述视觉元素的输入不是所述第一图形框架可访问的。
8.一种计算机实现的方法,包括:
生成用于视觉元素的输入对象,所述视觉元素是显示区的子元素,向所述子元素外部的所述显示区的输入由第一功能性处理;
将所述输入对象链接到所述视觉元素;
接收向所述视觉元素的输入;以及
经由所述输入对象将所述输入路由到第二功能性,所述第二功能性处理向所述视觉元素的输入并且与所述第一功能性不同,使得防止所述输入由所述第一功能性可访问。
9.根据权利要求8中所述的方法,其中所述显示区包括至少部分地与所述视觉元素重叠的不同视觉元素,并且所述方法还包括:
接收向所述视觉元素和所述不同视觉元素的重叠部分的输入;
基于所述显示区中的所述视觉元素和所述不同视觉元素的相应z序来路由向所述重叠部分的所述输入。
10.一个或多个计算机可读存储介质,包括存储在其上的指令,所述指令响应于由计算设备的执行而使所述计算设备执行根据权利要求5至9中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/911729 | 2013-06-06 | ||
US13/911,729 US9443331B2 (en) | 2013-06-06 | 2013-06-06 | Input object for routing input for visual elements |
PCT/US2013/060774 WO2014196998A1 (en) | 2013-06-06 | 2013-09-20 | Input object configured to route input for a visual element to a graphic framework |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105518618A CN105518618A (zh) | 2016-04-20 |
CN105518618B true CN105518618B (zh) | 2019-04-09 |
Family
ID=49447797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077196.8A Active CN105518618B (zh) | 2013-06-06 | 2013-09-20 | 将针对视觉元素的输入路由到图形框架的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9443331B2 (zh) |
EP (1) | EP3005083B1 (zh) |
CN (1) | CN105518618B (zh) |
WO (1) | WO2014196998A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372935A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Input Processing based on Input Context |
CN105808760A (zh) * | 2016-03-16 | 2016-07-27 | 深圳市育成科技有限公司 | 切分文本分类分层展现系统及其展现方法 |
FR3077663B1 (fr) * | 2018-02-02 | 2020-02-28 | Alstom Transport Technologies | Procede d'elaboration d'un programme informatique et dispositif d'elaboration correspondant |
FR3077664A1 (fr) * | 2018-02-02 | 2019-08-09 | Alstom Transport Technologies | Systeme d'elaboration d'un programme de signalisation ferroviaire et procede d'elaboration associe |
US10649618B2 (en) * | 2018-05-15 | 2020-05-12 | Fuji Xerox Co., Ltd. | System and method for creating visual representation of data based on generated glyphs |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929642A (zh) * | 2011-11-10 | 2013-02-13 | 微软公司 | 格式对象任务窗格 |
CN102937891A (zh) * | 2011-09-09 | 2013-02-20 | 微软公司 | 多别名动画中的别名选择 |
CN102982569A (zh) * | 2011-12-05 | 2013-03-20 | 微软公司 | 在可编辑和不可编辑向导之间进行区分 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7185333B1 (en) * | 1999-10-28 | 2007-02-27 | Yahoo! Inc. | Method and system for managing the resources of a toolbar application program |
US6873337B1 (en) * | 2000-04-06 | 2005-03-29 | Microsoft Corporation | Application programming interface for changing the visual style |
US7246060B2 (en) * | 2001-11-06 | 2007-07-17 | Microsoft Corporation | Natural input recognition system and method using a contextual mapping engine and adaptive user bias |
US6928619B2 (en) * | 2002-05-10 | 2005-08-09 | Microsoft Corporation | Method and apparatus for managing input focus and z-order |
US7839419B2 (en) | 2003-10-23 | 2010-11-23 | Microsoft Corporation | Compositing desktop window manager |
US7277095B2 (en) | 2004-03-16 | 2007-10-02 | Canon Kabushiki Kaisha | Method of rendering graphical objects |
US9141402B2 (en) * | 2005-04-25 | 2015-09-22 | Aol Inc. | Providing a user interface |
JP4150026B2 (ja) | 2005-05-12 | 2008-09-17 | 株式会社東芝 | 携帯型電子機器及びウィンドウ制御システム |
US7475352B2 (en) * | 2005-10-28 | 2009-01-06 | Microsoft Corporation | Layout and management of browser panes |
US8108799B2 (en) | 2007-03-30 | 2012-01-31 | Microsoft Corporation | Remoting of windows presentation framework based applications in a non-composed desktop |
US8428781B2 (en) * | 2008-11-17 | 2013-04-23 | Energid Technologies, Inc. | Systems and methods of coordination control for robot manipulation |
EP2548132A4 (en) | 2010-03-19 | 2016-11-09 | Siemens Healthcare Diagnostics | MODULAR DIAGNOSTIC INSTRUMENT WORKSTATION ARCHITECTURE AND METHOD |
WO2012045191A1 (en) * | 2010-10-05 | 2012-04-12 | Intel Corporation | System and method for multiple native software applications user interface composition |
US9361715B2 (en) | 2011-06-02 | 2016-06-07 | Microsoft Technology Licensing, Llc | Global composition system |
US9563971B2 (en) | 2011-09-09 | 2017-02-07 | Microsoft Technology Licensing, Llc | Composition system thread |
US20130063482A1 (en) | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Application programming interface for a bitmap composition engine |
-
2013
- 2013-06-06 US US13/911,729 patent/US9443331B2/en active Active
- 2013-09-20 CN CN201380077196.8A patent/CN105518618B/zh active Active
- 2013-09-20 EP EP13779653.8A patent/EP3005083B1/en active Active
- 2013-09-20 WO PCT/US2013/060774 patent/WO2014196998A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102937891A (zh) * | 2011-09-09 | 2013-02-20 | 微软公司 | 多别名动画中的别名选择 |
CN102929642A (zh) * | 2011-11-10 | 2013-02-13 | 微软公司 | 格式对象任务窗格 |
CN102982569A (zh) * | 2011-12-05 | 2013-03-20 | 微软公司 | 在可编辑和不可编辑向导之间进行区分 |
Also Published As
Publication number | Publication date |
---|---|
WO2014196998A1 (en) | 2014-12-11 |
EP3005083A1 (en) | 2016-04-13 |
US9443331B2 (en) | 2016-09-13 |
EP3005083B1 (en) | 2020-06-24 |
US20140362122A1 (en) | 2014-12-11 |
CN105518618A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691299B2 (en) | Display of hierarchical datasets using high-water mark scrolling | |
US10628132B2 (en) | Inversion of control framework for multiple behaviors of a process | |
Firtman | Programming the Mobile Web: Reaching Users on iPhone, Android, BlackBerry, Windows Phone, and more | |
CN105453097B (zh) | 受约束驱动程序平台在用户模式下在沙箱中运行驱动程序 | |
CN105518618B (zh) | 将针对视觉元素的输入路由到图形框架的方法和系统 | |
US20210208854A1 (en) | System and method for enhancing component based development models with auto-wiring | |
US11134051B2 (en) | Apparatus and method for managing notification | |
CN102937861B (zh) | 用于显示环境的共享边缘 | |
CN106165370A (zh) | 基于web的原生应用 | |
US20140019887A1 (en) | Method of encapsulating diverse user interface components while consistently enforcing external constraints | |
CN104115143A (zh) | 多个选项卡堆叠用户界面 | |
US10691880B2 (en) | Ink in an electronic document | |
US10156957B2 (en) | Semi-modal interaction blocker | |
EP3289479B1 (en) | Rendering graphical assets natively on multiple screens of electronic devices | |
CN105324795B (zh) | 合并图形操作 | |
US10409575B2 (en) | System and method for developing software applications of wearable devices | |
Lee et al. | Beginning Windows Phone App Development | |
US11294644B2 (en) | Inversion of control framework for multiple behaviors on top of a process | |
US9971501B2 (en) | Method and system for providing adaptive arrangement and representation of user interface elements | |
CN106462331A (zh) | 命令表面钻入控制 | |
CN105493019A (zh) | 基于输入上下文的输入处理 | |
US11385868B2 (en) | Orthogonal path renderer for natural looking sequence flows | |
US20240061687A1 (en) | Dynamic generation and customization of user interfaces | |
Bhatt et al. | Elevating Online Retail: An In-Depth Look at the Implementation of React JS in Advanced E-commerce | |
CN114692578A (zh) | 电子表单审批意见生成方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |