CN107077272A - 响应于用户动作而确定启用直接操纵的命中测试 - Google Patents

响应于用户动作而确定启用直接操纵的命中测试 Download PDF

Info

Publication number
CN107077272A
CN107077272A CN201580057305.9A CN201580057305A CN107077272A CN 107077272 A CN107077272 A CN 107077272A CN 201580057305 A CN201580057305 A CN 201580057305A CN 107077272 A CN107077272 A CN 107077272A
Authority
CN
China
Prior art keywords
scl
application
user action
direct
response
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.)
Granted
Application number
CN201580057305.9A
Other languages
English (en)
Other versions
CN107077272B (zh
Inventor
C·霍夫塞茨
H·埃登
S·卡罗勒维克斯
J·克兰茨
M·多尔顿
S·孙
K·扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107077272A publication Critical patent/CN107077272A/zh
Application granted granted Critical
Publication of CN107077272B publication Critical patent/CN107077272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Investigating Strength Of Materials By Application Of Mechanical Stress (AREA)

Abstract

可以执行命中测试以确定经由与应用相关联的用户界面检测到的用户动作是否与应用的给定对象相交。应用可以包括一个或多个特殊内容层(SCL)。可以针对每个SCL做出关于响应于用户动作而启用通过应用直接操纵对象的决定。应用的SCL处理模块可以响应于在SCL的从前到后处理期间检测到用户动作与至少一个SCL的一个或多个非透明像素相交而对命中进行识别,其中像素对应于对象。然后,应用可以确定由SCL启用还是禁用通过应用直接操纵对象,并且因此是否应当分别自动地发起或禁用直接操纵。

Description

响应于用户动作而确定启用直接操纵的命中测试
背景技术
命中测试(也被称为命中检测、拾取和/或拾取相关)是用于确定用户控制的光标(例如,与应用相关联的用户界面上的鼠标光标或触摸点)是否与用户界面上显示的应用的给定对象(如形状、线或曲线)相交的过程。此外,命中测试用于响应用户动作,例如基于其在用户界面上的视觉位置来选择应用中的菜单项或目标。
目前,没有快速、有效的技术来确定是否已经通过任何触摸输入、手势输入和/或用户的传统输入而命中了应用中的内容。命中测试可能非常昂贵,并且与应用相关联的某些类型的内容(例如,图形对象)可能需要花费最长的时间才能解决,因为计算命中测试所花费的时间受到内容的复杂程度的约束。
发明内容
提供本发明内容来以简化的形式介绍一些概念,这些概念在下文的具体实施方式中进一步描述。本发明内容并非旨在仅仅识别所要求保护的主题的主要特征或基本特征,也并非旨在帮助确定所要求保护的主题的范围。
实施例针对执行命中测试以响应于用户动作而确定启用直接操纵。计算设备的处理器可以被配置为,执行包括一个或多个特殊内容层(SCL)的应用,并且在执行应用时使得与应用相关联的用户界面通过客户端设备而呈现给用户。应用可以通过用户界面来检测用户动作,并且响应于检测到用户动作与应用的至少一个SCL的一个或多个像素相交,命中可以得到识别。可以响应于命中由应用来确定是否由至少一个SCL启用了通过应用直接操纵对象,并且如果通过应用直接操纵对象由至少一个SCL启用,则可以自动地发起通过应用直接操纵对象。
通过阅读下文的具体实施方式并查看相关联的附图,这些特征和优点以及其它特征和优点将是显而易见的。应当理解,前文的总体描述和下文的具体实施方式都是解释性的,并且不限制所要求保护的方面。
附图说明
图1包括可以执行命中测试的示例网络环境;
图2示出了与被配置为执行命中测试的应用相关联的示例用户界面;
图3示出了执行命中测试以响应于用户动作而确定启用一个或多个直接操纵的示例过程;
图4是示例通用计算设备的框图,该示例通用计算设备可以用于执行命中测试以响应于用户动作而确定启用一个或多个直接操纵;以及
图5示出了根据实施例的用于执行命中测试以响应于用户动作而确定启用一个或多个直接操纵的方法的逻辑流程图。
具体实施方式
如上文简要描述的,可以执行命中测试以确定通过与应用相关联的用户界面检测到的用户动作是否与应用的给定对象相交。例如,应用可以是文字处理、电子表格和/或演示应用,并且应用包括一个或多个特殊内容层(SCL)。如本文所述,SCL是可以响应于用户动作而做出关于启用通过应用直接操纵对象的立即决定的应用层。应用的SCL处理模块可以响应于在SCL的从前到后处理期间检测到用户动作与SCL中的至少一个SCL的一个或多个非透明像素相交而识别命中,其中像素可以对应于应用的对象。继而应用可以被配置为确定是否由SCL启用了通过应用直接操纵对象。如果通过应用直接操纵对象由SCL启用,则可以自动发起直接操纵。可替代地,如果SCL未启用通过应用直接操纵对象,则可以禁用直接操纵。
在下文的具体实施方式中,对形成本文中的一部分的附图进行参考,并且其中借助于说明示出了特定实施例或示例。可以对这些方面进行组合,可以利用其它方面,并且可以在不脱离本公开的精神或范围的情况下进行结构改变。因此,下文的具体实施方式不具有限制意义,并且由所附权利要求及其等同物来限定本发明的范围。
虽然将在与在个人计算机上的操作系统上运行的应用程序结合执行的程序模块的一般背景中描述一些实施例,但是本领域技术人员将认识到,还可以与其它程序模块结合地实现方面。
通常,程序模块包括例程、程序、组件、数据结构以及执行特定任务或实现特定抽象数据类型的其它类型的结构。此外,本领域的技术人员应当理解,可以使用其它计算机系统配置来实践实施例,其它计算机系统配置包括手持设备、多处理器系统、基于微处理器的或可编程的消费电子设备、小型计算机、大型计算机以及可比较计算设备。还可以在由通过通信网络连接的远程处理设备来执行任务的分布式计算环境中实践实施例。在分布式计算环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备二者中。
可以将一些实施例实现为计算机实现的过程(方法)、计算系统、或者实现为诸如计算机程序产品或计算机可读介质的制品。计算机程序产品可以是计算机系统可读的计算机存储介质,并且对包括使得计算机或计算系统执行一个或多个示例过程的指令的计算机程序进行编码。计算机可读存储介质是计算机可读存储设备。例如,计算机可读存储介质可以经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘、或光盘以及可比较硬件介质中的一个或多个来实现。
在整个本说明书中,术语“平台”可以是用于执行命中测试的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个计算设备上执行的应用以及可比较系统。术语“服务器”一般是指典型地在网络环境中执行一个或多个软件程序的计算设备。然而,也可以将服务器实现为在网络上被视为服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。下文提供了关于这些技术和示例操作的更多细节。
图1包括可以执行命中测试的示例网络环境。如图100所示,一个或多个用户(108、114以及120)可以通过基于云的网络130来访问诸如文字处理、电子表格和/或演示应用的应用102。在一些示例中,应用102可以包括一个或多个SCL 104,其中SCL 104是这样的应用层:其中可以响应于用户动作与SCL 104中的一个或多个像素相交而立即做出关于启用通过应用102直接操纵对象的决定。针对每个SCL 104,可以定义一种或多种类型的直接操纵,并且还可以针对每种类型的直接操纵来定义是否由SCL启用直接操纵。应用102所包括的SCL 104的数量可以取决于应用102的类型。例如,与文字处理应用相比,演示应用可以包括更少数量的SCL 104。
可以将应用102托管在远程服务器处,并且可以在基于云的网络130上通过用户的客户端设备来访问应用102。例如,服务器可以被配置为执行应用102并使得与应用102相关联的用户界面106通过用户的客户端设备来呈现。应用102的本地版本也可以本地托管在用户的客户端设备处,并且可以通过基于云的网络130来检索与本地应用102相关联的数据。一些示例客户端设备可以包括台式计算机122、膝上型计算机110、智能电话、车载电话、移动电话、平板电脑116和/或家庭自动化设备。例如,第一用户108可以在基于云的网络130上通过膝上型计算机110来访问应用102,并利用触摸输入112与用户界面106进行交互。第二用户114可以在基于云的网络130上通过平板电脑116来访问应用102,并利用触控笔输入118与用户界面106进行交互。第三用户120可以在基于云的网络130上通过台式计算机122来访问应用102,并利用诸如鼠标124的传统输入与用户界面106进行交互。例如,其它输入方法可以包括手势输入和/或键盘输入。
示例应用102可以被配置为通过用户界面106来检测用户动作。用户动作可以包括触摸输入112、触控笔输入118、鼠标124输入和/或诸如陀螺仪输入、眼睛跟踪以及可比较输入的其它输入。例如,第一用户108的触摸输入112可以包括与在用户界面106上显示的应用102的对象(例如,控制元素、文本元素或图形元素)相关联的点击动作或滑动动作。
如果应用102包括至少一个SCL 104,则应用102的SCL处理模块可以被配置为,响应于检测到的用户动作来执行SCL 104的从前到后处理。应用102的SCL处理模块可以被配置为,基于在用户界面上邻近用户动作的区域的纹理(texture)内容来确定是否执行从前到后处理。例如,如果在用户界面上邻近用户动作的区域中显示应用的一个或多个对象(其可以包括与用户动作相关联的对象,以及一个或多个其它对象),则与对象相对应的纹理内容可以指示SCL处理模块来执行从前到后处理。相反,如果在用户界面上邻近用户动作的区域中未显示对象,则缺少纹理内容可能会指示SCL处理模块不要执行从前到后处理,因为用户动作可能不是预期的并且并非需要做出响应。响应于在从前到后处理期间检测到用户动作与SCL 104的一个或多个像素相交,命中可以得到识别。像素可以是对应于与用户动作相关联的对象的不透明像素,其中对象的至少一部分位于用户界面106上邻近用户动作的区域中。
然后应用102可以被配置为,响应于命中而确定是否由SCL 104启用了通过应用102直接操纵对象。如果SCL 104启用了通过应用102直接操纵对象,则可以自动地发起通过应用102直接操纵对象。如果SCL 104未启用通过应用102直接操纵对象,则可以禁用通过应用102直接操纵对象。如先前所讨论的,SCL 104是这样的应用102的层:其中可以立即做出关于启用通过应用102直接操纵对象的决定。针对每个SCL 104,可以定义一种或多种类型的直接操纵,并且还可以针对每种类型的直接操纵来定义由SCL 104启用还是禁用直接操纵。可以基于对象相对于用户动作的行为来确定直接操纵的类型,并且直接操纵的类型可以包括对对象进行平移、缩放以及选择,以及其它示例。例如,如果第一用户108通过触摸输入112对演示应用的文档幻灯片上的图片执行点击动作,则直接操纵的类型可以包括通过缩放来放大图片。
对SCL 104的立即决策能力与命中测试执行进行合并,可以提供增强当前命中测试技术的响应于用户动作而确定启用的快速、高效的方式。例如,该合并防止对于附加处理步骤的当前需要,并且因此防止对于用于确定启用直接操纵的另外的处理软件和/或硬件的需求,这可以减少总体操作时间和成本。
已经使用特定的服务器、客户端设备、应用以及交互对图1中的示例系统进行了描述。实施例不限于根据该示例配置的系统。可以以采用较少组件或附加组件以及执行其它任务的配置来实现用于执行命中测试以确定启用直接操纵的平台。此外,可以使用本文所描述的原理以类似的方式来实现用于执行命中测试以确定启用直接操纵的平台。
图2示出了与被配置为执行命中测试的应用相关联的示例用户界面。如图200所示,用户可以通过诸如平板电脑202的客户端设备来访问诸如演示应用的应用。应用可以包括一个或多个SCL,并且在应用执行时,可以通过平板电脑202来呈现与应用相关联的用户界面204。
应用可以通过用户界面204来检测用户动作,其中可以通过触摸输入206来执行用户动作,并且用户动作可以包括与在用户界面204上显示的应用的对象(例如,图形208)相关联的点击动作。应用的SCL处理模块可以被配置为响应于检测到用户动作而执行至少一个SCL的从前到后处理。SCL处理模块可以基于在用户界面204上邻近用户动作的区域的纹理内容来确定是否执行从前到后处理。例如,在用户界面204上邻近点击动作的区域的纹理内容可以指示应用的一个或多个对象(例如,图形208或文本内容210)是邻近的,并且因此应当执行从前到后处理。在另一个示例中,如果用户动作是不显示任何类型的内容的、通过在用户界面204上的区域中的触摸输入而执行的滑动动作,则纹理内容可以指示没有对象是邻近的,并且因此由于用户动作可能不是预期的并且因此并非需要做出响应,所以不应当执行从前到后处理。
响应于检测到用户动作与SCL的一个或多个像素相交,命中可以得到识别。像素可以是对应于由用户点击的图形208的非透明像素。继而应用可以被配置为响应于命中而确定是否由SCL启用了通过应用直接操纵对象,例如,其中直接操纵可以包括选择图形208来执行复制和粘贴功能。如果SCL启用了通过应用直接操纵对象,则可以自动地发起通过应用直接操纵对象。如果SCL未启用通过应用直接操纵对象,则可以禁用通过应用直接操纵对象。
图3示出了执行命中测试以响应于用户动作而确定启用一个或多个直接操纵的示例过程。用户可以通过客户端设备来访问诸如文字处理、电子表格和/或演示应用的应用,并且在执行应用时,可以通过客户端设备的显示器来呈现与应用相关联的用户界面以启用与应用的用户交互。在一些示例中,应用可以包括一个或多个SCL,其中SCL的数量取决于应用的类型。每个SCL都是其中可以响应于用户动作而立即做出关于启用通过应用直接操纵对象的决定的应用层。
如图300所示,响应于通过与应用相关联的用户界面检测到用户动作,应用的SCL处理模块可以确定应用是否包括至少一个SCL 302。如果应用不包括至少一个SCL 304,则不能识别到命中306。如果应用确实包括至少一个SCL 308,则应用的SCL处理模块可以被配置为响应于检测到用户动作而对每个SCL执行从前到后处理310。SCL处理模块可以基于用户界面上邻近用户动作的区域的纹理内容来确定是否执行从前到后处理。SCL处理模块可以通过在从前到后处理期间确定用户动作与检测到的至少一个SCL的一个或多个像素是否相交,来识别是否存在任何命中312。如果没有识别到命中314,则SCL处理模块可以继续对其它SCL(即,如果应用包括多于一个SCL)进行处理,并且一旦对每个SCL进行了处理并且没有命中得到识别306,就可以完成对SCL的处理316。
如果有命中得到识别318,则应用可以确定SCL是否启用了通过应用直接操纵对象320。例如,可以针对每个SCL定义一种或多种类型的直接操纵,并且还可以针对每种类型的直接操纵来定义由SCL启用还是禁用直接操纵。如果SCL启用了通过应用直接操纵对象322,则可以自动地发起直接操纵324,并且过程可以结束330。如果SCL未启用通过应用直接操纵对象326,则可以禁用直接操纵328,并且过程可以结束330。
已经使用用于执行命中测试以确定启用一个或多个直接操纵的特定的网络环境、配置、设备以及过程描述了图1至图3中的示例。用于执行命中测试的实施例不限于根据这些示例的特定的网络环境、配置、设备以及过程。
应用的一个或多个SCL响应于用户动作而做出关于启用或禁用直接操纵对象的立即决定的能力可以有利地减少处理器的负载,而同时提高关于更快地响应用户动作的可用性。
图4和相关联的讨论旨在提供通用计算设备的简要的一般描述,该通用计算设备可以用于执行命中测试以响应于用户动作而确定启用一个或多个直接操纵。
例如,计算设备400可以用作服务器、台式计算机、便携式计算机、智能电话、专用计算机或类似设备。在示例基本配置402中,计算设备400可以包括一个或多个处理器404和系统存储器406。存储器总线408可以用于处理器404和系统存储器406之间的通信。在图4中通过内部虚线内的那些组件示出了基本配置402。
取决于期望的配置,处理器404可以是任何类型的,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP),或者其任何组合。处理器404可以包括一个或多个级别的高速缓存,例如,级别高速缓冲存储器412、一个或多个处理器内核414以及寄存器416。示例处理器内核414可以(各自)包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理内核(DSP Core),或者其任何组合。示例存储器控制器418也可以与处理器404一起使用,或者在一些实现中,存储器控制器418可以是处理器404的内部部件。
取决于期望的配置,系统存储器406可以是任何类型的,包括但不限于易失性存储器(例如,RAM)、非易失性存储器(例如ROM、闪存等),或者其任何组合。系统存储器406可以包括操作系统420、应用422以及程序数据424。应用422可以包括一个或多个SCL,以及SCL处理模块426,SCL处理模块426可以是应用的组成部分或者本身是单独的应用。应用422的执行可以使得呈现相关联的用户界面。响应于通过用户界面检测到用户动作,可以确定应用是否包括至少一个SCL。SCL处理模块426可以执行应用的至少一个SCL的从前到后处理,以检测用户动作与至少一个SCL的一个或多个像素的相交,这可以对命中进行识别。可以响应于命中而确定是否由至少一个SCL启用了通过应用直接操纵对象,并且如果至少一个SCL启用了通过应用直接操纵对象,则可以自动地发起通过应用直接操纵对象。可替代地,如果至少一个SCL未启用通过应用直接操纵对象,则可以禁用通过应用直接操纵对象。如本文所描述的,除了其它数据,程序数据424可以包括与基于SCL启用直接操纵和直接操纵类型定义有关的进程数据428。
计算设备400可以具有附加特征或功能,以及用于促进基本配置402与任何期望的设备和接口之间的通信的附加接口。例如,总线/接口控制器430可以用于促进基本配置402与一个或多个数据存储设备432之间经由存储接口总线434的通信。数据存储设备432可以是一个或多个可移动存储设备436、一个或多个不可移动存储设备438,或者其组合。举例来说,可移动存储设备和不可移动存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备、诸如压缩盘(CD)驱动器或数字通用盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)以及磁带驱动器(仅列出一些)。示例计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。
系统存储器406、可移动存储设备436以及不可移动存储设备438是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字通用盘(DVD)、固态驱动器或其它光学存储器,磁带盒、磁带、磁盘存储器或其它磁存储设备,或者可以用于存储所期望的信息并且可以由计算设备400访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备400的一部分。
计算设备400还可以包括接口总线440,其用于促进经由总线/接口控制器430从各种接口设备(例如,一个或多个输出设备442、一个或多个外围接口444以及一个或多个通信设备446)到基本配置402的通信。示例性输出设备442中的一些包括图形处理单元448和音频处理单元450,图形处理单元448和音频处理单元450可以被配置为经由一个或多个A/V端口452与诸如显示器或扬声器的各种外部设备通信。一个或多个示例外围接口444可以包括串行接口控制器454或并行接口控制器456,串行接口控制器454和并行接口控制器456可以被配置为经由一个或多个I/O端口458与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其它外围设备(例如,打印机、扫描仪等)的外部设备通信。示例通信设备446包括网络控制器460,网络控制器460可以被设置为促进通过网络通信链路经由一个或多个通信端口464与一个或多个其它计算设备462通信。一个或多个其它计算设备462可以包括服务器、客户端设备以及可比较设备。
网络通信链路可以是通信介质的一个示例。典型地,通信介质可以由诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据来实现,并且通信介质可以包括任何信息传递介质。“已调制数据信号”可以是以对信号中的信息进行编码的方式而使得其特征中的一个或多个特征被设定或改变的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(RF)、微波、红外(IR)以及其它无线介质的无线介质。本文所使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备400可以被实现为通用服务器或专用服务器、主机或包括任何上述功能的类似计算机的一部分。计算设备400还可以被实现为包括膝上型计算机配置和非膝上型计算机配置二者的个人计算机。
示例实施例还可以包括执行命中测试以确定启用一个或多个直接操纵的方法。可以以任何数量的包括本文所描述的结构的方式来实现这些方法。一种这样的方式可以是本公开所描述的类型的设备的机器操作。另一种可选方式可以是与执行操作中的一些操作的一个或多个操作人员协力来执行该方法的一个或多个单独操作,而其它操作可以由机器来执行。这些操作人员并非必须彼此搭配,但每个操作人员只能使用执行程序的一部分的机器。在其它实施例中,人员交互可以是自动化的,例如可以通过机器自动操作的预先选择的标准。
图5示出了根据实施例的用于执行命中测试以响应于用户动作而确定启用一个或多个直接操纵的方法的过程500的逻辑流程图。可以在服务器或其它系统上实现过程500。
过程500从操作510开始,其中应用可以被配置为通过与应用相关联的用户界面来检测用户动作。例如,用户动作可以包括触摸输入(包括点击和滑动动作)、手势输入、笔输入、鼠标输入和/或键盘输入。如果应用包括至少一个SCL,则应用的SCL处理模块可以被配置为对每个SCL执行从前到后处理。
在操作520处,响应于在从前到后处理期间检测到用户动作与SCL的一个或多个像素相交,命中可以得到识别。像素可以是对应于与用户动作相关联的对象的非透明像素,例如,在用户界面上显示的应用的控制元素、文本元素和/或图形元素。对象的至少一部分(如果不是全部)可以位于用户界面上邻近用户动作的区域中。
继而,在操作530处,应用可以被配置为响应于命中而确定是否由SCL启用了通过应用直接操纵对象。SCL是其中可以立即做出关于启用通过应用直接操纵对象的决定的应用层。针对每个SCL,可以定义一种或多种类型的直接操纵,并且还可以针对每种类型的直接操纵来定义由SCL启用还是禁用直接操纵。可以基于对象相对于用户动作的行为来确定直接操纵的类型,并且直接操纵的类型可以包括对对象进行平移、缩放以及选择,以及其它示例。
在操作540处,如果SCL启用了通过应用直接操纵对象,则可以自动地发起通过应用直接操纵对象。可替代地,如果SCL未启用通过应用直接操纵对象,则可以禁用通过应用直接操纵对象。
过程500中所包括的操作是出于说明的目的。可以使用具有较少或附加步骤的类似过程以及使用本文所描述的原理以不同的操作顺序,来实现用于响应于用户动作而确定启用直接操纵的命中测试的执行。
根据一些实施例,提供了执行命中测试的方法。该方法可以包括用于通过与应用相关联的用户界面来检测用户动作的模块,用于响应于检测到用户动作与应用的至少一个SCL的一个或多个像素相交而对命中进行识别的模块,用于响应于命中而确定是否由至少一个SCL启用了通过应用直接操纵对象的模块,以及用于如果由至少一个SCL启用了通过应用直接操纵对象则自动地发起通过应用直接操纵对象的模块。
根据一些示例,提供了执行命中测试的方法。示例方法可以包括通过与应用相关联的用户界面来检测用户动作,以及响应于检测到用户动作与应用的至少一个SCL的一个或多个像素相交而对命中进行识别。示例方法还可以包括响应于命中而确定是否由至少一个SCL启用了通过应用直接操纵对象,以及如果由至少一个SCL启用了通过应用直接操纵对象则自动地发起通过应用直接操纵对象。
在其它示例中,如果至少一个SCL未启用通过应用直接操纵对象,则可以禁用直接操纵。响应于通过与应用相关联的用户界面检测到用户动作,可以确定应用是否包括至少一个SCL。可以在应用的SCL处理模块处执行应用的至少一个SCL的从前到后处理,以检测用户动作与至少一个SCL的一个或多个像素的相交。可以基于在用户界面上邻近用户动作的区域的纹理内容来确定是否执行从前到后处理。
在另外的示例中,可以针对每个SCL定义一种或多种类型的直接操纵。针对每种类型的直接操纵,可以定义响应于命中由SCL启用还是禁用直接操纵。用户动作可以包括触摸输入、手势输入、鼠标输入、笔输入、眼睛跟踪输入、语音命令输入、陀螺仪输入和/或键盘输入。
根据其它示例,可以描述用于执行命中测试的计算设备。示例计算设备可以包括被配置为存储指令的存储器和耦合到存储器的处理器,该处理器执行包括一个或多个SCL的应用并使得与应用相关联的用户界面得到呈现。应用可以被配置为通过与应用相关联的用户界面来检测用户动作,并且响应于检测到用户动作与SCL中的至少一个SCL的一个或多个像素相交而对命中进行识别。应用还可以被配置为响应于命中而确定是否由至少一个SCL启用了通过应用直接操纵对象,以及如果至少一个SCL启用了通过应用直接操纵对象则自动地发起通过应用直接操纵对象。
在其它实施例中,至少一个SCL的一个或多个像素可以是不透明的。至少一个SCL的一个或多个像素可以对应于在与应用相关联的用户界面上显示的对象。对象的至少一部分可以位于用户界面上邻近用户动作的区域中。可以基于对象相对于用户动作的行为来确定直接操纵的类型,其中直接操纵的类型包括平移、缩放和/或选择。
在另外的实施例中,SCL的数量可以取决于应用的类型,其中应用是文字处理应用、电子表格应用以及演示应用中的一个或多个。在客户端设备处执行应用时可以通过客户端设备的显示器将与应用相关联的用户界面呈现给用户。
根据一些示例,可以描述其上存储有用于执行命中测试的指令的计算机可读存储器设备。示例指令可以包括通过应用的用户界面来检测用户动作,以及响应于检测到用户动作与至少一个SCL的一个或多个像素相交而对命中进行识别。示例指令还可以包括响应于命中而确定是否由至少一个SCL启用了通过应用直接操纵对象,以及如果至少一个SCL启用了通过应用直接操纵对象,则自动地发起通过应用直接操纵对象,或者如果至少一个SCL未启用通过应用直接操纵对象,则禁用直接操纵。
在其它示例中,可以针对每个SCL定义一种或多种类型的直接操纵。针对每种类型的直接操纵,可以定义响应于命中由SCL启用还是禁用直接操纵。
上文的说明书、示例以及数据提供了制造和使用实施例的组成的完整描述。虽然已经以特定于结构特征和/或方法动作的语言对主题进行了描述,但是应当理解,所附权利要求中限定的主题不一定限于上文所述的具体特征或动作。相反,上文所描述的具体特征和动作作为实现权利要求和实施例的示例形式而公开。

Claims (15)

1.一种用于执行命中测试的方法,所述方法包括:
通过与应用相关联的用户界面来检测用户动作;
响应于检测到所述用户动作与所述应用的至少一个特殊内容层(SCL)的一个或多个像素相交,对命中进行识别;
响应于所述命中而确定是否由所述至少一个SCL启用了通过所述应用直接操纵对象;以及
如果所述至少一个SCL启用了通过所述应用直接操纵对象,则自动地发起通过所述应用直接操纵所述对象。
2.根据权利要求1所述的方法,还包括:
如果所述至少一个SCL未启用通过所述应用直接操纵所述对象,则禁用所述直接操纵。
3.根据权利要求1所述的方法,还包括:
响应于通过与所述应用相关联的所述用户界面检测到所述用户动作,确定所述应用是否包括所述至少一个SCL。
4.根据权利要求1所述的方法,还包括:
在所述应用的SCL处理模块处执行对所述应用的所述至少一个SCL的从前到后处理,以检测所述用户动作与至少一个SCL的所述一个或多个像素的相交。
5.根据权利要求4所述的方法,还包括:
基于所述用户界面上邻近所述用户动作的区域的纹理内容来确定是否执行所述从前到后处理。
6.根据权利要求1所述的方法,其中,所述用户动作包括以下中的一个或多个:触摸输入、手势输入、鼠标输入、笔输入、眼睛跟踪输入、语音命令输入、陀螺仪输入和/或键盘输入。
7.一种用于执行命中测试的计算设备,所述计算设备包括:
被配置为存储指令的存储器;以及
耦合到所述存储器的处理器,所述处理器执行包括一个或多个特殊内容层(SCL)的应用,并使得与所述应用相关联的用户界面得到呈现,其中所述应用被配置为:
通过与所述应用相关联的所述用户界面来检测用户动作;
响应于检测到所述用户动作与所述SCL中的至少一个SCL的一个或多个像素相交,对命中进行识别;
响应于所述命中而确定是否由所述至少一个SCL启用了通过所述应用直接操纵对象;以及
如果所述至少一个SCL启用了通过所述应用直接操纵所述对象,则自动地发起通过所述应用直接操纵所述对象。
8.根据权利要求7所述的计算设备,其中,所述至少一个SCL的所述一个或多个像素对应于在与所述应用相关联的所述用户界面上显示的所述对象。
9.根据权利要求8所述的计算设备,其中,所述对象的至少一部分位于所述用户界面上邻近所述用户动作的区域中。
10.根据权利要求8所述的计算设备,其中,所述直接操纵的类型是基于所述对象相对于所述用户动作的行为来确定的,并且所述直接操纵的类型包括平移、缩放以及选择中的一个。
11.根据权利要求7所述的计算设备,其中,所述SCL的数量取决于所述应用的类型。
12.根据权利要求7所述的计算设备,其中,与所述应用相关联的所述用户界面是在客户端设备处执行所述应用时通过所述客户端设备的显示器来向用户呈现的。
13.一种计算机可读存储器设备,其上存储有用于执行命中测试的指令,所述指令包括:
通过应用的用户界面来检测用户动作;
响应于检测到所述用户动作与至少一个特殊内容层(SCL)的一个或多个像素相交,对命中进行识别;
响应于所述命中而确定是否由所述至少一个SCL启用了通过所述应用直接操纵对象;以及
如果所述至少一个SCL启用了通过所述应用直接操纵所述对象,则自动地发起通过所述应用直接操纵所述对象;或者
如果所述至少一个SCL未启用通过所述应用直接操纵所述对象,则禁用所述直接操纵。
14.根据权利要求13所述的计算机可读存储器设备,其中,所述指令还包括:
针对每个SCL定义一种或多种类型的直接操纵。
15.根据权利要求14所述的计算机可读存储器设备,其中,所述指令还包括:
针对每种类型的直接操纵来定义响应于所述命中由所述SCL启用还是禁用所述直接操纵。
CN201580057305.9A 2014-10-22 2015-10-15 响应于用户动作而确定启用直接操纵的命中测试 Active CN107077272B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/521,368 2014-10-22
US14/521,368 US20160117080A1 (en) 2014-10-22 2014-10-22 Hit-test to determine enablement of direct manipulations in response to user actions
PCT/US2015/055618 WO2016064642A1 (en) 2014-10-22 2015-10-15 Hit-test to determine enablement of direct manipulations in response to user actions

Publications (2)

Publication Number Publication Date
CN107077272A true CN107077272A (zh) 2017-08-18
CN107077272B CN107077272B (zh) 2020-12-01

Family

ID=54365383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580057305.9A Active CN107077272B (zh) 2014-10-22 2015-10-15 响应于用户动作而确定启用直接操纵的命中测试

Country Status (11)

Country Link
US (1) US20160117080A1 (zh)
EP (1) EP3210101B1 (zh)
JP (1) JP6662861B2 (zh)
KR (1) KR20170072281A (zh)
CN (1) CN107077272B (zh)
AU (1) AU2015336277B2 (zh)
BR (1) BR112017005798A2 (zh)
CA (1) CA2964471A1 (zh)
MX (1) MX2017005193A (zh)
RU (1) RU2705437C2 (zh)
WO (1) WO2016064642A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11262897B2 (en) * 2015-06-12 2022-03-01 Nureva Inc. Method and apparatus for managing and organizing objects in a virtual repository
US10163184B2 (en) 2016-08-17 2018-12-25 Adobe Systems Incorporated Graphics performance for complex user interfaces

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100383A1 (en) * 2007-10-16 2009-04-16 Microsoft Corporation Predictive gesturing in graphical user interface
CN102135858A (zh) * 2010-01-26 2011-07-27 苹果公司 具有用于控制和修改手势识别的代表的手势识别器
US20140013160A1 (en) * 2012-07-09 2014-01-09 Microsoft Corporation Independent Hit Testing
US20140019844A1 (en) * 2012-07-13 2014-01-16 Microsoft Corporation Declarative Style Rules for Default Touch Behaviors
WO2014055942A1 (en) * 2012-10-05 2014-04-10 Tactual Labs Co. Hybrid systems and methods for low-latency user input processing and feedback

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737554A (en) * 1995-10-31 1998-04-07 Apple Computer, Inc. System and method of using object sensitivity for selecting computer-generated objects
US6049325A (en) * 1997-05-27 2000-04-11 Hewlett-Packard Company System and method for efficient hit-testing in a computer-based system
US6369830B1 (en) * 1999-05-10 2002-04-09 Apple Computer, Inc. Rendering translucent layers in a display system
US6795089B2 (en) * 2000-12-20 2004-09-21 Microsoft Corporation Dynamic, live surface and model elements for visualization and modeling
US20030002729A1 (en) * 2001-06-14 2003-01-02 Wittenbrink Craig M. System for processing overlapping data
US7137077B2 (en) * 2002-07-30 2006-11-14 Microsoft Corporation Freeform encounter selection tool
US7262785B2 (en) * 2003-08-21 2007-08-28 Microsoft Corporation Ink editing architecture
GB0502891D0 (en) * 2005-02-12 2005-03-16 Next Device Ltd User interfaces
US20080011819A1 (en) * 2006-07-11 2008-01-17 Microsoft Corporation Microsoft Patent Group Verification of hit testing
US20090327965A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Selection of items in a virtualized view
WO2011061603A1 (en) * 2009-11-20 2011-05-26 Nokia Corporation Methods and apparatuses for generating and utilizing haptic style sheets
US8589950B2 (en) * 2011-01-05 2013-11-19 Blackberry Limited Processing user input events in a web browser
US20120185787A1 (en) * 2011-01-13 2012-07-19 Microsoft Corporation User interface interaction behavior based on insertion point
US20130125066A1 (en) * 2011-11-14 2013-05-16 Microsoft Corporation Adaptive Area Cursor
CA2763328C (en) * 2012-01-06 2015-09-22 Microsoft Corporation Supporting different event models using a single input source
US9286081B2 (en) * 2012-06-12 2016-03-15 Apple Inc. Input device event processing
US9383885B2 (en) * 2012-06-13 2016-07-05 Microsoft Technology Licensing, Llc Hit testing curve-based shapes using polygons
CN103577322B (zh) * 2012-08-08 2015-08-12 腾讯科技(深圳)有限公司 一种点击测试方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100383A1 (en) * 2007-10-16 2009-04-16 Microsoft Corporation Predictive gesturing in graphical user interface
CN102135858A (zh) * 2010-01-26 2011-07-27 苹果公司 具有用于控制和修改手势识别的代表的手势识别器
US20140013160A1 (en) * 2012-07-09 2014-01-09 Microsoft Corporation Independent Hit Testing
US20140019844A1 (en) * 2012-07-13 2014-01-16 Microsoft Corporation Declarative Style Rules for Default Touch Behaviors
WO2014055942A1 (en) * 2012-10-05 2014-04-10 Tactual Labs Co. Hybrid systems and methods for low-latency user input processing and feedback

Also Published As

Publication number Publication date
JP6662861B2 (ja) 2020-03-11
KR20170072281A (ko) 2017-06-26
CN107077272B (zh) 2020-12-01
MX2017005193A (es) 2017-07-27
EP3210101B1 (en) 2018-11-28
CA2964471A1 (en) 2016-04-28
AU2015336277A1 (en) 2017-04-13
AU2015336277B2 (en) 2020-06-18
RU2017113771A3 (zh) 2019-04-25
JP2017533501A (ja) 2017-11-09
US20160117080A1 (en) 2016-04-28
BR112017005798A2 (pt) 2017-12-12
WO2016064642A1 (en) 2016-04-28
RU2705437C2 (ru) 2019-11-07
EP3210101A1 (en) 2017-08-30
RU2017113771A (ru) 2018-10-23

Similar Documents

Publication Publication Date Title
TWI545448B (zh) 可拖曳式標籤
US20190196656A1 (en) Management of a touchscreen interface of a device
CN105190644A (zh) 用于使用触摸控制的基于图像的搜索的技术
US9632693B2 (en) Translation of touch input into local input based on a translation profile for an application
US9921797B2 (en) Displaying user activity in real-time collaborative editing systems
CN106575290A (zh) 在基于表单的视图中呈现电子表格的数据集
US10831331B2 (en) Window control for simultaneously running applications
WO2017032078A1 (zh) 一种界面控制方法及移动终端
CN106575300A (zh) 用于识别文档中的对象的基于图像的搜索
JP2016517111A (ja) ワークスペースを表示するための複数のディスプレイ
US20190095079A1 (en) Method for enabling interaction using fingerprint on display and electronic device thereof
US20160283083A1 (en) Intelligent interactive screen capture
CN107797750A (zh) 一种屏幕内容识别处理方法、装置、终端和介质
US20230012805A1 (en) Image template-based ar form experiences
CN106445344A (zh) 一种截图处理方法及装置
CN107506200A (zh) 一种屏幕内容切换方法、终端及计算机可读存储介质
US20140215376A1 (en) Smart interactive bookmarks
CN107077272A (zh) 响应于用户动作而确定启用直接操纵的命中测试
US20180181262A1 (en) Grid-based rendering of nodes and relationships between nodes
US20170168686A1 (en) Method and electronic device for processing list item operation
CN107924574A (zh) 针对分组对象的智能翻转操作
EP3612921A1 (en) Enhanced inking capabilities for content creation applications
CN107515720A (zh) 一种消息处理方法、介质、装置和计算设备
US20170160905A1 (en) Selecting areas of content on a touch screen
CN108351888A (zh) 生成可推迟数据流

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant