自由抹移器的制作方法

文档序号:6569602阅读:124来源:国知局
专利名称:自由抹移器的制作方法
自由抹移器
相关申请
本专利申请涉及申请号为10/186,837,名称为"电子文档的空间管理" 的共同待审非临时美国专利申请,其通过引用纳入于此。
背景
不管是文字处理、做笔记、幻灯片演示、还是图形编辑,几乎每个计算机 用户曾经编辑过文档。尽管一开始是纯粹地基于文本的,但是用于编辑文档的 软件应用程序从图形操作系统的到来获益非浅。这种操作系统的交互式"所见 即所得"(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的计算机可读介质上的传播信号。
参考图l,所示的实施例可包括诸如计算设备ioo等计算设备。在一基本
配置中,计算设备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。对象被限制为只能按与标尺线幼9相等的增量抹移。 一旦被抹移,产生空白空间820。图9示出根据一个或多个实施例的带有新插入的墨水对象910的文档对 象。由抹移产生的空白空间现在可被用来插入新对象。此处,墨水对象910己 被插入。图10-12示出根据一个或多个实施例的为插入新文本而具有水平抹移的文本。在图10中,由用户创建的选择路径穿过多行文本3, 4, 5。然而,由于文 本在段落中的流动特性(例如, 一行流入下一行),只有一行应该被选择用于 水平抹移。 一程序模块可基于选择路径所穿过的行数作出基于经验的猜测。例 如,如果穿越了两行,则在其中具有路径的最多部分的那行被选择。如果穿过 多行,则选择路径的中点可被用来选择一行。 一旦确定该行,则在左边或右边 (取决于那是怎么确定的)的文本将被选择。如果选择路径穿过一个字,则可采取许多动作。该字依据被穿越的字符可 以一分为二,或者选择整个字。另一替换例是不选择任何被穿越的字。如果这 是一个垂直的抹移,则选择路径以下或以上的所有行被选择。依据所画的线的 类型,可使用其它用于确定特定文本或对象是否被选择的方法。这些方法可包 括允许用户设置参数(例如,标有"选择穿越的文字和对象?"的复选框或设 置)。在图11中,用户将文本抹移至右边。再一次,由于段落的流动特性,文字从行4流动到行5。插入到行4上的空隙中的可以是可能等待将要被插入的 任何对象的空格、制表符、或甚至某种类型的占位符。图12示出现在添加了 额外的电子墨水手写的同一个段落。此处,新的字被写入产生的空间中,其将 从外表上被识别,并用等效的文本替代。此时,取决于底层的启用墨水功能的 应用程序如何选择处理该插入,任何占位或额外的空间可被去除。图13-16示出根据一个或多个实施例的文档对象集合,其中的某些文档对 象被抹移到右边或左边。图13示出刚被水平抹移1301选出的文档对象的初始 分组。如箭头1310和131 l所绘出的,墨水对象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处,所选 择的对象按受约束或不受约束的方式被移动。与先前的流程图一样,所示的步 骤意在作为示例。可添加、删除、组合、或修改步骤,并且该过程实际上仍然 保持相同。
另外一些实施例还为最终用户提供选择文档上的对象的可选方法。在对半 选择而不是四分之一选择的情况下,希望选择文档的哪一半可能不总是很清 楚。尽管可以分析线的曲率,但是一个紧接的停顿会使分析朝错误方向进行。 用户能够通过点击图标或通过简单地轻击或移动光标至文档的另一半来输入 特定的命令以便切换选择。例如,如果用户沿着文档的中间往下画了一条相对 直的线,则位于该线的右侧的对象被自动选择进行水平抹移,用户只要通过移 动光标并将其悬停在另一侧来切换到对左边的对象的选择。默认行为可以基于一组默认设置来编程或修改来偏重对象的选择。例如,当创建水平抹移时,最 初总是选择线以下的对象。同样,可以默认地选择位于垂直抹移右侧的对象。 尽管体现本发明的方法和系统作为示例显示,但是将理解的是,本发明不
限于这些实施例。所述的方法和系统仅仅是本发明的示例,其限定在随后的权 利要求中陈述。本领域的技术人员可作出修改,特别能针对上述教示作出修改。 例如,本领域的技术人员将看到所述的自由抹移器工具不需要在启用电子墨水 功能的应用程序中使用,而是可以在采用鼠标或其它自由输入设备的任何常规 的应用程序中使用。
权利要求
1. 一种用于在电子文档中允许自由抹移器的计算机实现的方法,所述方法包括接收一自由选择路径;在上、下、左、右、左上、右上、左下和右下的八个方向中确定与所述自由选择路径相关联的希望方向;以及选择所述电子文档上的文档对象,所述对象位于与所述自由选择路径有关的所述希望方向上。
2. 如权利要求1所述的计算机实现的方法,其特征在于,所述方法还包括确定所述自由选择路径是否希望是自由抹移器。
3. 如权利要求2所述的计算机实现的方法,其特征在于,确定所述自由选 择路径是否希望是自由抹移器包括在自由抹移器和自由绳索这两个选择类型 中确定所述自由选择路径所希望的选择类型。
4. 如权利要求3所述的计算机实现的方法,其特征在于,确定所述自由选 择路径是否希望是自由抹移器包括分析正切于所述自由选择路径的结束点的 射线以便确定所述射线是否交叉。
5. 如权利要求1所述的计算机实现的方法,其特征在于,所述自由选择路 径通过使用触敏显示器来接收。
6. 如权利要求1所述的计算机实现的方法,其特征在于,所述文档对象包 括电子墨水。
7. 如权利要求1所述的计算机实现的方法,其特征在于,确定所述自由选 择路径的希望方向包括分析所述选择路径来确定希望方向。
8. 如权利要求7所述的计算机实现的方法,其特征在于,分析所述选择路 径来确定希望方向包括确定连接所述自由选择路径的两端的线段; 测量所述线段与一参考线段之间的角度差;以及将所述角度差与多个范围作比较,其中每个范围与所述自由选择路径的可 能方向相关联。
9. 如权利要求7所述的计算机实现的方法,其特征在于,分析所述选择路 径来确定希望方向包括-在上、下、左、右的四个方向中确定与所述选择路径的起始点相关联的第 一射线;在同样的所述四个方向中确定与所述选择路径的结束点相关联的第二射 线;以及将所述希望方向确定为落入所述第一和第二射线之间。
10. 如权利要求7所述的计算机实现的方法,其特征在于,分析所述选择 路径包括分析所述选择路径相对于所述选择路径的结束点的曲率。
11. 一种用于选择和抹移电子文档上的文档对象的系统,所述系统包括: 用于接收自由选择输入的输入设备; 用于显示所述电子文档的显示器; 存储可执行指令的存储器;以及被配置成执行所述可执行指令的处理器,所述处理器执行以下步骤 从所述输入设备中接收所述自由选择输入; 确定与所述自由选择输入相关联的朝向; 确定与所述自由选择输入相关联的希望方向;以及 选择位于与所述自由选择的输入有关的希望方向上的文档对象。
12. 如权利要求11所述的系统,其特征在于,所述处理器还被配置成执行 以下步骤确定所述自由选择输入是否构成自由抹移器输入; 接收一移动输入;以及 根据所述移动输入移动所选文档对象。
13. 如权利要求12所述的系统,其特征在于,所述输入设备以及所述显示 器是集成在一起的,使得针对所述显示器的输入被所述输入设备感应。
14. 如权利要求13所述的系统,其特征在于,接收所述自由选择输入包括 接收指示笔在所述集成的输入设备显示器上的一个或多个笔画。
15. 如权利要求14所述的系统,其特征在于,接收移动输入包括接收指示 笔在所述集成的输入设备显示器上的一个或多个笔画。
16. 如权利要求12所述的系统,其特征在于,根据所述移动输入移动所选 文档对象包括沿单个运动角度移动所述对象。
17. 如权利要求12所述的系统,其特征在于,确定所述自由选择输入是否 构成自由抹移器输入包括在自由抹移器和自由绳索这两个选择类型中确定所述自由选择输入所希 望的选择类型。
18. 如权利要求ll所述的系统,其特征在于,确定与所述自由选择输入相 关联的希望方向包括在上、下、左、右的至少四个方向中确定所述希望方向。
19. 如权利要求11所述的系统,其特征在于,所述处理器还被配置成执行 以下步骤接收选择命令。
20. —种用于选择和移动电子文档上的一组对象的计算机实现的方法,所述方法包括接收一选择输入;接收一自由选择路径作为显示器上的输入,其中所述显示器显示所述电子 文档的至少一部分;在上、下、左、右、左上、右上、左下和右下的八个方向中确定所述自由 抹移器的希望方向;选择所述电子文档上的文档对象,所述对象位于与所述自由选择路径有关 的所述希望方向上;接收一移动输入;以及根据所述移动输入移动所选文档对象。
全文摘要
自由抹移器工具可被用来选择和移动电子文档中的文档对象。为了将自由抹移选择从自由绳索选择中区别出来,通过分析自由选择的形状来确定自由抹移选择。一旦确定,位于文档上的希望方向上的文档对象被选择。尽管所选对象的移动可能受限,但可以移动所选对象组以便沿仅一个运动角度抹移或移动它们。可使用指示笔和平板计算机作出选择的输入,并且文档对象可包括电子墨水。
文档编号G06F17/21GK101305363SQ200680042067
公开日2008年11月12日 申请日期2006年11月13日 优先权日2005年11月14日
发明者A·J·西蒙斯, B·巴拉比 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1