具体实施方式
本发明的示例性实施例可提供在诸如制图、文字处理文档、电子表格、桌面排版项目和网页等文档中选择并操纵多个对象的能力。按照本发明的示例性实施例,可向计算设备和文档软件应用程序的用户提供相对一公共基准和/或通过单个操作来选择并操纵多个对象的能力,而无需永久性地变换或组合该对象以形成一新对象,该新对象稍后必须被解散以操纵个别对象中的一个或多个。还可提供如相对可以调整到除对象组的近中心之外的其它位置的轴或基准点旋转或翻转来操纵多个对象的能力。
本发明的示例性实施例也可提供基于与标准基准方向不在同一方向上的一个或多个对象的方向选择并操纵多个对象的能力。此外,还可提供相对单个定向方形向(如,垂直或水平)调整多个对象的一个或多个的大小,而不会使与标准基准方向不在同一方向上的那些对象失真的能力。
示例性操作环境
下文将参考附图描述本发明的示例性实施例,贯穿若干附图,相同的标号代表相同的元件。图1示出了用于实现本发明的示例性操作环境100。
示例性操作环境100包括通用计算装置120,它可以是常规个人计算机。计算装置120可包括处理单元121、系统存储器122以及可将包括系统存储器122在内的各种系统组件耦合至处理单元121的系统总线123。系统总线123可以是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线或使用各种总线体系结构中的任何一种的局部总线。系统存储器122可包括只读存储器(ROM)124和随机存储器(RAM)125。基本输入/输出系统(BIOS)126包含如在启动时在计算设备120内的元件之间帮助传输信息的基本例程,,可存储在ROM 124中。
计算装置120还可以包括用于对硬盘(未示出)读写的硬盘驱动器127、用于对可移动磁盘129读写的磁盘驱动器128以及用于对诸如CD-ROM或其它光媒质等可移动光盘131读写的光盘驱动器130。硬盘驱动器127、磁盘驱动器128和光盘驱动器130可分别通过硬盘驱动器接口132、磁盘驱动器接口133和光盘驱动器接口133连接到系统总线123。
尽管本发明描述的示例性环境使用了硬盘127、可移动磁盘129和可移动光盘131,本领域的技术人员可以理解,也可在示例性操作环境100中使用可存储可由计算机访问的数据的其它类型的计算机可读媒质,如磁带盒、闪存卡、数字视频盘、Bernoulli盒式磁带、RAM、RAM等等。驱动器以及关联的计算机可读媒质能为计算装置120提供计算机可执行的指令、数据结构、程序模块和其它数据的非易失存储。
众多程序模块可存储在硬盘127、磁盘129、光盘131、ROM 124或RAM 125中,包括操作系统135、下文结合图2更详细描述的文档应用程序136、以及可包括任何类型的可由计算装置120执行的软件应用程序的其它应用程序137。程序模块可包括但不限于,例程、子例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。
用户可以通过诸如键盘140的输入设备和定位设备142向计算装置120输入命令和信息。定位设备可包括鼠标、跟踪球或可结合电子图形输入板一起使用的电子笔。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线123的串行端口接口146连接到处理单元121,但也可以通过其它接口(未示出)连接,如并行端口、游戏端口或通用串行总线(USB)等等。显示设备147也可通过诸如视频适配器148等接口连接到系统总线123。除监视器之外,计算装置可包括其它外围输出设备(未示出),如扬声器和打印机。
计算装置120可以在使用到一个或多个远程计算机149的逻辑连接的网络化环境中操作。远程计算机149可以是另一个人计算机、服务器、客户机、路由器、网络PC、对等设备或其它常见的网络节点。尽管远程计算机149通常包括上文相对计算机120描述的许多或全部元件,为了简单起见,在图1中仅示出存储器存储设备150。图1描述的逻辑连接可包括局域网(LAN)151和广域网(WAN)152。这一网络环境常见于办公室、企业范围计算机网络、内联和因特网。
当在LAN网络环境中使用时,计算装置120通常通过网络接口或适配器153连接到LAN 151。当在WAN网络环境中使用时时,计算装置120通常包括调制解调器154或其它装置,用于通过诸如因特网等WAN 152建立通信。调制解调器154可以是内置或外置的,可通过串行端口接口146连接到系统总线123。在网络化环境中,相对计算装置120描述的程序模块或其部分可储存在远程存储器存储设备150中。例如,远程存储器存储设备150可存储文档应用程序136或其它应用程序137或其部分。可以理解,所示的网络连接是示例性的,也可使用在计算机之间建立通信链路的其它方法。
此外,本领域内的技术人员将认识到,本发明可在其它计算机系统配置中实现,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、网络个人计算机、小型机、大型机等等。本发明也可在分布式计算环境中实施,其中,由通过通信网连接的远程处理设备完成任务。在分布式计算环境中,程序模块可以位于于本地和远程存储器存储设备中。
示例性系统体系结构
现在参考图2,依照本发明的各种示例性实施例示出了文档应用程序136(图1)的示例性组件体系结构的方框图。文档应用程序136可以是可用于如使用计算装置120(图1)创建和/或操纵(或修改、编辑等)文档(或页面、文件等)中的对象的任一软件应用程序。例如,文档应用程序136可被配置成创建和/或操作诸如绘图、文字处理文档、电子表格、桌面排版项目和网页等文档中的对象。此外,对象可包括可添加到文档(或显示设备、图形用户界面等)和/或在文档中操纵的对象,如,但不限于,图形对象、文本、控件等等。
示例性文档应用程序体系结构136可包括主应用程序模块200。主应用程序模块200可提供与涉及文档应用程序136的众多功能和/或和能力,例如,但不限于,创建、操纵、察看保存文档。主应用程序200也可运行以控制或协助文档应用程序136的其它模块的功能。此外,主应用程序模块200可以担当文档应用程序136的其它模块之间的接口。
示例性文档应用程序体系结构136也可包括文档视图模块202。文档视图模块202可运行以通过诸如显示器147(图1)等用户输出接口来显示文档(或页面、文件等)。文档模块202可控制或协助涉及操纵文档中包含的一个或多个对象的功能。文档视图模块202也可控制或协助示例性文档应用程序体系结构136中其它模块的功能。
也可包括选择列表模块204,作为示例性文档应用程序体系结构136的一部分。选择列表模块204可创建和/或储存关于文档中的对象的信息。例如,所述选择列表模块204可创建和/或储存一个或多个选择对象206。选择对象206可以包括关于和/或涉及在文档中已被选中的一个或多个对象的信息。选择列表模块204可以向文档应用程序的一个或多个模块提供选择对象206,以协助创建、操纵和/或显示文档中的对象。
示例性文档应用体系结构136中也可包括高亮列表模块208。高亮列表模块208也可创建和/或储存关于文档中的对象的信息。更具体地,高亮列表模块208可创建和/或储存已被选中的一个或多个对象的高亮反馈。例如,高亮列表模块208可以创建和/或储存高亮对象210。高亮对象210可包括关于或涉及在文档中被选中的一个或多个对象的高亮反馈的信息。在该点上,为了指示一个对象已经被选中,高亮反馈可包括该对象的任何轮廓或其它修改。例如,高亮反馈可包括粗体轮廓和/或与文档中其它对象有不同颜色的轮廓。如后文相对图3到7所讨论的,高亮反馈也可包括能协助操纵对象的其它指示符,如各种图柄(handle)和基准元素。
高亮列表模块208也可创建和/或储存一个或多个多选高亮对象212。通常,如所述,高亮列表模块208可创建和/或储存一个多选高亮对象212,但应当理解,依照本发明的某些示例性实施例,可存在另外的多选高亮对象212。多选高亮对象212可包括关于或涉及在文档中被选中的多个(例如,两个或多个)对象的高亮反馈的信息。在该点上,多选高亮对象212可包括来自一个或多个高亮对象210的信息。例如,高亮列表模块208可从两个或多个高亮对象210创建多选高亮对象212。示例性文档应用程序体系结构136的上述组件202、204、206、208、210、212的额外功能和/或其它特征将结合图8到图16在下文描述。
示例性屏幕视图
图3到图7示出了依照本发明的示例性实施例的示例性屏幕视图,它们提供选择并操纵多个对象的能力的示例。例如,这些屏幕视图可通过示例性计算装置120(图1)的监视器147来察看。为了简单和简洁起见,在这些图中通过几个示例例示出了对象的数量和属性(例如,形状、尺寸、方向等等)。此外,也为了简单和简洁起见,在这些图中只示出了某些操纵操作。然而,应当理解,本发明的示例性实施例不限于这些示例子,本领域的技术人员可以清楚,许多其它特征和操作(例如,移动、删除等等)也是可能的。
现在参考图3A-3F,依照本发明的各种实施例示出了示例性屏幕视图300、310、320、330、340、350,它们示出了对多个对象301、302的与选择和旋转有关的操纵。在该点上,图3A示出呈现两个对象301、302的示例性屏幕视图300。依照本发明示例性实施例,选中一个对象302。如参考图8到图16所讨论的,对象302可使用诸如鼠标142或键盘140(图1)等用户输入接口来选择。
选中的对象302最初具有与对象301相似的外观,除在不同的角度方向之外。在该点上,术语“标准方向”在后文将用于描述对象的典型方向(例如,竖直),使其边缘的一个或多个平行于完全垂直的轴(如,与完全水平成90度角)和完全水平的轴(例如,与完全垂直成90度角)的一个或多个。例如,对象302位于标准方向上,而对象301被旋转出标准方向。也可接受其它术语来引用标准方向,例如竖直、正交等等,它们都是本发明的示例性实施例的范围内适用接受的术语。
如上文关于高亮列表模块208和高亮对象210所简要讨论的,选中的对象302包括高亮对象303,后者在本示例性说明中包括对象302的粗体轮廓。高亮对象303也包括各种图柄304。这些图柄304可用于操纵对象302。例如,可使用诸如鼠标142等输入接口来选择并拖动图柄304的其中之一,以调整对象302的大小。
图3B示出了示例性屏幕视图310,其中,对象301和302都被选中。由此,图3B可说明在图3A所示的选择对象302后对多个对象301、302的继续选择。与图3A中对象301的外观形成对比,对象301、302分别包括高亮对象311、312。依照本发明的某些示例性实施例,对象302的高亮对象312可具有不同的(如更粗的)高亮外观,以指示它是在选择多个对象311、312的过程中首先被选择的对象302。在该点上,首先被选择的对象302可被称为初选对象302,其意义将参考图3E和3F进一步讨论。然而,注意,依照本发明的某些示例性实施例,多个选中的对象301、302的高亮对象311、312可以不包括如图2A所示的图柄304等图柄(如所述)。
除高亮对象311、312之外,对象301、302都被包含在多选高亮对象313中。如图所示,多选高亮对象可以是边框或类似的周围边界。多选高亮对象313可以包括提供与图3A所示的图柄304相同的特征的图柄314。多选高亮对象313也可以包括旋转图柄315和轴针316,它们可通过连接线317连接。在某些示例性实施例中,轴针316-有时还有连接线317-可被配置成当诸如由鼠标142或键盘140控制的可视图标等用户接口被界面被放置在旋转图柄315的附近时出现。旋转图柄315和轴针316的功能将参考后文的图来讨论。
参考图3B,应当注意,依照本发明的示例性实施例,多个选中的对象301、302能以至少两种不同的方式选中。在该点上,这一选择选项的示例性过程将参考图8和图9在下文讨论。这些选择选项可包括顺序多选操作(如,一个接一个、手动等等)以及连续多选操作(例如,使用套绳(lasso)或其它选择周界)。不论以哪种方式选择,对象302作为所述初选对象,都是基于图3B的示例性说明首先被选中的。
然而,与现有的选择并操纵多个对象的方法相反,多选高亮对象313可自动显示在多个选中对象301、302周围,而无需执行选中对象301、302的变换或组合。由此,多个选中对象301、302可相对一公共基准(例如,轴针316)和/或通过单个操作(例如,图柄314或旋转图柄315之一的移动)来操纵,而无需如现有方法那样首先执行组合选中对象301、302的操作。为以后引用,也注意到,多选高亮对象313是在标准方向上提供的,它也与图3B的示例性说明中的初选对象302对齐。
现在将注意力集中到图3C,示出示例性屏幕视图320,说明依照本发明的示例性实施例将多个选中对象301、302从标准方向旋转。在该点上,多个选中对象301、302围绕一公共基准(或轴针)316从它们的起始位置和方向开始旋转。此外,多个选中对象301、302通过单个操作旋转,例如,通过使用用户接口来选择期望方向中的旋转图柄315,并将其在期望方向上拖动期望的旋转距离。
注意,多选高亮对象313也依照旋转图柄315的移动旋转,并且它可以保持它与多个选中对象301、302的初始对齐,例如,与初选对象302对齐。如将参考图5A和图5B进一步讨论的,可将轴针316重新定位,以改变用于多个选中对象301、302的操纵的公共基准。由此,可将轴针316重新定位,使得多个选中对象可以围绕除多个选中对象301、302的(近似)中心以外的某一位置上的基准点旋转。图3C中描述的多个选中对象301、302的旋转所涉及的功能将参考图10和图11进一步讨论。
图3D示出了对象301、302在图3C描述的旋转操作后被取消选中后的示例性屏幕视图330。由此,对象301、302相对标准方向旋转到它们的新方向。作为取消选中对象301、302的结果,从示例性屏幕视图330中移除高亮对象311、312和高亮对象313。此外,与现有方法的局限性形成对比,被取消选中的对象301、302可以个别操纵,而无需执行变换以在多选旋转操作后解散对象。对多个选中对象301、302取消选中的示例性过程将参考图12进一步讨论。
图3E示出了在图3D所示的取消选中操作后通过多选操作选择对象301、302的示例性屏幕视图340。与图3B所示的对象301、302的多选相似,对象301、302都分别包括高亮对象341、342,并由多选高亮对象343界定。此外,多选高亮对象343包括选择图柄344和旋转图柄345。然而,与图3B形成对比,多选高亮对象343不包括轴针或连接线。如上文对图3B所讨论的,依照本发明的某些示例性实施例,这些元素可被配置成当用户接口被放置在旋转图柄345的附近时出现。
除上述图3B和图3E的说明的上述区别之外,也注意到,在图3B中多个选中对象301、302已从其初始方向旋转开,如上文对图3C所示的旋转操作所描述的。然而,与图3B相似,如由对象302的较粗的高亮对象342所示,对象302是多选的第一选中或初选对象。但多选高亮对象343与对象302的方向不对齐,后者已旋转出标准方向,而与对象301对齐,对象301的边缘恰好与标准的竖直方向对齐。对这一区别在下文解释。
本发明的示例性实施例可提供多选高亮对象343与初选对象302的方向对齐,这是与现有方法的局限性区别。然而,在某些示例性实施例中,例如,如图3E所示,对多选操作的某些情况,多选高亮对象343可指向默认方向,如标准方向。例如,依照本发明的某些示例性实施例,当对象301、302通过连续多选操作被选中时(例如,使用套绳或其它选择周界),多选高亮对象343可以默认指向标准方向。由此,如图3E所示,依照本发明的一些示例性实施例,对象301、302可通过连续多选操作被选中,,其中,例如,通过使用套绳或其它选择周界,对象302首先被装入。然而,在其它示例性实施例中,响应于某些多选操作,多选高亮对象343可与某些其它默认方向(例如,预设方向)对齐。
现在参考图3F,与图3E所示相似,示出了在图3D所示的取消选中操作之后通过多选动作选择对象301、302的示例性屏幕视图350。由此,多个选中对象301、302分别包括高亮对象351、352,而较粗的高亮对象352指示对象302是初选对象。此外,多个选中对象301、302由包括图柄354和旋转图柄355的多选高亮对象353定界。
然而,与图3E形成对比,图3F所示的多选高亮对象353并不与标准方向对齐,而与对象302的方向对齐。这是因为,如上所述,在本发明的某些示例性实施例中,响应于某些多选操作,多选高亮对象353可与初选对象(本例中为对象302)对齐。例如,如果在对象301、302上执行顺序多选操作,其中对象302首先被选中(使它成为初选对象),则多选高亮对象353可自动与初选对象302的方向对齐。这是突破现有方法的局限性的有益区别,例如,因为它允许用户相对被旋转出标准方向的对象302的方向操纵多个选中对象301、302。
由此,依照本发明的示例性实施例,图3E和3F提供了使多选高亮对象343、353响应于如所执行的多选操作的类型(如,连续或个别的多选操作),自动与不同的方向基准(如标准方向或初选对象方向)对齐的能力的示例性说明。为简单起见,这些示中使用的对象301、302具有对应于完全垂直轴和完全水平轴的边(即,该边是垂直的和/或水平的)。由此,多选高亮对象343、353在示图中也具有垂直边,它们可通过将其边平行放置来容易地与对象301、302的任何一个对齐。
然而,注意,多选高亮对象343、353和多个选中对象301、302都不必要是完全正方形或矩形,以落入本发明的示例性实施例的范围。由此,多选高亮对象343、353和多个选中对象301、302都可以是依照本发明的示例性实施例的范围的任何其它可能的形状,尽管多选高亮对象343、353的完全正方形或矩形是典型的。例如,在多个选中对象301、302有其它形状的情况下,例如包括曲线、文本或非四条成直角的边,则多选高亮对象343、353可与初选对象302的高亮对象351、352对齐,而不管对象302的实际形状如何。例如,高亮对象341、342、351、352的每一个通常可包括四条成直角的边,而不管对象301、302的实际形状如何,由此简化了同样具有四条成直角的边的多选高亮对象343、353与选中对象301、302之一的对齐。
在这类示例中,例如,类似于界定圆周界的正方形,高亮对象341、342、351、352可界定或至少部分包围非正方形或非矩形对象301、302的一部分。然而,如本领域的技术人员显而易见的,本发明的示例性实施例的范围并不限于上述示例子。例如,多选高亮对象343、353与高亮对象341、342、351、352之一的对齐可以通过使用多选高亮对象343、353和高亮对象341、342、351、352的其它形状来方便,如圆形或八边形。
现在将注意力集中到图4A-4B,依照本发明的各种示例性实施例示出了描述多个对象401、402的有关选择和垂直翻转的操纵的示例性屏幕视图400、410。在该点上,类似于先前图3B中所讨论的对象301、302,图4A示出示例性屏幕视图400,其中通过多选操作选择对象401、402。因此,多个选中对象401、402分别由高亮对象411、412界定。如由较粗的高亮对象411所指示的,对象401是初选对象。
多个选中对象401、402也相应地由多选高亮对象413界定。多选高亮对象413也包括选择图柄414和旋转图柄415。此外,多选高亮对象413包括轴针416和连接线417。这些元素与参考上文的图3A-3F所讨论的有相同名字的元素都至少在实质上相似。
如上所述,依照本发明的某些示例性实施例,轴针416和连接线417可在用户接口被放置在旋转图柄315的附近时出现。尽管如对图3C所讨论的,轴针416可表示多个选中对象401、402的旋转的基准,然而它也可担当多个选中对象401、402的翻转操作的基准。在该点上,翻转操作可包括用对象401、402沿某一基准方向(例如,垂直或水平)的镜像图象代替多个选中对象401、402的图象的操作。依照本发明的示例性实施例,翻转操作另外还可参考轴针416的位置执行,如通过对图4A和图4B,以及图5A和图5B(在下文讨论)的比较所示出的。
由此,参考图4B,示出示例性屏幕视图410,它示出了对多个选中对象401、402从图4A中它们的起始位置和方向的执行垂直翻转操作的结果。在该点上,注意,多个选中对象401、402相对轴针416沿垂直基准轴(未示出)翻转。由此,图4A和图4B中的轴针416在示例性屏幕视图400、410中处在相同位置,而多个选中对象401、402处在镜像图象位置,使其看似作为一组被举起,然后相对轴针416从上到下翻转。此外,作为所示的垂直翻转操作的结果,多选高亮对象413及其关联的元素414、415、417也相对轴针416以镜像图象方式重新定位。
注意,与现有方法的局限性形成对比,图4A所示的多个选中对象401、402可被选择并相对轴针416的公共基准翻转,而无需首先执行操作以将对象401、402变换成单个组合对象。此外,如上文参考图3D所讨论的,图4B中的经翻转的对象401、402可立刻被取消选中并个别操纵,而无需执行变换以解散对象401、402,而这在现有方法中是需要的。
现在转向图5A-5B,示出了示例性屏幕视图500、510,它们依照本发明的各种示例性实施例示出了多个对象501、502的有关选择和水平翻转的操纵。在该点上,图5A示出多个选中对象501、502的示例性屏幕视图500。与图4A相似,多个选中对象501、502分别包括高亮对象511、512。此外,多个选中对象501、502由多选高亮对象513界定,后者包括选择图柄514、旋转图柄515、轴针516和连接线517。
然而,与图4A形成对比,图5A示出的示例中,轴针516已经从它通常所在的多选高亮对象513的中心或近中心的位置上重新定位。依照本发明的某些示例性实施例,旋转图柄515和连接线517可自动重新定位,以对应于图示的轴针516的重新定位。可执行轴针516的重新定位,以为诸如旋转或翻转多个选中对象501、502等动作提供不同的基准点。相反,现有方法通常局限于为组合对象提供位于中心或近中心的基准轴。
轴针516可用很多方式定位,这对本领域的技术人员是显而易见的。例如,轴针516-或可能是连接线517-可使用用户接口来选择和拖动,以将轴针516重新定位到期望的位置。如上所述,轴针516和/或连接线517可在用户接口被放置在旋转图柄515的附近时出现。由此,在某些示例性实施例中,轴针516可以通过首先将用户接口放置在旋转图柄515的附近以促使轴针516和/或连接线517出现来重新定位。
现在转向图5B,示出了示例性屏幕视图510,它示出了多个选中对象501、502从图5A所示的其起始位置和方向执行水平翻转操作的结果。注意,在该点上,多个选中对象501、502相对轴针516沿水平参考轴(未示出)翻转。因此,图5A和图5B中的轴针516在示例性屏幕视图500、510中处于相同位置。此外,多个选中对象501、502和多选高亮对象513,包括关联的元素514、515、517,处在镜像图象位置,使其看似作为一组被举起,然后相对轴针516从左到右翻转。
由于轴516被重新定位到多选高亮对象513的中心位置的右侧,所有经翻转的元素也定位在从图5A中的多选高亮对象513的起始位置的水平偏移上。由此,图5A和图5B所示的水平翻转操作也例示了由与现有方法的局限相反的重新定位轴516的能力所得到的益处。通过对其它多选操作,包括对图4A-4B所讨论的垂直翻转操作和对图3A-3F所讨论的选择动作重新定位轴针也可得到类似的益处。执行上文对图4A-5B所描述的示例性翻转操作的示例性过程将参考图13和图14在下文讨论。
现在将注意力转向图6A-6D,示出了示例性屏幕视图600、610、620、630,它们依照本发明的各种示例性实施例示出了多个对象601、602的有关选择和调整大小的操纵。图6A示出多个选中对象601、602的示例性屏幕视图600,它与上文讨论的图4A和图5A相似。由此,多个选中对象601、602分别包括高亮对象611、612,并由多选高亮对象613界定,后者包括选择图柄614、614A、614B和旋转图柄615。
注意,依照本发明的某些示例性实施例,轴针和连接线在示例性屏幕视图600中不可见,尽管它们可以例如当用户接口被放置在旋转图柄615的附近时出现。对于本发明的各种示例性实施例,还注意,尽管轴针在多个选中对象的屏幕视图不可见,但由轴针提供的基准对在多个选中对象上执行的操作仍然可用并可依靠。由此,依照本发明的示例性实施例,轴针和/或连接线在某些实例中可以是隐藏的。
现在转向图6B,示出了示例性屏幕视图610,其中,通过水平压缩对象601、602调整多个选中对象601、602的大小。这一示例性水平调整大小操作可例如通过使用诸如鼠标142或键盘140(图1)等用户接口选择水平选择图柄614A或614B之一并在期望的压缩方向上拖动它们来执行。注意,与现有方法形成对比,依照本发明的示例性实施例,多个选中对象601、602在调整大小操作之后彼此保持同样的相对位置,因为多个选中对象601、602可被作为单个组合对象来操纵。在某些现有方法中,如果首先将选中对象变换成新的组合对象,则也可获得这一特征。然而,如上文多次讨论的,本发明的示例性实施例提供了多选操作的有利特征,而无需首先执行组合变换,它稍后又必须被逆转以操纵单个对象。
图6C示出了多个选中对象601、602的示例性屏幕视图620,它与上述图6A相似。在该点上,多个选中对象601、602分别包括高亮对象611、612,并由多选高亮对象613界定,后者包括选择图柄614、614C、614D和旋转图柄615。此外,依照参考图6A的上述讨论,轴针和连接线在示例性屏幕视图620中是隐藏的。
然后转向图6D,它示出了示例性屏幕视图630,其中,通过垂直压缩对象601、602调整了图6C所示的多个选中对象601、602的大小。多个选中对象的这一示例性垂直调整大小动作可如通过使用用户接口选择垂直选择图柄614C或614D之一并在期望的压缩方向上拖动它们来执行。如参考图6B所示的水平调整大小动作所注意的,依照本发明的示例性实施例,多个选中对象601、602在图6D所示的垂直调整大小动作之后彼此保持同样的相对位置,因为多个选中对象601、602可作为单个组合对象来操纵。
在图6A-6D所示的示例性调整大小操作中,多个选中对象601、602与标准方向对齐,因此多选高亮对象613与标准方向对齐,并与初选对象601对齐。由此,这些示例中的水平调整大小操作涉及调整多个选中对象601、602的水平尺寸的大小,这些示例中的垂直调整大小动作涉及调整多个选中对象601、602的垂直尺寸的大小。也注意,除上述压缩多个选中对象601、602的示例外,多个选中对象601、602也可例如通过选择适用的选择图柄614A、614B、614C、614D并在适当的方向上拖动它们来拉伸。此外,可通过操纵适当的选择图柄614在多个选中对象601、602执行其它调整大小操作。例如,可通过选择并拖动位于多选高亮对象613的角上的选择图柄614之一来执行成比例的、同步的水平和垂直调整大小(即,成比例调整大小)操作。
图7A-7B示出示例性屏幕视图700、710,它们依照本发明的各种示例性实施例示出了在不同方向上的多个对象701、702、703的有关选择和调整大小的操纵。由此,与图6A-6D中描述的多个选中对象601、602形成对比,多选对象701、702、703的其中某些在与多选高亮对象的不同方向上。具体地,先集中到图7A,示出了多个选中对象701、702、703的示例性屏幕视图700。例如,与先前参考图6A所讨论的多个选中对象601、602相似,多个选中对象701、702、703分别包括高亮对象711、712、713。此外,多个选中对象由多选高亮对象716界定,后者包括选择图柄714、714A、714B和旋转图柄715。相对多选高亮对象716的轴针和连接线没有示出,然而,如上所述,这些元素可当用户接口被放置在旋转图柄715的附近时出现。
图7B示出示例性屏幕视图710,其中,在多个选中对象701、702、703上执行水平调整大小操作。在这一示例中,对象701、702、703沿水平轴被拉伸,这可通过选取选择图柄714A、714B之一并在期望的方向上拖动它们来完成。如图7B所示,与多选高亮对象716对齐的对象701沿其的水平维度被拉伸。然而,依照本发明的示例性实施例,与多选高亮对象716不在同一方向上的对象702、703基于其方向成比例地在其水平和垂直维度上被拉伸。
例如,作为水平调整大小的结果,与多选高亮对象716在几乎对角(即45度)的方向上的对象702在水平和垂直维度上被几乎同等地拉伸。相反,与多选高亮对象716有些许不对齐的对象703主要在水平维度上被拉伸,但在垂直维度上也稍许被拉伸,这一拉伸与对象703与多选高亮对象716的不对齐成比例。这是与现有方法的局限性形成对比的另一益处,因为它减少或防止不与多选高亮对象716对齐的对象702、703的原始形状在调整大小操作的失真。在现有方法中,不与调整大小方向对齐的对象通常会失真,有时甚至不能识别其初始形状,因为这些方法通常局限于在调整大小操作的实际方向上(例如,水平或垂直地)调整对象的大小。
与参考图6A-6D所讨论的调整大小选项相似,多个选中对象701、702、703也可以用其它方式调整大小。例如,所述多个选中对象701、702、703也可以通过操纵多选高亮对象716的适当的选择图柄714、714A、714B被水平或垂直压缩,垂直拉伸和/或成比例地拉伸或压缩。执行上述对图6A-7B所描述的示例性调整大小操作的示例性过程结合图15和图16将在后文讨论。
注意,依照本发明的示例性实施例,可将多个选中对象作为单个对象在上执行任一其它可能的操作,,而无需对这些对象执行变换或组合动作。此外,尽管上述示例是参考二维对象提出的,然而依照本发明的示例性实施例,这一概念也可应用到三维对象上。
示例性过程
在下面依照本发明的示例性实施例的示例性过程的讨论中,当适用时,可参考图1到图7B的元素,以方便描述本发明的示例性方面和实施例。然而,应当理解,这些参考是示例性的,而非限制本发明的示例性实施例的范围。对于下面及其它地方描述的示例性过程,为使本发明示例性实施例如所描述的那样起作用,这些过程中的某些步骤可以自然地在其它步骤之前。然而,本发明的示例性实施例并不限于所描述的步骤的顺序,例如,可以执行不同的顺序或次序而不改变示例性过程的预期功能。即,可以认识到,本发明描述的示例性过程的某些步骤可以在其它步骤之前或之后执行,或和其它步骤并行或组合执行,而不脱离本发明的示例性实施例的范围。
在该点上,现在参考图8,它示出的逻辑流程图说明依照本发明的各种示例性实施例在连续多选操作中选择多个对象301、302(例如,图3D)的示例性过程800。在该点上,例如,连续多选操作在上文已参考图3B和3E描述。示例性过程800从步骤802开始,文档视图模块202可以接收多个对象的选择输入。例如,参考图3E,文档视图模块202可以接收对多个对象301、302的选择信息。通常,依照本步骤802对对象301、302的多选可使用本领域中众所周知的套绳或其它类型的选择周界作为一个连续多选操作来完成。此外,例如,用户可使用诸如鼠标142和/或键盘140(图1)等用户接口元件执行连续多选操作。此外,可以从监视器147(图1)获得该操作的视觉反馈。
在步骤802后,在示例性过程800的步骤804中,文档视图模块202可创建可储存在选择列表模块204中的选择对象206。如上文对图2所讨论的,选择对象206可包括关于所选中的对象301、302的有助于在文档340中创建、操纵和/或显示对象的信息。在该点上,应当理解,依照本发明的示例性实施例的范围,贯穿此文档,诸如“显示”、“重画”、“重涂”、和“呈现”等术语以及这些术语的派生词所涉及的功能可包括任何内容,包括导致使对象、元素等可见、可读、可检测、可知觉、可访问等的术语的明显意义。此外,这些术语可指示与已经可见、可读、可检测、可知觉、可访问等的已有对象、元素等有关的添加、替换、重写或任何其它适用的操作。应当理解,尽管在本示例性过程800以及本发明讨论的其它示例性过程中涉及选择对象206,然而在本发明的示例性实施例的范围内,这些示例性过程也可不涉及选择对象206而执行。
示例性过程800继续到步骤806,文档视图模块202可创建可储存在高亮列表模块208中的高亮对象311、312。然后,示例性过程800继续到步骤808,高亮列表模块208可创建同样可储存在高亮列表模块208中的至少一个多选高亮对象313。多个高亮对象212可基于高亮对象311、312。依照先前对图2所讨论的,多选高亮对象313可被配置成对高亮对象311、312定界,如图3E所示。
示例性过程800在步骤810结束,文档阅读模块202可显示高亮对象341、342和多选高亮对象343,如图3E的示例性屏幕视图340中所示的。由此,可响应于对象301、302的连续多选操作,执行示例性过程800以从示例性屏幕视图330(图3D)进展到示例性屏幕视图340(图3E)。
依照本发明的示例性实施例,应当理解,创建和显示高亮对象341、342和多选高亮对象343的过程可在同一步骤、行动或功能等中发生。因此,在此处以及贯穿本文档可以理解,显示任何对象(例如341、342、343)的步骤、行动或功能等可以隐含地包括创建这些对象的步骤、行动或功能等,反之亦然。
图9所示是依照本发明的各种示例性实施例在一顺序多选操作中选择多个对象301、302(例如,图3D)的示例性过程900的逻辑流程图。顺序多选操作也在上文如参考图3B和3F描述。示例性过程900从步骤902开始,文档视图模块202可接收对第一选中对象的选择输入。例如,参考图3F,文档视图模块202可接收对对象302的选择信息。用户可如使用诸如鼠标142和/或键盘140(图1)等用户接口元件来执行第一对象302的这一顺序选择。此外,可从监视器147(图1)获得该操作的视觉反馈。
在步骤902之后,在示例性过程900的步骤904中,文档视图模块202可创建可储存在选择列表模块204中的选择对象206,以及可储存在高亮列表模块208中的高亮对象352(例如,图3F),以表示第一选中对象302。示例性过程继续到步骤906,文档视图模块202可接收对第二选中对象,如图3F中的对象301的选择输入。第二对象301的这一选择也可使用图1所示的一个或多个用户接口元件完成。
在步骤906后,在步骤908中,文档视图模块202可创建也可储存在选择列表模块204中的第二选择对象206,以及也可储存在高亮列表模块208中的第二高亮对象351(如图3F),以表示第二选中对象301。示例性过程900然后继续到步骤910,高亮列表模块208可创建也可储存在高亮列表模块208中,并被配置成界定多个选中对象301、302的多选高亮对象353。
在步骤910后,示例性过程900继续到步骤912,高亮列表模块208修改多选高亮对象353,使其与第一选中对象302的方向对齐,后者因此为初选对象302。示例性过程900然后在步骤914结束,文档视图模块202可显示高亮对象351、352和多选高亮对象353,如图3F的示例性屏幕视图350中所示的。由此,可响应于对象301、302的顺序多选动作执行示例性过程900,以从示例性屏幕视图330(图3D)进展到示例性屏幕视图350(图3F)。
图10所示是依照本发明的各种示例性实施例旋转多个选中对象301、302(例如,图3B)的示例性过程1000的逻辑流程图。示例性过程1000从步骤1002开始,文档视图模块202检测多选高亮对象313的旋转图柄315的移动。在该点上,例如,依照上述示例性过程800、900之一,对象301、302已被选中。然后,示例性过程1000在步骤1004结束,文档视图模块在相对旋转图柄315的移动和轴针316的位置的方向上显示高亮对象311、312和多选高亮对象313。这一步骤1004可促使以图3C所示的方式显示多个选中对象301、302、高亮对象311、312和多选高亮对象313。
图11所示是依照本发明的各种示例性实施例旋转多个选中对象301、302(例如,图3B)的另一示例性过程1100的逻辑流程图。示例性过程1100从步骤1102开始,文档视图模块202在旋转图柄附近检测用户接口。示例性过程1100继续到步骤1104,文档视图模块202显示多选高亮对象313,以包括轴针316,并且依照某些示例性实施例,也包括将旋转图柄315连接到轴针316的连接线317。这可促使如图3B所示的显示多选高亮对象313以及轴针316和连接线317。
在步骤1104后,示例性过程1000继续到步骤1106,文档视图模块202检测轴针316的定位。例如,用户可以使用诸如鼠标142和/或键盘140等用户接口来选择并重新定位轴针316。在该点上,图5A示出了示例性屏幕视图500,其中,轴针516从多选高亮对象513的典型中心位置上重新定位。在步骤1106后,文档视图模块202可检测用户接口对旋转图柄315(例如,图3B)的移动。
示例性过程1100然后从步骤1108继续到步骤1110,文档视图模块202可用信号向高亮列表模块208通知多选旋转操作的开始。作为这一步骤1110的结果,高亮列表模块208可相对旋转图柄315的移动临时更新高亮对象311、312和多选高亮对象313的方向。这允许旋转操作被中断,从而自动将高亮对象311、312和多选高亮对象313恢复到它们的原始方向,而无需执行反向或“撤消”操作。例如当在旋转操作被中断时,通过减少用户和/或高亮列表模块208将高亮对象311、312和多选高亮对象313恢复到在旋转操作开始前它们所具有的原始方向所需的操作。
在步骤1110后,在步骤1112,文档视图模块202在参考轴针316相对旋转图柄315的移动所旋转的方向上临时显示高亮对象311、312和多选高亮对象313。例如,如果旋转图柄315被拖动到逆时针方向45度的位置,则文档视图模块202也可在从其原始方向的45度逆时针方向上临时显示高亮对象311、312和多选高亮对象313。在旋转操作中,文档视图模块202可响应于旋转图柄315的移动,临时多次显示高亮对象311、312和高亮对象313,以向用户提供对象311、312、313的位置的视觉反馈。通常,临时显示对象311、312、313的步骤1112可以继续,直到用户如通过脱离旋转图柄315指示旋转操作的完成。此外,可在旋转操作中参考时间周期(例如,每毫秒一次)或旋转图柄315的移动(或无移动)来临时显示对象311、312、313。
在步骤1112后,示例性过程1100继续到步骤1114,文档视图模块202检测用户接口对旋转图柄315的脱离。例如,用户可使用诸如鼠标142等用户接口停止拖动和/或取消选中旋转图柄315。在步骤1114后,在步骤1116,文档视图模块202用信号向高亮列表模块208通知多选旋转操作的结束或完成。其结果是,高亮列表模块202可更新高亮对象311、312和多选高亮对象313,以反映对象311、312、313相对旋转图柄315和轴针316的最终的旋转后的方向。
示例性过程1100然后在步骤1118结束,文档视图模块202可显示高亮对象351、352和多选高亮对象353,以反映多选旋转操作的结果。例如,文档视图模块202可如图3C所示的显示对象311、312、313。由此,示例性过程1000和1100都描述了例如从示例性屏幕视图310(图3B)到示例性屏幕视图320(图3C)的进展的示例性步骤。
现在转到图12,示出的逻辑流程图说明了依照本发明的各种示例性实施例取消选中多个对象301、302(例如,图3C)的示例性过程1200。示例性过程1200从步骤1202开始,文档视图模块202检测多个选中对象301、302的取消选中。多个选中对象的取消选中能以各种方式执行。例如,用户可使用用户接口在高亮对象311、312和/或多选高亮对象313附近以外作出选择。也可以采取其它行动,例如,可通过用户使用一个或多个用户接口来执行取消选中,这对本领域的技术人员是显而易见的。
示例性过程1200从步骤1202继续到步骤1204,选择列表模块204清除它所储存的选择对象206。示例性过程从步骤1204继续到步骤1206,高亮列表模块208清除它所储存的高亮对象311、312和多选高亮对象313。由于对象311、312在步骤1202被取消选中,因此选择对象206、高亮对象311、312和多选高亮对象313不再需要储存,以协助显示先前的多个选中对象301、302。
示例性过程1200在步骤1208结束,文档视图模块202显示被取消选中的对象301、302,而不显示先前储存在高亮列表模块208中的对象311、312、313。这一步骤可促使如图3D所示的显示对象301、302,而不显示高亮对象311、312和多选高亮对象313。
图13所示是依照本发明的各种示例性实施例翻转多个对象401、402(例如,图4A)的示例性过程1300的逻辑流程图。示例性过程1300从步骤1302开始,文档视图模块202检测对多个选中对象401、402的多选翻转命令的输入。这一命令可以用各种方式提交,例如,通过使用鼠标142和/或键盘140的菜单选择或按键命令。如本领域中众所周知的,翻转命令可以是主应用程序模块200的内置功能,并可以有各种选项(例如,垂直或水平翻转)。
示例性过程1300在步骤1304结束,文档视图模块202显示依照翻转命令并相对轴针416翻转的高亮对象311、312和多选高亮对象313。由此,步骤1302和1304的执行可促使从示例性屏幕视图400(图4A)到示例性屏幕视图410(图4B)的进展。
图14所示是依照本发明的各种示例性实施例翻转多个对象501、502(例如,图5A)的另一示例性过程1400的逻辑流程图。示例性过程1400从步骤1402开始,文档视图模块202检测旋转图柄515附近的用户接口。用户可以通过例如使用鼠标142或键盘140将用户接口移到旋转图柄515的附近。在步骤1402后,在步骤1404,文档视图模块202显示多选高亮对象513,以包括轴针516,如图5A所示。如上文对图5A所讨论的,依照本发明的某些示例性实施例,轴针516以及连接线517可被配置成当用户接口被放置在旋转图柄515的附近时出现。
示例性过程1400前进到步骤1406,文档视图模块202探测轴针516的定位。例如,用户可使用诸如鼠标142和/或键盘140等用户接口来选择和重新定位轴针516。在该点上,图5A示出了示例性屏幕视图500,其中,轴针516已从它通常所在的多选高亮对象513的中心或近中心的位置重新定位。
在步骤1406后,在步骤1408,文档视图模块202检测多选翻转命令的输入。如上所述,多选翻转命令可以用本领域中已知的各种方式输入。作为这一步骤1408的结果,高亮列表模块208可依照翻转命令更新高亮对象511、512和多选高亮对象513。
示例性过程1400在步骤1410结束,文档视图模块202显示依照翻转命令且相对轴针516的位置翻转的高亮对象511、512和多选高亮对象513。例如,示例性过程1400的步骤1402-1410的执行可促使从示例性屏幕视图500(图5A)到示例性屏幕视图510(图5B)的进展。
现在转向图15,示出逻辑流程图说明依照本发明的各种示例性实施例调整多个对象601、602(例如,图6A或6C)的大小的示例性过程1500。示例性过程1500从步骤1502开始,文档视图模块202检测作为多选高亮对象613的一部分的选择图柄(例如,614A或614C)的移动。选择图柄614A、614C可由诸如鼠标142或键盘140等用户接口移动。步骤1502可促使相对选择图柄614A、614C的移动来调整高亮对象611、612和多选高亮对象613的大小。
示例性过程1500在步骤1504结束,文档视图模块202显示相对选择图柄614A、614C的移动经调整大小后的高亮对象611、612和多选高亮对象613。步骤1502和1504的执行可促使从示例性屏幕视图600、620(图6A、6C)到示例性屏幕视图610、630(图6B、6D)的进展。
图16所示是依照本发明的各种示例性实施例调整多个选中对象701、702、703(例如,图7A)的另一示例性过程1600的逻辑流程图。示例性过程1600从步骤1602开始,文档视图模块202检测作为多选高亮对象713的一部分的选择图柄(例如,714A或714B)的移动。选择图柄714A、714B可由诸如鼠标142或键盘140等用户接口移动。步骤1602可促使相对选择图柄714A、714B的移动来调整高亮对象711、712和多选高亮对象716的大小的更新。
示例性过程1600从步骤1602继续到步骤1604,文档视图模块202用信号向高亮列表模块208通知多选调整大小操作的开始。作为该步骤1604的结果,高亮列表模块208可相对选择图柄714A、714B的移动临时更新高亮对象711、712、713和多选高亮对象716。这允许调整大小操作被中断,从而自动将高亮对象711、712、713和多选高亮对象716恢复到它们的原始尺寸,而无需执行反向或撤消动作。例如,当调整大小操作被中断时,通过减少用户和/或高亮列表模块208将高亮对象711、712、713和多选高亮对象716恢复到在调整大小操作开始前它们所具有的原始尺寸所需的操作。
在步骤1604后,在步骤1606,文档视图模块202以相对选择图柄714A、714B的移动的大小临时显示高亮对象711、712、713和多选高亮对象716。例如,如果选择图柄714A被拖向多选高亮对象716的内部,则文档视图模块202能以相对其原始尺寸水平压缩的尺寸临时显示高亮对象711、712、713和多选高亮对象716。在调整大小操作中,文档视图模块202可响应于选择图柄714A、714B的移动多次临时显示高亮对象711、712、713和多选高亮对象716,以向用户提供对象711、712、713、716的位置的视觉反馈。通常,临时显示对象711、712、713、716的步骤1606可以继续,直到用户如通过脱离选择图柄714A、714B来指示调整大小操作的完成。此外,可在调整大小操作中参考时间周期(例如,每毫秒一次)或相对选择图柄714A、714B的移动(或无移动)来临时显示对象711、172、713、716。
在步骤1606后,示例性过程1600继续到步骤1608,文档视图模块202探测用户接口对选择图柄714A、714B的脱离。例如,用户可使用诸如鼠标142等用户接口停止拖动和/或取消选中选择图柄714A、714B。在步骤1608后,在步骤1610,文档视图模块202用信号向高亮列表模块208通知多选调整大小操作的结束或完成。其结果是,高亮列表模块202可更新高亮对象711、712、713和多选高亮对象716,以反映对对象711、712、713、716相对选择图柄714A、714B的最终的调整大小。
示例性过程1600在步骤1612结束,文档视图模块202显示高亮对象711、712、713和多选高亮对象716,以反映多选调整大小动作的结果。例如,文档视图模块202可如图7B所示的显示对象711、712、713、716。由此,示例性过程1600描述了例如从示例性屏幕视图700(图7A)到示例性屏幕视图710(图7B)进展的示例性步骤。
应当理解,上述内容仅涉及本发明说明性、示例性实施例。因此,还应当理解,可在不脱离由所附权利要求书定义的本发明的精神和范围的情况下对其作出众多改变。