自由抹移器转让专利

申请号 : CN200680042067.5

文献号 : CN101305363B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·J·西蒙斯B·巴拉比

申请人 : 微软公司

摘要 :

自由抹移器工具可被用来选择和移动电子文档中的文档对象。为了将自由抹移选择从自由绳索选择中区别出来,通过分析自由选择的形状来确定自由抹移选择。一旦确定,位于文档上的希望方向上的文档对象被选择。尽管所选对象的移动可能受限,但可以移动所选对象组以便沿仅一个运动角度抹移或移动它们。可使用指示笔和平板计算机作出选择的输入,并且文档对象可包括电子墨水。

权利要求 :

1.一种用于在电子文档中允许自由抹移器的计算机实现的方法,所述方法包括:接收一自由选择路径;

通过分析正切于所述自由选择路径的结束点的射线是否交叉,来确定所述自由选择路径是希望是自由抹移器还是希望是自由绳索,如果所述射线交叉,则确定所述自由选择路径希望是自由抹移器;

在上、下、左、右、左上、右上、左下和右下的八个方向中确定与所述自由选择路径相关联的希望方向;以及选择所述电子文档上的文档对象,所述对象位于与所述自由选择路径有关的所述希望方向上。

2.如权利要求1所述的计算机实现的方法,其特征在于,所述自由选择路径通过使用触敏显示器来接收。

3.如权利要求1所述的计算机实现的方法,其特征在于,所述文档对象包括电子墨水。

4.如权利要求1所述的计算机实现的方法,其特征在于,确定所述自由选择路径的希望方向包括:分析所述自由选择路径来确定希望方向。

5.如权利要求4所述的计算机实现的方法,其特征在于,分析所述自由选择路径来确定希望方向包括:确定连接所述自由选择路径的两端的线段;

测量所述线段与一参考线段之间的角度差;以及将所述角度差与多个范围作比较,其中每个范围与所述自由选择路径的可能方向相关联。

6.如权利要求4所述的计算机实现的方法,其特征在于,分析所述自由选择路径来确定希望方向包括:在上、下、左、右的四个方向中确定与所述自由选择路径的起始点相关联的第一射线;

在同样的所述四个方向中确定与所述自由选择路径的结束点相关联的第二射线;以及将所述希望方向确定为落入所述第一和第二射线之间。

7.如权利要求4所述的计算机实现的方法,其特征在于,分析所述自由选择路径包括分析所述自由选择路径相对于所述自由选择路径的结束点的曲率。

8.一种用于选择和抹移电子文档上的文档对象的系统,所述系统包括:用于接收自由选择路径的输入设备;

用于显示所述电子文档的显示器;

存储可执行指令的存储器;以及

被配置成执行所述可执行指令的处理器,所述处理器执行以下步骤:从所述输入设备中接收所述自由选择路径;

通过分析正切于所述自由选择路径的结束点的射线是否交叉,来确定所述自由选择路径是希望是自由抹移器还是希望是自由绳索,如果所述射线交叉,则确定所述自由选择路径希望是自由抹移器;

确定与所述自由选择路径相关联的朝向;

确定与所述自由选择路径相关联的希望方向;以及选择位于与所述自由选择路径有关的希望方向上的文档对象。

9.如权利要求8所述的系统,其特征在于,所述处理器还被配置成执行以下步骤:接收一移动输入;以及

根据所述移动输入移动所选文档对象。

10.如权利要求9所述的系统,其特征在于,所述输入设备以及所述显示器是集成在一起的,使得针对所述显示器的输入被所述输入设备感应。

11.如权利要求10所述的系统,其特征在于,接收所述自由选择路径包括接收指示笔在所述集成的输入设备显示器上的一个或多个笔画。

12.如权利要求11所述的系统,其特征在于,接收移动输入包括接收指示笔在所述集成的输入设备显示器上的一个或多个笔画。

13.如权利要求9所述的系统,其特征在于,根据所述移动输入移动所选文档对象包括沿单个运动角度移动所述对象。

14.如权利要求8所述的系统,其特征在于,确定与所述自由选择路径相关联的希望方向包括在上、下、左、右的至少四个方向中确定所述希望方向。

15.如权利要求8所述的系统,其特征在于,所述处理器还被配置成执行以下步骤:接收表示将要输入一个自由选择路径的选择命令。

16.一种用于选择和移动电子文档上的一组对象的计算机实现的方法,所述方法包括:接收一表示将要输入一个自由选择路径的选择命令;

接收一自由选择路径作为显示器上的输入,其中所述显示器显示所述电子文档的至少一部分;

通过分析正切于所述自由选择路径的结束点的射线是否交叉,来确定所述自由选择路径是希望是自由抹移器还是希望是自由绳索,如果所述射线交叉,则确定所述自由选择路径希望是自由抹移器;

在上、下、左、右、左上、右上、左下和右下的八个方向中确定所述自由抹移器的希望方向;

选择所述电子文档上的文档对象,所述对象位于与所述自由选择路径有关的所述希望方向上;

接收一移动输入;以及

根据所述移动输入移动所选文档对象。

说明书 :

背景

不管是文字处理、做笔记、幻灯片演示、还是图形编辑,几乎每个计算机用户曾经编辑过文档。尽管一开始是纯粹地基于文本的,但是用于编辑文档的软件应用程序从图形操作系统的到来获益非浅。这种操作系统的交互式“所见即所得”(WYSIWYG)界面以及其它增强使得软件应用程序对于一般用户来说变得更平易近人并且更直观。

特别是,电子墨水界面增强了与编辑文档相关联的常见任务的功能。用户得益于与计算机显示器直接交互的能力,即用户可以使用指示笔、手指、或其它实现来方便地手写、画图、以及以其它方式操控文档对象。尽管类似于使用鼠标的“点和击”(point-and-click)范型,但电子墨水仍使得许多文档编辑任务甚至更简单,一个主要的例子就是手写。

事实上,与“点和击”鼠标或跟踪球相关联的每个文档编辑任务已被指示笔和电子墨水的使用而重复。这样,用户不仅可以使用指示笔和常规的编辑工具来选择以及操控对象,还可创建文档以及绘图。然而,电子墨水可实现编辑文档的新范型。这样的范型可允许甚至更快并且更有效的文档编辑,使得用户能够例如在一页面上垂直或水平地选择并移动若干对象。

在此之前,已描述过抹移器(wiper)工具条。这样的工具可允许文档中的对象被在一页面上上移或下移,从而适当地扩展了页边距。通过设置插入点以及用信号表示抹移来调用抹移器工具。尽管抹移器工具条对于在页面上创造空间是有用的,但它不允许无限制的抹移并且没有充分利用电子墨水的独特特征。

在本领域中,需要有一种能利用电子墨水的独特特征的新的文档编辑范型,尤其需要对文档对象的无限制选择及移动。

概述

提供了用于接收能够在文档的某些部分中选择该文档中的对象的选择输入的方法和系统。用户使用鼠标、指示笔或其它输入设备输入一自由选择路径。可分析该路径来确定是希望是自由抹移还是其它类型的选择(例如,绳索选择)。接着,分析该路径来确定选择的方向,即是在选择路径的上面、下面、左边还是右边(或其象限子集)。用户还可根据进一步输入来修改所选对象;例如,基于光标移动改变应该选择选择路径的哪一侧。

附图简述

本发明的以上简要概述以及下面的详细描述在结合附图阅读时会得到更好的理解。附图作为所请求保护的发明的示例而不是限制被包括在其中。在附图中,用相同的标号标记相同或类似的元素。

图1示出在其中可实现一个或多个实施例的示例性操作环境。

图2示出在其中可实现一个或多个实施例的示例性操作环境。

图3和图4示出根据本发明的一个或多个实施例的自由选择边界。

图5和图6示出用于确定抹移选择的朝向的一个实施例。

图7-9示出根据一个或多个实施例的正被垂直抹移选择和移动的文档对象。

图10-12示出根据一个或多个实施例的为插入新文本而用水平抹移来移动的文本。

图13-16示出根据一个或多个实施例的文档对象的集合,其中某些文档对象被抹移至右边或左边。

图17是一示出根据一个或多个实施例的用于使用自由抹移器工具的方法的流程图。

图18A-18C示出根据一个或多个实施例的正被选择路径动态选择的一系列文档对象。

图19是示出根据一个或多个实施例的用于使用两条射线来选择文档中的对象的方法的流程图。

详细描述

一种自由抹移器工具可利用电子墨水的独特特征,从而允许在电子文档上垂直或水平选择或移动对象。这导致灵活地插入了其中可移动或创建额外对象的空白空间。抹移选择在其能移动的方向上受到限制,例如,只能水平或垂直移动。通过分析指示笔在页面上的路径,可确定用户希望是抹移类型选择还是绳索类型选择。此外,可确定希望是水平抹移还是垂直抹移,并且如果是水平的,该抹移将是向左还是向右。此外,可确定抹移的方向和距离。下面提供的是自由抹移器的各种实施例的示例和描述,包括在其中实现抹移器的操作环境的示例。此外,提供的是用于实现该工具的方法的示例。

图1示出在其中实现一个或多个实施例的示例性操作环境。该操作环境可包括可独自工作或与其它计算设备118一起工作的计算设备100。计算设备100可包括耦合至处理单元102的存储器存储104。硬件、软件、和/或其它固件的任何合适组合可用于实现存储器104、处理单元102以及其它组件。作为示例,如图所示,存储器104、处理单元102以及其它组件可在计算设备100内实现,或结合其它计算设备118来实现。所示出的系统、设备以及处理器仅用作各实施例的示例。

一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,可采用包括手持设备、多处理器系统、基于微处理器或可编程的消费类电子产品、微型计算机、大型计算机、机顶盒等其它计算机系统配置来实践各实施例。各实施例还可在分布式计算环境中被实践,在该环境中,由通过通信网络链接的其它计算设备118执行任务。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者上。

例如,各实施例可实现为计算机进程或方法(例如,在硬件中或软件中)、计算系统、或实现为诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读的、并且对用于在计算设备100上执行一进程的指令的计算机程序进行编码的计算机存储介质。计算机程序产品还包括在计算系统可读的载波上的并且随后存储于计算设备100的计算机可读介质上的传播信号。

参考图1,所示的实施例可包括诸如计算设备100等计算设备。在一基本配置中,计算设备100可包括至少一个处理单元102以及存储器104。取决于计算机设备的配置,存储器104可以是易失性的(例如,随机存取存储器(RAM))、非易失性的(例如,只读存储器(ROM)、闪存,等等)、或其某一组合。存储器104可用作操作系统105、一个或多个应用程序106的存储位置,并可包括程序数据107以及其它程序。在一个实施例中,应用程序106可包括启用电子墨水的应用程序120。在华盛顿州雷德蒙市的微软公司的WINDOWS操作系统家族中可找到操作系统105的示例。

尽管基本计算设备配置被虚线框108包含,但计算设备100可包括另外的特征和功能。例如,计算设备100可包括其它数据存储组件,包括可移动存储109(例如,软盘、存储卡、光盘(CD)ROM、数字视频盘(DVD)、外置硬盘驱动器、通用串行总线(USB)密钥、等等)以及不可移动存储110(例如,磁硬盘驱动器)两者。

计算机存储介质可包括按任何方法或技术实现的用于存储信息的介质,其中该信息包括计算机可读指令、数据结构、程序模块、或其它数据。存储器104、可移动存储109和不可以动存储110均是计算机存储介质的示例。这种介质的其它示例可包括RAM、ROM、电可擦除可编程ROM(EEPROM)、闪存、CD-ROM、DVD、磁带盒、磁带、磁盘,等等。任何这样的计算机存储介质可由作为计算设备100的一部分或外置于计算设备100并通过通信链路(例如,蓝牙、USB、并行、串行、红外等)连接的组件所访问。计算设备100还可包括输入设备112,例如键盘、鼠标、笔、话筒、触摸垫、触摸显示器等。输出设备114可包括显示器、扬声器、打印机等。可采用其它形式的存储、输入以及输出设备。

计算设备100可包括允许该计算设备诸如通过网络(例如,局域网(LAN)、因特网等)与其它计算设备118通信的一个或多个通信连接116。以已调制数据信号中的计算机可读指令、数据结构、程序模块、或其它数据为形式的通信介质可通过通信连接116与设备100和被设备100共享。已调制数据信号表示将其一个或多个特性以在该信号中编码信息的方式来设置或改变的信号,并可包括已调制载波或其它传输机制。通信连接116可由允许与其它设备118通过有线(例如,以太网、USB、令牌环、调制解调器等)或无线(例如,WiFi、WiMax、蜂窝式、声学、红外、射频(RF)等)通信管道通信的硬件和/或软件组成。

图2示出在其中实现一个或多个实施例的示例性操作环境。在某些实施例中,平板计算机200可以是通用计算设备100的一种实现。平板计算机200包括敏感显示器201,它可以是触敏和/或电磁敏的。还可使用其它类型的感应显示器。平板计算机200具有安装的图形操作系统105,其采用多个窗口来显示计算机上正使用的各种软件应用程序的界面。

平板计算机200上安装的一种软件可以是一个启用电子墨水的应用程序120,窗口202可以是显示器201上的可视界面。电子墨水是一个一般用来表示与计算设备一起使用的手写输入的术语。如图2所示,可使用邻近显示器的指示笔(或其它指示实现)203来输入此输入。同样,电子墨水可使用允许自由手写输入的触摸垫、写字板、鼠标、或其它输入设备来输入。启用墨水功能的操作系统和/或应用程序应一般应能够接收、显示、以及处理该自由手写输入,然而软件翻译器可允许未启用墨水功能的软件按这种方式接收。

图2包括电子墨水输入204的一个示例,它通过使用指示笔203被输入至启用墨水功能的应用程序120并在窗口202中显示为手写体。用户能够将指示笔203压向显示器201并移动它,就好像用户在写字一样。显示器200可包括感应指示笔203的方位并数字化该位置的触敏或电磁敏层。随着该指示笔移动,提供其它数字化位置。这些位置是以水平和垂直像素值或以某些其它比例为形式的。另外,施加的压力(或端部邻近性)可被测量,并且该值可与该位置一起被存储。此外,相对或绝对时间也与该位置一起被存储。位置和/或测量值的序列可以用称作为墨水对象的数据结构来存储。此外,墨水对象可包括一系列笔画,其可包括手写输入的各个位置和测量值。

墨水对象可表示手写的文字、图、注释等。墨水处理程序模块可通过检查对象及其组成的笔画两者、可能地参考附近的文本以及墨水对象作为上下文来辨别这各种类型的墨水对象。此外,一程序模块还可识别手写文字和符号,并提供作为文本或其它可识别对象的解释。例如,手写文字“hello”(“你好”)被显示为电子墨水204的一部分。一程序模块能够识别上下文中的每个字母并提供“hello”(“你好”)的解释作为文本,该文本可用作启用墨水功能的应用程序120的额外输入。

文档的编辑经常涉及选择工具的使用,选择工具帮助用户将共同的特性应用到一组对象上,它们可以是文本、图像、墨水对象或其它。选择工具允许用户或者通过逐个指示对象(例如,在保持按住键盘上的Control键的同时点击)、通过选择具有多个对象的框(例如,拖动鼠标以创建一围绕一组对象的矩形)、或甚至通过选择包含附近对象的不规则形状的集合(例如,围绕对象拖动鼠标以创建一选择边界)来全体地选择对象。这些选择方法中的每一种在不同的编辑情形中有用。每一种都具有用于调用该工具的不同触发物(例如,Control键、选择命令、绳索图标等)。启用墨水的选择可涉及通过选择绳索图标来使用绳索工具,但是它还可通过使用以一种可能使用电磁传感器来识别的特定方式在显示器201的表面上移动指示笔所作出的动作示意来触发。

图3和图4示出根据本发明的一个或多个实施例的自由选择边界(或路径)。图3示出当“绳索”选择一对象集合时可使用的可能的选择路径。图4示出当使用抹移器工具来选择对象时可使用的可能的选择路径。尽管可通过分别的命令、按钮、图标、或动作示意来触发这两种选择方法,但使用单个命令并然后检查选择路径来判断出希望的是何种类型的选择工具以便触发自由选择是可能的。这些选择路径可以在平板显示201的表面上使用笔或者指示笔,或可能使用鼠标或其它自由手写输入设备来创建。

在生成选择路径301之前,用户可能已经通过选择某个命令、图标、按钮、菜单项等触发了一选择命令。当生成选择路径301时,用户可能已经在起始点302开始(例如,放下她的指示笔)并在结束点303完成了该笔画。同样,对于选择路径401,用户可能已触发了一个选择命令,并且之后在起始点401处开始,并在结束点403处结束该笔画。一旦完成,墨水处理模块可开始确定该选择路径是否表示一个“抹移”选择的过程。

图3和4一起示出了提供用于确定一特定选择路径是否构成“抹移”选择的方法的实施例。当然存在其它用于将抹移选择从其它类型的选择中辨别出来的方法。对于此方法,可通过分析选择路径301和401的结束点和运动方向(例如,正切射线)来完成确定。对于选择路径301,该路径从起始点302朝起始箭头304的方向移动,并且在结束点303处,该路径朝结束箭头305的方向移动。很清楚,可以看到这两个箭头不会交叉,从而得出可能的结论,即不希望一个平直的“抹移”路径,而是希望一个较圆形的“绳索”路径。对于选择路径401,起始箭头404和结束接头405确实在一个假想点406处交叉。这一箭头交叉可得出结论,即用户希望一个平直的“抹移”路径并且想执行一个抹移选择。如所述的,可采用其它确定方法来辨别抹移选择。

图5和图6一起示出了提供用于确定一特定抹移选择路径是构成垂直抹移还是水平抹移的方法的实施例。通常,抹移选择涉及自动选择在该选择的上面或下面的右边或左边的所有东西。如两图所示,用户可通过画出平直或稍弯曲的选择路径来指示抹移选择。选择路径501总体显示一水平线,明显地指示了垂直抹移。一程序模块可自动在该明显抹移的起始和结束点之间创建一线段502,并然后测量水平线504(或某一其它参考线段)到该线段的角度503。如果该角度在例如水平的加减十度内,则该程序模块可在继续之前自动确定希望的是垂直抹移。选择路径601生成类似的线段602。测量角度603认为该抹移在例如垂直(90度)的加或减十度内是较垂直的。确定了该抹移选择的角度在特定范围内允许程序模块在继续之前确定抹移的朝向。再次,应该注意,所提供的方法、测量值以及容差仅作为示例,并且可能存在确定抹移朝向的其它值和方法。

除了确定是水平还是垂直的朝向之外,分析抹移的曲率可进一步指示抹移的方向。例如,垂直抹移501是弯曲的,且其凸出部分总体指向下。在这种情况下,明显希望的是向下的抹移。朝相反方向弯曲该抹移可被确定为表示向上抹移,尽管无论曲率如何都可将所有的抹移确定为向下抹移。同样的,水平抹移601可以以一种指示向右抹移的方式弯曲。作为检查曲率的替换方式,用户可通过轻击抹移线的一侧或另一侧来指示抹移的方向。可能存在其它用于确定或接收关于欲抹移的方向的输入的方法。一旦确定了抹移的朝向和方向,在抹移区域内的对象就被选择。

图7示出根据一个或多个实施例的正被垂直抹移701所选出的一系列文档对象。在显示器上显示了一系列对象,包括电子墨水702和703、文本704和705、以及绘图708。使用指示笔、鼠标、或其它输入设备的用户在该显示画面的中间创建了一选择路径。基于该线的倾斜度,一程序模块确定用户最可能希望一个垂直抹移。此外,由于抹移的曲率,一程序模块可确定该抹移方向朝下。然后,一个抹移或者仅选择那些直接在选择路径下面的对象,或者可朝两个方向拓宽以延伸穿越该文档。此处,可以拓宽该抹移的范围,以致水平线有效地从结束点延伸至屏幕的边缘之外。此处,左延伸706高于右延伸707。或者,左或右延伸可在诸如起始点、结束点、或中间的平均等相同的水平处延伸出去。其它的替换例可以是使线不按水平方向延伸而是按与通过结束点画出的假想线相同的角度延伸。每个延伸包括显示抹移方向的箭头,尽管这基于选择了什么对象是明显的。

无论选择路径和延伸是如何生成的,在线的合适一侧上(此处,在线的下方)的对象被选择。此处,墨水对象702和文本704均被选择。如果选择路径穿越对象中的任何一个,则取决于用户或程序模块来确定是否要选择被穿越的对象。一旦选择,用户可使用他或她的输入设备来抓取并抹移所选物。这些对象只能沿单个维度移动,此处沿垂直路径。

图8示出根据一个或多个实施例的被移动之后的相同的一系列所选文档对象。此处,墨水对象702和文本704被沿文档向下抹移。在沿文档向下移动时,可平滑地移动对象或按固定间隔跳变(snap)。例如,此处的文档具有按一定间隔隔开的标尺行|809|。对象被限制为只能按与标尺线|809|相等的增量抹移。一旦被抹移,产生空白空间820。

图9示出根据一个或多个实施例的带有新插入的墨水对象910的文档对象。由抹移产生的空白空间现在可被用来插入新对象。此处,墨水对象910已被插入。

图10-12示出根据一个或多个实施例的为插入新文本而具有水平抹移的文本。在图10中,由用户创建的选择路径穿过多行文本3,4,5。然而,由于文本在段落中的流动特性(例如,一行流入下一行),只有一行应该被选择用于水平抹移。一程序模块可基于选择路径所穿过的行数作出基于经验的猜测。例如,如果穿越了两行,则在其中具有路径的最多部分的那行被选择。如果穿过多行,则选择路径的中点可被用来选择一行。一旦确定该行,则在左边或右边(取决于那是怎么确定的)的文本将被选择。

如果选择路径穿过一个字,则可采取许多动作。该字依据被穿越的字符可以一分为二,或者选择整个字。另一替换例是不选择任何被穿越的字。如果这是一个垂直的抹移,则选择路径以下或以上的所有行被选择。依据所画的线的类型,可使用其它用于确定特定文本或对象是否被选择的方法。这些方法可包括允许用户设置参数(例如,标有“选择穿越的文字和对象?”的复选框或设置)。

在图11中,用户将文本抹移至右边。再一次,由于段落的流动特性,文字从行4流动到行5。插入到行4上的空隙中的可以是可能等待将要被插入的任何对象的空格、制表符、或甚至某种类型的占位符。图12示出现在添加了额外的电子墨水手写的同一个段落。此处,新的字被写入产生的空间中,其将从外表上被识别,并用等效的文本替代。此时,取决于底层的启用墨水功能的应用程序如何选择处理该插入,任何占位或额外的空间可被去除。

图13-16示出根据一个或多个实施例的文档对象集合,其中的某些文档对象被抹移到右边或左边。图13示出刚被水平抹移1301选出的文档对象的初始分组。如箭头1310和1311所绘出的,墨水对象1302、1303和1304以及图1305、和文本1306被确定为在“抹移区”内。此处,被选择路径1301穿越的墨水对象被选择,而所穿越的文本(即,字“is”(“是”))没有被选择。这可由用户或启用墨水功能的软件的创建者来决定。穿越的图1305也被选择,即使不是全部在该区内。

图14示出在被抹移至右边后的所选对象组。特别是,应该注意,先前被选择的文本1306与原本与其相关联的文本1407分离。这可导致空间或使其它占位被插入到该文本分组中,或者它可产生两个分离的集合或文本对象。

图15现在示出对正被左水平抹移1501选择的墨水对象1302的选择。此处,没有任何文档对象被穿越,并且仅单个对象被设为水平抹移至左边。图16示出被抹移回左边之后的墨水对象1302。应该注意到,在此处示出的实施例中,依据抹移的朝向,抹移的采用对被抹移对象保持了相同的垂直或水平值。这确保了不变的放置。然而,其它实施例可允许自由抹移器工具所选择的文档对象的自由运动。

图17是根据一个或多个实施例的示出用于使用自由抹移器工具的方法的流程图。此处所示的该方法仅意在表示用于实现自由抹移器工具的一个过程。此流程图中的步骤可以被组合、略去并且可添加其它步骤。在步骤1701处,接收一选择命令。这可以是一般的选择命令或专门指定了自由抹移器选择的命令。可以用按下界面或硬件按钮的形式、指示笔示意动作、语音命令、或任何其它输入形式来接收此命令。在步骤1702处,通过指示笔、鼠标、或其它输入设备接收某些自由输入,并且在步骤1703处,确定自由选择的类型。如果确定希望用自由抹移器(而不是绳索选择或其它类型的选择),则该方法继续至判决1704。如果不是自由抹移器,则该方法结束,或控制被传送到处理该适当类型的选择的任何进程。

在判决1704处,确定用户希望水平抹移还是垂直抹移。可确定选择路径的角度并且将该角度与抹移器的每种类型的范围(水平或垂直)相比较。第三个选项(未示出)将会是如果抹移器选择路径在水平或垂直抹移的范围之外则忽略该选择路径。如果抹移器是垂直抹移,则在步骤1705处,抹移器以下的对象被选择。其它实施例可包括确定向上或向下抹移并适当地选择对象。如果抹移器被确定为水平抹移,则在判决1706处,确定该抹移是向左还是向右。如上所述,这可以基于额外的用户输入或选择路径的曲率来确定。如果是一个左抹移,则在步骤1707处,选择该抹移器左边的对象,而如果是一个右抹移,则在步骤1708处,选择右边的对象。对于所有三个选择步骤1705、1707、1718,穿越对象的选择路径可能会使该过程复杂,但这可以通过编程或通过用户偏好来处理。

在步骤1709处,用户确定抹移选择的移动方向和距离。这可限于单个运动角度,即水平或垂直,并且还可限于网格或步进值。用户可或者通过抓取选择并用鼠标、指示笔等移动它,或者通过使用诸如键盘上的箭头键等其它形式的输入来指示方向和距离。在步骤1710处,对象相应地被移动,同时维持向所遇到的任何文本流的一致流动。在那之后,该方法正常终止。

其它实施例可增加选择路径采用自由抹移器工具来选择并移动对象的方向的灵活度。图18A示出根据一个或多个实施例的正被选择路径1801动态选择的一系列文档对象。此处,选择路径1801始于起始点1802,但并没有结束。与起始点1802相关联的起始射线1807对自由抹移器工具的用户可见或不可见。起始射线1807的位置是基于最接近起始点1802的选择路径1801的一部分的。基于总的选择路径的特定长度或百分比,该射线可以是正切或接近正切。可选择起始射线1807沿与选择路径1801的起始相关联的水平或垂直轴射出。

当用户继续输入选择路径1801(例如,通过使用指示笔或鼠标继续画出路径)时,动态地计算终止射线1808a,并且可动态地选择或取消选择适当的对象。例如,当选择路径到达点1803a时,终止射线1808a的位置(如所示)是基于刚画的路径的最直接部分的。例如,可采用最新近的路径像素的方向或整个路径的最新百分比(例如,5%)。终止射线1808a可以从与当前点1803a相关联的垂直或水平轴中选出,并沿最新的运动方向延伸。

在创建选择路径1801的这一点处,起始射线1807从起始点1802处指向右边,而终止射线1808a从光标当前的位置1808a处指向上。除了动态定位终止射线1808a之外,落入起始射线1807和动态终止射线1808a之间的对象可基于其落入于两射线之间被自动选择以及取消选择。此处,墨水文字1804以及绘图对象1805落入由这两个射线绘出的象限位置并均随后被选择。

在之后的某刻,选择路径1801已朝不同方向移动。图18B示出根据一个或多个实施例的正被选择路径1801动态选择的相同的一系列文档对象。此处,选择路径1801已延伸至点1803b。作为运动方向改变的结果,动态终止射线1808b沿水平而不是垂直轴被重新定位。终止射线1808b的重新定位对于用户是可见的,该射线动态地“跳变”到一位置。当终止射线1808b移动时,对象的选择被更新,并且对于一个可能的垂直抹移(例如,可以被上移或下移,而不是左移或右移),现在墨水文字1806被添加到选择中。这三个对象表示位于选择路径的所选一侧上的可见对象。如上所述,选择路径的特定一侧可基于对路径的分析(例如,曲率)或对改变选择的分析(例如,从“上和右”象限移动到文档的“上”半部分而非选择路径以下的“下”半部分)。

图像18C示出根据一个或多个实施例的选择路径1801随时间推移的第三点和最终点。此处,选择路径的方向在终止于结束点1803c之前再次改变。终止射线1808c的位置是沿着垂直轴向上指,并且再一次,最初所选择的一组对象被再次选择,其中墨水文字1806被取消选择。最终选择是“上和右”象限,并且所选择的对象对于其如何被移动受到约束。对于象限选择,它们可以朝两个方向移动,即上或右,而不是将对象限于一个运动角度。另外的实施例可允许额外的运动角度,例如,沿对角线、向上和向右。

图19是示出使用两条射线来选择文档的选择区域以便选择文档中的对象的方法的流程图。在步骤1901处,接收表示将要输入一个选择的初始命令。此命令可以以在屏幕上被点击的按钮、键盘快捷键、或甚至与显示设备相关联的指示笔作出的动作示意的形式出现。在步骤1902处,接收自由选择的起始。一旦收集了足够的信息,在步骤1903处,确定与选择路径的起始相关联的起始射线的方向和位置。在步骤1904处,接收选择路径的结束,并且在步骤1905处,如上所述,确定终止或“结束”射线。终止射线可指向任何方向,包括与起始射线相同的方向。在步骤1906处,确定对象的选择。该选择可在光标移动来创建选择路径的期间动态地作出。或者,一旦选择路径被终止,可作出选择。

在步骤1907处,接收与该选择相关联的移动,并且在步骤1908处,所选择的对象按受约束或不受约束的方式被移动。与先前的流程图一样,所示的步骤意在作为示例。可添加、删除、组合、或修改步骤,并且该过程实际上仍然保持相同。

另外一些实施例还为最终用户提供选择文档上的对象的可选方法。在对半选择而不是四分之一选择的情况下,希望选择文档的哪一半可能不总是很清楚。尽管可以分析线的曲率,但是一个紧接的停顿会使分析朝错误方向进行。用户能够通过点击图标或通过简单地轻击或移动光标至文档的另一半来输入特定的命令以便切换选择。例如,如果用户沿着文档的中间往下画了一条相对直的线,则位于该线的右侧的对象被自动选择进行水平抹移,用户只要通过移动光标并将其悬停在另一侧来切换到对左边的对象的选择。默认行为可以基于一组默认设置来编程或修改来偏重对象的选择。例如,当创建水平抹移时,最初总是选择线以下的对象。同样,可以默认地选择位于垂直抹移右侧的对象。

尽管体现本发明的方法和系统作为示例显示,但是将理解的是,本发明不限于这些实施例。所述的方法和系统仅仅是本发明的示例,其限定在随后的权利要求中陈述。本领域的技术人员可作出修改,特别能针对上述教示作出修改。例如,本领域的技术人员将看到所述的自由抹移器工具不需要在启用电子墨水功能的应用程序中使用,而是可以在采用鼠标或其它自由输入设备的任何常规的应用程序中使用。

相关申请

本专利申请涉及申请号为10/186,837,名称为“电子文档的空间管理”的共同待审非临时美国专利申请,其通过引用纳入于此。