CN112000265A - 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 - Google Patents
提供虚拟绘图辅助工具并与其交互的设备、方法和介质 Download PDFInfo
- Publication number
- CN112000265A CN112000265A CN202010806453.9A CN202010806453A CN112000265A CN 112000265 A CN112000265 A CN 112000265A CN 202010806453 A CN202010806453 A CN 202010806453A CN 112000265 A CN112000265 A CN 112000265A
- Authority
- CN
- China
- Prior art keywords
- touch
- contact
- screen
- sensitive surface
- area
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 170
- 230000004044 response Effects 0.000 claims abstract description 110
- 239000000945 filler Substances 0.000 claims abstract description 11
- 230000033001 locomotion Effects 0.000 claims description 395
- 238000009877 rendering Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 15
- 238000005520 cutting process Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 64
- 238000012545 processing Methods 0.000 description 61
- 230000000873 masking effect Effects 0.000 description 49
- 238000001514 detection method Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 26
- 239000003973 paint Substances 0.000 description 25
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 21
- 230000001960 triggered effect Effects 0.000 description 20
- 230000002093 peripheral effect Effects 0.000 description 19
- 230000003287 optical effect Effects 0.000 description 17
- 230000002441 reversible effect Effects 0.000 description 17
- 241000699666 Mus <mouse, genus> Species 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 230000003213 activating effect Effects 0.000 description 7
- 239000003086 colorant Substances 0.000 description 7
- 238000013519 translation Methods 0.000 description 7
- 244000132059 Carica parviflora Species 0.000 description 6
- 235000014653 Carica parviflora Nutrition 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000002156 mixing Methods 0.000 description 6
- 241001505456 Aloysia gratissima Species 0.000 description 5
- 235000018078 Aloysia gratissima var schulziae Nutrition 0.000 description 5
- 230000009471 action Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 235000002894 whitebrush Nutrition 0.000 description 5
- 241001422033 Thestylus Species 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 238000004091 panning Methods 0.000 description 4
- 229920006395 saturated elastomer Polymers 0.000 description 4
- 230000021317 sensory perception Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 239000001055 blue pigment Substances 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 244000144730 Amygdalus persica Species 0.000 description 2
- 235000006040 Prunus persica var persica Nutrition 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000037361 pathway Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 235000003940 Ceanothus thyrsiflorus Nutrition 0.000 description 1
- 241000229165 Ceanothus thyrsiflorus Species 0.000 description 1
- 241000870659 Crassula perfoliata var. minor Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000000049 pigment Substances 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04845—Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
- G06F3/04883—Interaction 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 for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
- G06F3/04886—Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- 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
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/22—Cropping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及提供虚拟绘图辅助工具并与其交互的设备、方法和介质。一种在具有存储器、触敏表面、显示器和一个或多个处理器的设备处执行的方法。该方法包括响应于预定义输入来在素描区域中显示屏幕上尺子。屏幕上尺子具有第一边缘和由第一边缘划定的内部部分。方法还包括响应于检测到指向屏幕上尺子的第一边缘的第一触摸输入,根据屏幕上尺子的第一边缘在素描区域中呈现线条。方法还包括响应于检测到指向屏幕上尺子的第一边缘的第二触摸输入,在素描区域的与由触敏表面上的第二触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加填充内容,使得素描区域的第一部分由第一边缘或线条限制。
Description
本申请是申请日为2016年5月20日、申请号为201680028077.7、名称为“提供虚拟绘图辅助工具并与其交互的设备、方法和介质”的发明专利申请的分案申请。
技术领域
本文整体涉及具有触敏表面的电子设备,包括但不限于具有提供虚拟绘图辅助工具的触敏表面的电子设备。
背景技术
提供虚拟设计和绘图工具的计算机程序在工业和个人使用设置两者方面具有广泛应用。一些应用提供允许用户基于接触(例如,由手指或触笔进行的接触)在触敏表面(例如,触控板或触摸屏显示器)上的徒手移动来绘制线条和对象的徒手素描能力。除了针对所使用的绘图工具(例如,笔、刷、铅笔等)选择颜色和质地之外,用户可能希望采用某些惯用绘图辅助工具,诸如直边尺、模板、量角器、角尺等。利用虚拟制图环境使用真实世界绘图辅助工具不便且困难。因此,在提供素描能力的计算机程序中提供虚拟绘图辅助工具将改善计算机程序的功能。采用某种方式提供功能性、有效且易于使用的虚拟绘图辅助工具具有挑战性。
发明内容
因此,本公开为电子设备提供了用于提供虚拟绘图辅助工具并与其进行交互的更快、更有效的方法和界面。此类方法和界面另选地补充或替换用于提供虚拟绘图辅助工具并与其进行交互的常规方法。此类方法和界面减少了对用户所造成的负担并且产生更有效的人机界面。而且,此类方法减小了处理用户输入所消耗的处理电力、节省了电力、减小了不必要/多余/重复输入,并且潜在地减小了存储器使用。对于电池驱动设备,此类方法和界面节省电池电力并且增加两次电池两次充电之间的时间。
在一些实施方案中,该设备为台式计算机。在一些实施方案中,该设备为便携式的(例如,笔记本电脑、平板电脑、或手持设备)。在一些实施方案中,该设备具有触摸板。在一些实施方案中,该设备具有触敏显示器(也被称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,设备具有图形用户界面(GUI)、一个或多个处理器、存储器、以及被存储在存储器中的用于执行多个功能的一个或多个模块、程序、或指令集。在一些实施方案中,用户主要通过触笔和/或手指接触以及触敏表面上的手势来与GUI进行交互。在一些实施方案中,这些功能任选地包括做笔记、图像编辑、绘图、呈现、文字处理、网页创建、盘编辑、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放、和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。另选地或除此之外,用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的暂态计算机可读存储介质或其他计算机程序产品中。
根据一些实施方案,在具有一个或多个处理器、存储器、触敏表面和显示器的设备上执行一种方法。该方法包括响应于预定义输入来在素描区域中显示屏幕上尺子。该屏幕上尺子具有第一边缘和由第一边缘划定的内部部分。该方法还包括,响应于检测到指向屏幕上尺子的第一边缘的第一触摸输入,根据屏幕上尺子的第一边缘而在素描区域中呈现线条。该方法还包括响应于检测到指向屏幕上尺子的第一边缘的第二触摸输入,在素描区域的与触敏表面上的第二触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加填充内容,使得素描区域的第一部分由第一边缘或该线条限制。
根据一些实施方案,在具有一个或多个处理器、存储器、触敏表面和显示器的设备上执行一种方法。该方法包括响应于预定义输入而在素描区域中显示屏幕上尺子。该屏幕上尺子具有第一边缘和由第一边缘划定的内部部分。该方法还包括检测指向屏幕上尺子的第一边缘的相应触摸输入。该方法还包括响应于检测到指向屏幕上尺子的第一边缘的相应触摸输入,在素描区域的与触敏表面上的相应触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加填充内容,使得素描区域的第一部分由第一边缘或该线条限制。
根据一些实施方案,一种电子设备包括:被配置为显示屏幕上尺子的显示单元;触敏表面单元;以及耦接至显示单元和触敏表面单元的处理单元。该屏幕上尺子响应于预定义输入而被显示在素描区域中。该屏幕上尺子具有第一边缘和由第一边缘划定的内部部分。该处理单元被配置为响应于检测到指向屏幕上尺子的第一边缘的第一触摸输入根据屏幕上尺子的第一边缘而在素描区域中呈现线条。该处理单元还被配置为响应于检测到指向屏幕上尺子的第一边缘的第二触摸输入而在素描区域的与触敏表面上的第二触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加填充内容,使得素描区域的第一部分由第一边缘或该线条限制。
根据一些实施方案,在具有一个或多个处理器、存储器、触敏表面和显示器的设备上执行一种方法。该方法包括接收线条绘制输入。该方法还包括根据线条绘制输入而在素描区域中呈现线条。该方法还包括在显示包括该线条的素描区域时,接收指向素描区域中的线条的填充手势。该方法还包括响应于接收到填充手势而在素描区域的与由触敏表面上的填充手势触摸的区域对应的并且由素描区域中的线条划定并部分包围的第一部分中添加填充内容。
根据一些实施方案,一种电子设备包括:显示单元;被配置为接收线条绘制输入的触敏表面单元;以及耦接至显示单元和触敏表面单元的处理单元。该处理单元被配置为根据线条绘制输入而在素描区域中呈现线条。该处理单元还被配置为在显示包括该线条的素描区域时,接收指向素描区域中的线条的填充手势。该处理单元还被配置为响应于接收到填充手势而在素描区域的与由触敏表面单元上的填充手势触摸的区域对应的并且由素描区域中的线条划定并部分包围的第一部分中添加填充内容。
根据一些实施方案,在具有一个或多个处理器、存储器、触敏表面和显示器的设备上执行一种方法。该方法:包括在显示器上显示屏幕上尺子;检测指向屏幕上尺子的旋转手势的第一部分,其中检测旋转手势的第一部分包括检测第一接触围绕触敏表面上的枢转位置在第一方向上的第一移动;响应于检测到指向屏幕上尺子的旋转手势的第一部分:根据第一接触围绕触敏表面上的枢转位置的第一移动来将屏幕上尺子围绕显示器上的锚定点旋转第一角度量;以及根据确定屏幕上尺子在第一角度量的旋转时已进入到与第一对齐角相关联的第一对齐区域而将屏幕上尺子旋转第一调整量,以使屏幕上尺子与第一对齐角对准;在将屏幕上尺子旋转第一调整量之后,检测指向屏幕上尺子的旋转手势的第二部分,其中检测旋转手势的第二部分包括检测第一接触围绕触敏表面上的枢转位置在第二方向上的第二移动,并且其中在第二方向上的第二移动满足解除对齐标准;以及响应于检测到指向屏幕上尺子的旋转手势的第二部分而将屏幕上尺子旋转第二调整量,以使屏幕上尺子与和第一接触在触敏表面上的当前位置对应的相应屏幕上位置对准。
根据一些实施方案,一种电子设备包括:显示单元;触敏表面单元;以及耦接至显示单元和触敏表面单元的处理单元。该处理单元被配置为使得能够在显示器上显示屏幕上尺子;检测指向屏幕上尺子的旋转手势的第一部分,其中检测旋转手势的第一部分包括检测第一接触围绕触敏表面上的枢转位置在第一方向上的第一移动;响应于检测到指向屏幕上尺子的旋转手势的第一部分:根据第一接触围绕触敏表面上的枢转位置的第一移动来将屏幕上尺子围绕显示器上的锚定点旋转第一角度量;以及根据确定屏幕上尺子在第一角度量的旋转时已进入到与第一对齐角相关联的第一对齐区域而将屏幕上尺子旋转第一调整量,以使屏幕上尺子与第一对齐角对准;在将屏幕上尺子旋转第一调整量之后,检测指向屏幕上尺子的旋转手势的第二部分,其中检测旋转手势的第二部分包括检测第一接触围绕触敏表面上的枢转位置在第二方向上的第二移动,并且其中在第二方向上的第二移动满足解除对齐标准;以及响应于检测到指向屏幕上尺子的旋转手势的第二部分,将屏幕上尺子旋转第二调整量,以使屏幕上尺子与和第一接触在触敏表面上的当前位置对应的相应屏幕上位置对准。
根据一些实施方案,电子设备包括显示器、触敏表面、用于检测与触敏表面的接的触强度的可选的一个或多个传感器、一个或多个处理器、存储器、以及一个或多个程序;该一个或多个程序被存储在存储器中并被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行本文所述方法中的任一方法的操作或引起该操作的性能的指令。
根据一些实施方案,计算机可读存储介质(例如,非暂态计算机可读存储介质,或另选地暂态计算机可读存储介质)在其中存储有指令,该指令当由具有显示器、触敏表面、以及用于检测与触敏表面的接触的强度的任选的一个或多个传感器的电子设备执行时使得该设备执行本文所述方法中的任一方法的操作或引起该操作的性能。
根据一些实施方案,具有显示器、触敏表面、用于检测与触敏表面的接触的强度的任选的一个或多个传感器、存储器、以及执行被存储在存储器中的一个或多个程序的一个或多个处理器的电子设备上的图形用户界面包括在上述方法中的任一方法中所显示的元件中的一个或多个元件,该一个或多个元件响应于输入而被更新,如在本文所述的方法中的任一方法中所描述的。
根据一些实施方案,电子设备包括:显示器、触敏表面、用于检测与触敏表面的接触的强度的任选的一个或多个传感器;以及用于执行本文所述方法中的任一方法的操作或引起该操作的性能的装置。
根据一些实施方案,用于在具有显示器、触敏表面、用于检测与触敏表面的接触的强度的任选的一个或多个传感器的电子设备的信息处理装置包括用于执行本文所述方法中的任一方法的操作或引起该操作的性能的装置。
因此,具有显示器、触敏表面和用于检测与触敏表面的接触的强度的任选的一个或多个传感器的电子设备被提供有更快、更有效的方法和界面以用于提供绘图辅助工具并且与其进行交互,从而增大此类设备的效能、效率和用户满意度。此类方法和界面可补充或替换用于提供虚拟绘图辅助工具并与其进行交互的常规方法。
附图说明
为了更好地理解本发明的各种所描述的实施方案,应该结合以下附图参考下面的具体实施方式,在附图中,类似的附图标号在所有附图中指示对应的部分。
图1A为示出了根据一些实施方案的具有触敏显示器的便携式多功能设备的框图。
图1B为示出了根据一些实施方案的用于事件处理的示例性部件的框图。
图2示出了根据一些实施方案的具有触摸屏的便携式多功能设备。
图3为根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。
图4A示出了根据一些实施方案的便携式多功能设备上的应用程序的菜单的示例性用户界面。
图4B示出了根据一些实施方案的具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图5A-图5AL示出了根据一些实施方案的用于提供虚拟绘图辅助工具(例如,屏幕上尺子、自由线等)并与其进行交互的示例性用户界面。
图6A-图6I为示出了根据一些实施方案的用于提供虚拟绘图辅助工具(例如,屏幕上尺子)并与其进行交互的方法的流程图。
图7为示出了根据一些实施方案的用于提供虚拟绘图辅助工具(例如,屏幕上尺子)并与其进行交互的方法的流程图。
图8A-图8C为示出了根据一些实施方案的用于提供虚拟绘图辅助工具(例如,自由线)并与其进行交互的方法的流程图。
图9A-图9C为示出了根据一些实施方案的用于提供虚拟绘图辅助工具(例如,旋转屏幕上尺子)并与其进行交互的方法的流程图。
图10为根据一些实施方案的电子设备的功能框图。
图11为根据一些实施方案的电子设备的功能框图。
具体实施方式
在提供徒手素描能力的应用程序中,诸如做笔记应用程序、素描应用程序、剪贴簿应用程序等,绘图工具被提供至用户,以绘制各种颜色和质地的线条和对象。尽管在许多情况下徒手素描快捷而便利,但是用户可能有时还希望采用绘图辅助工具来使得素描更准确并且经过抛光处理。本公开描述了提供了屏幕上尺子的设备、方法和用户界面,该屏幕上尺子提供有助于由用户进行徒手素描的许多功能,包括线条绘制、掩蔽和填充功能。在一些实施方案中,屏幕上尺子的一些功能还由用户绘制的自由线提供。换言之,用户可通过自由线条绘制而自由地创建任何期望形状的定制虚拟绘图辅助工具。此外,本文还提供了操控屏幕上尺子或用户创建绘图辅助工具(例如,自由线)并与其进行交互的各种直观方式。
下面,图1A至图1B、图2和图3提供对示例性设备的描述。图4A-图4B和图5A-图5AL示出了用于提供虚拟绘图辅助工具并与其进行交互的示例性用户界面。图6A-图6I示出了用于提供虚拟绘图辅助工具(例如,屏幕上尺子)并与其进行交互的方法的流程图。图7示出了用于用于提供虚拟绘图辅助工具(例如,屏幕上尺子)并与其进行交互的方法的流程图。图8A-图8C示出了用于用于提供虚拟绘图辅助工具(例如,自由线)并与其进行交互的方法的流程图。图9A-图9C示出了用于提供虚拟绘图辅助工具(例如,旋转屏幕上尺子)并与其进行交互的方法的流程图。图5A-5AL中的用户界面用于示出图6A-图6I、图7、图8A-图8C和图9A-图9C中的过程。图10和图11示出了实现图5A-图5AL中的用户界面和图6A-图6I、图7、图8A-图8C和图9A-图9C中的过程的示例性电子设备。
示例性设备
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。在下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的彻底理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述熟知的方法、过程、部件、电路、和网络,从而不会不必要地模糊实施方案的各个方面。
还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一接触和第二接触均为接触,但它们不是同一个接触,除非上下文另外明确地指示。
在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”(“a”,“an”)和“该”旨在也包括复数形式,除非上下文另外明确地指示。还应当理解,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes”“including”“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联的过程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自Apple Inc.(Cupertino,California)的设备、iPod设备、和设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触摸板)的膝上型电脑或平板电脑。还应当理解的是,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户界面设备,诸如物理键盘、鼠标和/或操纵杆。
该设备通常支持各种应用程序,诸如以下应用程序中的一个或多个应用程序:绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字摄像机应用程序、web浏览应用程序、数字音乐播放器应用程序、和/或数字视频播放器应用程序。
在设备上执行的各种应用程序任选地使用至少一个通用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息任选地针对不同应用程序而被调整和/或变化,和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
现在关注具有触敏显示器的便携式设备的实施方案。图1A为示出了根据一些实施方案的具有触敏显示器系统112的便携式多功能设备100的框图。触敏显示器系统112有时为了方便而被叫做“触摸屏”,并且有时被简称为触敏显示器。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、外围设备接口118、RF电路108、音频电路110、扬声器111、麦克风113、输入/输出(I/O)子系统106、其他输入、或控制设备116、和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100(例如,触敏表面,诸如设备100的触敏显示器系统112)上的接触的强度的一个或多个强度传感器165。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器167(例如在触敏表面诸如设备100的触敏显示器系统112或设备300的触摸板355上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线103进行通信。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户的对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是有许多触摸的感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将生成典型(或普通)用户的所述感官知觉。
应当理解,设备100仅为便携式多功能设备的一个示例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件在硬件、软件、固件、或它们的任何组合(包括一个或多个信号处理电路和/或专用集成电路)中实施。
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如一个或多个CPU 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
外围设备接口118可被用于将设备的输入外围设备和输出外围设备耦接到存储器102和一个或多个CPU 120。该一个或多个处理器120运行或执行被存储在存储器102中的各种软件程序和/或指令集,以执行设备100的各种功能并处理数据。
在一些实施方案中,外围设备接口118、一个或多个CPU 120、和存储器控制器122任选地在单个芯片诸如芯片104上实现。在一些其他实施方案中,它们被任选地在独立的芯片上实现。
RF(射频)电路108接收和发送也被叫做电磁信号的RF信号。RF电路108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号来与通信网络以及其他通信设备进行通信。RF电路108任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路108任选地通过无线通信来与网络以及其他设备进行通信,该网络为诸如互联网(也被称为万维网(WWW))、内联网、和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)、和/或城域网(MAN))。该无线通信任选地使用多种通信标准、协议、和技术中的任一者,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g和/或IEEE802.11n)、互联网协议语音技术(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS)、和/或短消息服务(SMS))、或者包括在本文档提交日期还未开发出的通信协议的其他任何适当的通信协议。
音频电路110、扬声器111和麦克风113提供用户和设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听到的声波。音频电路110还接收由麦克风113根据声波转换的电信号。音频电路110将电信号转换为音频数据,并将音频数据传输到外围设备接口118,以用于处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或RF电路108。在一些实施方案中,音频电路110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路110和可移除的音频输入/输出外围设备之间的接口,该可移除的音频输入/输出外围设备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
I/O子系统106将设备100上的输入/输出外围设备诸如触敏显示器系统112和其他输入或控制设备116与外围设备接口118耦接在一起。I/O子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其他输入或控制设备的一个或多个输入控制器160。该一个或多个输入控制器160从其他输入或控制设备116接收电信号/将电信号发送到其他输入或控制设备。其他输入或控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击式转盘等等。在一些另选实施方案中,一个或多个输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口、触笔、和/或指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。
触敏显示器系统112提供设备与用户之间的输入接口和输出接口。显示控制器156从触敏显示器系统112接收电信号和/或将电信号发送至触敏显示器系统112。触敏显示器系统112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频、和它们的任何组合(被统称为“图形”)。在一些实施方案中,一些视觉输出或全部视觉输出对应于用户界面对象。
触敏显示器系统112具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器、或传感器组。触敏显示器系统112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器系统112上的接触(和该接触的任何移动或中断),并且将检测到的接触转换为与被显示在触敏显示器系统112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在一个示例性实施方案中,触敏显示器系统112和用户之间的接触点对应于触笔或用户的手指。
触敏显示器系统112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其他实施方案中使用其他显示技术。触敏显示器系统112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触敏显示器系统112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一个示例性实施方案中,使用投射式互电容感测技术,诸如从Apple Inc.(Cupertino,California)的iPod和发现的技术。
触敏显示器系统112任选地具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏视频分辨率超过400dpi(例如,500dpi、800dpi或更大)。用户任选地使用任何合适的物体或附加物诸如触笔、手指等来与触敏显示器系统112接触。在一些实施方案中,将用户界面设计成与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以用于执行用户所期望的动作。
在一些实施方案中,除了触摸屏之外,设备100任选地包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施方案中,触摸板为设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板任选地为与触敏显示器系统112分开的触敏表面,或者为由触摸屏形成的触敏表面的延伸部分。
设备100还包括用于为各种部件供电的电力系统162。电力系统162任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电源状态指示器(例如,发光二极管(LED))、和与便携式设备中的电力的生成、管理和分配相关联的任何其他部件。
设备100任选地还包括一个或多个光学传感器164。图1A示出了与I/O子系统106中的光学传感器控制器158耦接在一起的光学传感器。一个或多个光学传感器164任选地包括电荷耦合器件(CCD)、或互补金属氧化物半导体(CMOS)光电晶体管。一个或多个光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也被叫做相机模块),一个或多个光学传感器164任选地捕获静态图像和/或视频。在一些实施方案中,光学传感器位于设备100的与设备前部上的触敏显示器系统112相背对的后部上,使得触摸屏能够用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,另一光学传感器位于设备的前部上,从而获取该用户的图像(例如,用于自拍、用于在用户在触摸屏上观看其他视频会议参与者时进行视频会议等等)。
设备100任选地还包括一个或多个接触强度传感器165。图1A示出与I/O子系统106中的强度传感器控制器159耦接的接触强度传感器。一个或多个接触强度传感器165任选地包括一个或多个压阻应变仪、电容式力传感器、电气式力传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统112)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备100的与位于设备100的前部上的触敏显示器系统112相背对的后部上。
设备100任选地还包括一个或多个接近传感器166。图1A示出与外围设备接口118耦接的接近传感器166。另选地,接近传感器166与I/O子系统106中的输入控制器160耦接。在一些实施方案中,当多功能设备被被放置在用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触敏显示器系统112。
设备100任选地还包括一个或多个触觉输出发生器167。图1A示出与I/O子系统106中的触觉反馈控制器161耦接的触觉输出发生器。一个或多个触觉输出发生器167任选地包括一个或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器、或其他触觉输出生成部件(例如,用于将电信号转换成设备上的触觉输出的部件)。触觉输出发生器167从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备100的与位于设备100的前部上的触敏显示器系统112相背对的后部上。
设备100任选地还包括一个或多个加速度计168。图1A示出与外围设备接口118耦接在一起的加速度计168。另选地,加速度计168任选地与I/O子系统106中的输入控制器160耦接。在一些实施方案中,基于对从该一个或多个加速度计所接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图显示信息。设备100任选地除了加速度计168之外还包括磁力仪(未示出)和GPS(或GLONASS或其他全球导航系统)接收器(未示出),以用于获取关于设备100的位置和取向(例如,纵向或横向)的信息。
在一些实施方案中,被存储在存储器102中的软件部件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位系统(GPS)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施方案中,存储器102存储设备/全局内部状态157,如图在1A和图3中所示的。设备/全局内部状态157包括以下各项中的一者或多者:活动应用程序状态,该活动应用程序状态用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,该显示状态用于指示什么应用程序、视图或其他信息占据触敏显示器系统112的各个区域;传感器状态,该传感器状态包括从设备的各个传感器和其他输入或控制设备116获取的信息;以及关于设备位置和/或姿态的位置和/或定位信息。
操作系统126(例如,iOS、Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动器,并且有利于各种硬件和软件组件之间的通信。
通信模块128促进通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与Apple Inc.(Cupertino,California)的一些设备、iPod设备、和iPod设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些实施方案中,外部端口是与AppleInc.(Cupertino,California)的一些设备、iPod设备、和设备中所使用的Lightning连接器相同或类似和/或兼容的Lightning连接器。
接触/运动模块130任选地检测与触敏显示器系统112(结合显示控制器156)和其他触敏设备(例如,触摸板或物理点击轮)的接触。接触/运动模块130包括各种软件部件以用于执行与(例如通过手指或触笔)接触检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的代替物)、确定是否存在接触的移动并跟踪跨触敏表面的移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已停止(例如,检测手指抬离事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),该接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触)。在一些实施方案中,接触/运动模块130和显示控制器156检测触摸板上的接触。
接触/运动模块130任选地检测由用户进行的手势输入。触敏表面上的不同手势具有不同的接触图案(例如,所检测到的接触的不同运动、定时、和/或强度)。因此,任选地通过检测具体接触图案来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,在触敏表面上检测手指轻扫手势包括检测手指按下事件、然后检测一个或多个手指拖动事件、并且随后检测手指抬离(抬离)事件。类似地,通过检测触笔的特定接触图案来任选地检测触笔的轻击、轻扫、拖动和其他手势。
图形模块132包括用于在触敏显示器系统112或其他显示器上呈现和显示图形的各种已知软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,包括但不限于文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块132存储用于表示待使用的图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器156。
触觉反馈模块133包括用于生成指令的各种软件部件,该指令由一个或多个触觉输出发生器167使用,以便响应于用户与设备100的交互而在设备100上的一个或多个位置处产生触觉输出。
任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、IM 141、浏览器147和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置并提供在各种应用程序中使用的这种信息(例如,提供至用于基于位置的拨号的电话138,提供至相机143作为图片/视频元数据,以及提供至提供基于位置的服务诸如天气桌面小程序、当地黄页桌面小程序、和地图/导航桌面小程序的应用程序)。
应用程序136任选地包括以下模块(或指令集)或者其子集或超集:
·联系人模块137(有时叫做通讯录或联系人列表);
·电话模块138;
·视频会议模块139;
·电子邮件客户端模块140;
·即时消息(IM)模块141;
·健身支持模块142;
·用于静态图像和/或视频图像的相机模块143;
·图像管理模块144;
·浏览器模块147;
·日历模块148;
·桌面小程序模块149,其任选地包括以下各项中的一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、词典桌面小程序149-5、和由用户获取的其他桌面小程序、以及用户创建的桌面小程序149-6;
·用于形成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
·搜索模块151;
·视频和音乐播放器模块152,任选地由视频播放器模块和音乐播放器模块构成;
·记事本模块153;
·地图模块154;和/或
·在线视频模块155。
任选地被存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、支持JAVA的应用程序、加密、数字权益管理、语音识别、和语音复制。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137包括用于管理通讯录或联系人列表(例如被存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中)的可执行指令,包括:将一个或多个姓名添加到通讯录;从通讯录删除一个或多个姓名;使一个或多个电话号码、一个或多个电子邮件地址、一个或多个物理地址或其他信息与姓名相关联;使图像与姓名相关联;对姓名归类和分类;提供电话号码和/或电子邮件地址以发起和/或促成通过电话138、视频会议139、电子邮件140、或IM 141的通信;等。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138包括用于进行以下操作的可执行指令:输入与电话号码对应的字符序列、访问通讯录137中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话、以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一者。
结合RF电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括根据用户指令来发起、进行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于进行以下操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字符、发送相应即时消息(例如,使用针对基于电话的即时消息的短消息服务(SMS)或多媒体消息服务(MMS)协议或者使用针对基于互联网的即时消息的XMPP、SIMPLE、Apple推送通知服务(APNs)或IMPS)、接收即时消息、以及查看所接收的即时消息。在一些实施方案中,所传输和/或接收的即时消息任选地包括图形、相片、音频文件、视频文件、和/或MMS和/或增强消息服务(EMS)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、APNs或IMPS发送的消息)两者。
结合RF电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154、和音乐播放器模块146,健身支持模块142包括用于以下操作的可执行指令:创建健身(例如具有时间、距离、和/或卡路里燃烧目标);与(运动设备和智能手表中的)健身传感器进行通信;接收健身传感器数据;校准用于监视健身的传感器;选择健身音乐并进行播放;以及显示、存储和传输健身数据。
结合触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于进行以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特征、和/或从存储器102删除静态图像或视频。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、呈现(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括根据用户指令来浏览互联网(包括搜索、链接到、接收、和显示网页或其部分、以及链接到网页的附件和其他文件)的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括用于根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4和词典桌面小程序149-5)、或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施方案中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中,桌面小程序包括XML(可延伸标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序创建器模块150包括用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令来搜索存储器102中的与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触敏显示器系统112上或在经由外部端口124无线连接的外部显示器上)的可执行指令。在一些实施方案中,设备100任选地包括MP3播放器,诸如iPod(Apple Inc.的商标)的功能。
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,记事本模块153包括用于根据用户指令来创建和管理记事本、待办事项等的可执行指令。
结合RF电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135和浏览器模块147,地图模块154包括用于根据用户指令来接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾车路线;与特定位置处或附近的商店及其他兴趣点有关的数据;以及其他基于位置的数据)的可执行指令。
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏112上或在无线连接的或经由外部端口124连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件、以及以其他方式管理一种或多种文件格式诸如H.264的在线视频的可执行指令。在一些实施方案中,使用即时消息模块141而不是电子邮件客户端模块140来发送至特定在线视频的链接。
上述模块和应用程序中的每个模块和应用程序对应于用于执行上述一种或多种功能以及本专利申请所述的方法(例如,本文所述的计算机实现的方法和其他信息处理方法)的可执行指令集。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器102任选地存储上述模块和数据结构的子集。此外,存储器102任选地存储上面未描述的附加模块和数据结构。
在一些实施方案中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触摸板来执行的设备。通过使用触摸屏和/或触摸板作为用于设备100的操作的主要输入控制设备,任选地减少设备100上的物理输入控制设备(诸如下压按钮、拨号盘等)的数量。
唯一地通过触摸屏和/或触摸板执行的该预定义的一组功能任选地包括在用户界面之间进行导航。在一些实施方案中,触摸板在被用户触摸时将设备100从被显示在设备100上的任何用户界面导航到主菜单、home菜单、或根菜单。在此类实施方案中,使用触摸板来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触摸板。
图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。在一些实施方案中,存储器102(图1A中)或存储器370(图3)包括事件分类器170(例如,在操作系统126中)和相应的应用程序136-1(例如,前述应用程序136、137至155、380至390中的任一个应用程序)。
事件分类器170接收事件信息并确定要将事件信息递送到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件分配器模块174。在一些实施方案中,应用程序136-1包括应用程序内部状态192,该应用程序内部状态指示当应用程序是活动的或正在执行时在触敏显示器系统112上显示的一个或多个当前应用程序视图。在一些实施方案中,设备/全局内部状态157被事件分类器170用于确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用于确定要将事件信息递送到的应用程序视图191。
在一些实施方案中,应用程序内部状态192包括附加信息,诸如以下各项中的一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示正被应用程序136-1显示的信息或准备好用于被应用程序136-1显示的信息的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状态或视图的状态队列、以及用户采取的先前动作的重复/撤销队列。
事件监视器171从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势的一部分的触敏显示器系统112上的用户触摸)的信息。外围设备接口118传输其从I/O子系统106或传感器(诸如接近传感器166、一个或多个加速度计168和/或麦克风113(通过音频电路110))接收的信息。外围设备接口118从I/O子系统106所接收的信息包括来自触敏显示器系统112或触敏表面的信息。
在一些实施方案中,事件监视器171以预先确定的间隔将请求发送至外围设备接口118。作为响应,外围设备接口118传输事件信息。在其他实施方案中,外围设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。
在一些实施方案中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器系统112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已在一个或多个视图内的什么位置发生的软件过程。视图由用户可在显示器上看到的控件和其他元件构成。
与应用程序相关联的用户界面的另一方面是一组视图,在本文中有时也被称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图任选地被称为命中视图,并且被认为是正确输入的事件集任选地至少部分地基于初始触摸的命中视图来确定,该初始触摸开始基于触摸的手势。
点击视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有以分级结构组织的多个视图时,命中视图确定模块172将命中视图识别为应当对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块所识别,命中视图通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块173确定仅命中视图才应接收特定子事件序列。在其他实施方案中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图是活跃参与的视图,并且因此确定所有活跃参与的视图应接收特定子事件序列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,但在分级结构中较高的视图将仍然保持为活跃参与的视图。
事件分配器模块174将事件信息分配到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施方案中,事件分配器模块174将事件信息递送到由活动事件识别器确定模块173确定的事件识别器。在一些实施方案中,事件分配器模块174在事件队列中存储事件信息,该事件信息由相应事件接收器模块182进行检索。
在一些实施方案中,操作系统126包括事件分类器170。另选地,应用程序136-1包括事件分类器170。在另一个实施方案中,事件分类器170是独立的模块,或者是被存储在存储器102中的另一个模块(诸如接触/运动模块130)的一部分。
在一些实施方案中,应用程序136-1包括多个事件处理程序190和一个或多个应用视图191,其中每个应用视图包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其他实施方案中,事件识别器180中的一个或多个事件识别器是独立模块的一部分,该独立模块诸如用户界面工具包(未示出)或应用程序136-1从中继承方法和其他属性的更高水平的对象。在一些实施方案中,相应事件处理程序190包括以下各项中的一者或多者:数据更新器176、对象更新器177、GUI更新器178和/或从事件分类器170接收的事件数据179。事件处理程序190任选地利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。另选地,应用程序视图191中的一个或多个应用程序视图包括一个或多个相应事件处理程序190。另外,在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178中的一者或多者被包括在相应应用程序视图191中。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息识别事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施方案中,事件识别器180还包括元数据183和事件递送指令188(其任选地包括子事件递送指令)的至少一个子集。
事件接收器182接收来自事件分类器170的事件信息。事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息任选地还包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到另一个取向(例如,从纵向取向旋转到横向取向,或反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较,确定一个事件或子事件,或确定或更新事件或子事件的状态。在一些实施方案中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他。在一些实施方案中,事件187中的子事件包括例如触摸开始、触摸结束、触摸移动、触摸取消、和多点触摸。在一个示例中,针对事件1(187-1)的定义是在显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬离(触摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)、以及预先确定时长的第二次抬离(触摸结束)。在另一个示例中,针对事件2(187-2)的定义是被显示对象上的拖动。例如,拖动包括被显示对象上的预先确定时长的触摸(或接触)、触摸在触敏显示器系统112上的移动、以及触摸的抬离(触摸结束)。在一些实施方案中,事件还包括用于一个或多个相关联的事件处理程序190的信息。
在一些实施方案中,事件定义187包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器184执行命中测试,以确定哪个用户界面对象与子事件相关联。例如,在触敏显示器系统112上显示三个用户界面对象的应用程序视图中,当在触敏显示器系统112上检测到触摸时,事件比较器184执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应当被激活。例如,事件比较器184选择与子事件和触发该命中测试的对象相关联的事件处理程序。
在一些实施方案中,对相应事件187的定义还包括延迟动作,该延迟动作延迟事件信息的递送,直到已确定子事件序列是否确实对应于或不对应于事件识别器的事件类型。
当相应事件识别器180确定子事件系列不与事件定义186中的任何事件匹配时,该相应事件识别器180进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理持续进行的基于触摸的手势的子事件。
在一些实施方案中,相应事件识别器180包括具有指示事件递送系统应该如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标志和/或列表的元数据183。在一些实施方案中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些实施方案中,元数据183包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
在一些实施方案中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施方案中,相应事件识别器180将与该事件相关联的事件信息递送到事件处理程序190。激活事件处理程序190不同于将子事件发送(和延期发送)到相应命中视图。在一些实施方案中,事件识别器180抛出与所识别的事件相关联的标记,并且与该标记相关联的事件处理程序190获取该标记并执行预定义的过程。
在一些实施方案中,事件递送指令188包括递送关于子事件的事件信息,而无需激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件系列相关联的事件处理程序或递送到活跃参与的视图。与子事件系列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。
在一些实施方案中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176对联系人模块137中所使用的电话号码进行更新,或者对视频播放器模块145中所使用的视频文件进行存储。在一些实施方案中,对象更新器177创建和更新在应用程序136-1中使用的对象。例如,对象更新器177创建新用户界面对象或更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并且将显示信息发送到图形模块132,以用于触敏显示器上的显示。
在一些实施方案中,一个或多个事件处理程序190包括数据更新器176、对象更新器177和GUI更新器178或者具有对数据更新器176、对象更新器177和GUI更新器178的访问权限。在一些实施方案中,数据更新器176、对象更新器177和GUI更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述讨论还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地结合单次或多次键盘按压或保持的鼠标移动和鼠标按钮按压;触摸板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;所检测到的眼睛移动;生物特征输入;和/或任选地被用作与用于限定要识别的事件的子事件对应的输入的它们的任意组合。
图2示出了根据一些实施方案的具有触摸屏(例如,图1A的触敏显示器系统112)的便携式多功能设备100。触摸屏任选地在用户界面(UI)200内显示一个或多个图形。在本实施方案中以及在下文中描述的其他实施方案中,用户能够通过例如利用一个或多个手指202(在图中不按比例绘制)或一个或多个触笔203(在图中不按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应应用程序。
设备100任选地还包括一个或多个物理按钮,诸如“home”按钮、或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。作为另外一种选择,在一些实施方案中,菜单按钮被实现为被显示在触摸屏显示器上的GUI中的软键。
在一些实施方案中,设备100包括触摸屏显示器、菜单按钮204、用于使设备通电/断电和用于锁定设备的下压按钮206、一个或多个音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212、和对接/充电外部端口124。下压按钮206被任选地用于:通过按下按钮并使按钮在下压状态保持预定义的时间间隔来使设备通电/断电;通过按下按钮并在经过预定义的时间间隔之前释放按钮来锁定设备;和/或对设备解锁或发起解锁过程。在一些实施方案中,设备100还通过麦克风113来接受用于激活或去激活某些功能的语音输入。设备100还任选地包括用于检测触敏显示器系统112上的接触的强度的一个或多个接触强度传感器165、和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器167。
图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些实施方案中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统、或控制设备(例如,家用控制器或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370、和用于将这些部件互连的一个或多个通信总线320。通信总线320任选地包括使系统部件互连并且控制系统部件之间的通信的电路系统(有时叫做芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,该显示器通常是触摸屏显示器。I/O接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触摸板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1A所述的一个或多个触觉输出发生器167)、传感器359(例如,光学传感器、加速度传感器、接近传感器、触敏传感器、和/或类似于以上参考图1A所述的一个或多个接触强度传感器165的接触强度传感器)。存储器370包括高速随机存取存储器诸如DRAM、SRAM、DDRRAM或其他随机存取固态存储器设备;并且任选地包括非易失性存储器诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备、或其他非易失性固态存储设备。存储器370任选地包括远离一个或多个CPU 310定位的一个或多个存储设备。在一些实施方案中,存储器370存储与便携式多功能设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子组。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块、和数据结构。例如,设备300的存储器370任选地存储绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1A)的存储器102任选地不存储这些模块。
图3中上述所识别的元件中的每个元件任选地被存储在先前提到的存储器设备中的一个或多个存储器设备中。上述所识别的模块中的每个模块对应于用于执行上述功能的一组指令。上述所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,并且因此这些模块的各种子集任选地在各种实施方案中被组合或以其他方式重新布置。在一些实施方案中,存储器370任选地存储上述模块和数据结构的子集。此外,存储器370任选地存储上面未描述的附加模块和数据结构。
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“UI”)的实施方案。
图4A示出根据一些实施方案的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施方案中,用户界面400包括以下元素或者其子集或超集:
·一个或多个无线通信(诸如蜂窝信号和Wi-Fi信号)的一个或多个信号强度指示符402;
·时间404;
·蓝牙指示符405;
·电池状态指示符406;
·具有常用应用程序的图标的托盘408,常用应用程序图标诸如:
ο电话模块138的被标记为“电话”的图标416,该图标416任选地包括未接来电或语音留言的数量的指示符414;
ο电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示符410;
ο浏览器模块147的被标记为“浏览器”的图标420;和
ο视频和音乐播放器模块152(也叫做iPod(Apple Inc.的商标)模块152)的被标记为“iPod”的图标422;以及
·其他应用程序的图标,诸如:
οIM模块141的被标记为“文本”的图标424;
ο日历模块148的被标记为“日历”的图标426;
ο图像管理模块144的被标记为“相片”的图标428;
ο相机模块143的被标记为“相机”的图标430;
ο在线视频模块155的被标记为“在线视频”的图标432;
ο股市桌面小程序149-2的被标记为“股市”的图标434;
ο地图模块154的标记“地图”的图标436;
ο天气桌面小程序149-1的被标记为“天气”的图标438;
ο闹钟桌面小程序149-4的被标记为“时钟”的图标440;
ο健身支持模块142的被标记为“健身支持”的图标442;
ο记事本模块153的被标记为“记事本”的图标444;和
ο设置应用程序或模块的图标446,该图标446提供对设备100及其各种应用程序136的设置的访问;
应当指出的是,图4A中示出的图标标签仅为示例性的。例如,在一些实施方案中,视频和音乐播放器模块152的图标422被标记为“音乐”或“音乐播放器”。其他标签任选地用于各种应用程序图标。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图4B示出了具有与显示器450分开的触敏表面451(例如,图3中的平板或触摸板355)的设备(例如,图3中的设备300)上的示例性用户界面。设备300还任选地包括用于检测触敏表面451上的接触的强度的一个或多个接触强度传感器(例如,传感器357中的一个或多个传感器),和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器359。
图4B示出了具有与显示器450分开的触敏表面451(例如,图3中的平板或触摸板355)的设备(例如,图3中的设备300)上的示例性用户界面。尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后的实施方案中的许多实施方案,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图4B中所示。在一些实施方案中,触敏表面(例如,图4B中的451)具有与显示器(例如,450)上的主轴线(例如,图4B中的453)对应的主轴线(例如,图4B中的452)。根据这些实施方案,设备检测与显示器上相应位置对应的位置处的与触敏表面451的接触(例如,图4B中的460和462)(例如,在图4B中,460对应于468并且462对应于470)。这样,在触敏表面(例如,图4B中的451)与多功能设备的显示器(图4B中的450)分开时,由设备在触敏表面上检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。作为另一个示例,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,而不是对接触的检测及之后停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。
如本文所用,术语“焦点选择器”是指用于指示用户正与其进行交互的用户界面的当前部分的输入元件。在包括光标或其他位置标记的一些具体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图3中的触摸板355或图4B中的触敏表面451)上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被调节。在包括使得能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图1A中的触敏显示器系统112或图4A中的触摸屏)的一些具体实施中,在触摸屏上所检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,通过接触的按压输入)时,该特定用户界面元素根据所检测到的输入而被调节。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键来将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据用户界面的不同区域之间的焦点移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制以便传送与用户界面的用户期望的交互(例如,通过向设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触摸板或触摸屏)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是设备的显示器上示出的其他用户界面元素)。
如在本说明书和权利要求书中所使用的,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触或触笔接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的代替物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如,至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均或者加和),以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触区域的大小和/或其变化、接触附近的触敏表面的电容和/或其变化、和/或接触附近的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代物测量直接用于确定是否已超过强度阈值(例如,强度阈值以与替代物测量对应的单位来描述)。在一些具体实施中,接触力或压力的代替物测量被转换成估计的力或压力,并且估计的力或压力用于确定是否已超过强度阈值(例如,强度阈值是以压力的单位测量的压力阈值)。使用接触的强度作为用户输入的属性,从而允许用户访问用户在用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入(例如,经由触敏显示器、触敏表面或物理控件/机械控件诸如旋钮或按钮)的实地面积有限的尺寸更小的设备上本来不能容易地访问的附加设备功能。
用户界面和相关联的过程
现在将注意力转到用户界面(“UI”)的实施方案和可在电子设备上实现的相关联的过程,该电子设备为诸如具有显示器、触敏表面和用于检测与触敏表面的接触强度的一个或多个传感器的便携式多功能设备100或设备300。
图5A-图5AL示出了根据一些实施方案的用于提供虚拟绘图辅助工具并与其(例如,屏幕上尺子、自由线等)进行交互的示例性用户界面。这些附图中的示例性用户界面被用于示出在下面描述的过程,包括图6A-图6I、图7、图8A-图8C和图9A-图9C中的过程。尽管将参考触摸屏显示器(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示器450分开的触敏表面451上的输入,如图4B中所示。
图5A示出了为便携式电子设备(例如,设备100,1A)提供素描功能的应用程序(例如,记事本应用程序、素描应用程序、剪贴簿应用程序等)的用户界面400。如图5A所示,用户界面400包括用于根据用户的绘图输入来绘制线条和对象的素描区域502(例如,具有背景颜色的绘制画布)。在一些实施方案中,用户界面400还包括工具选择区域504。在一些实施方案中,工具选择区域504包括表示各种绘制工具(例如,橡皮刷工具506、画笔工具508、铅笔工具510等)的图标。在一些实施方案中,工具选择区域504包括表示各种填充模式(例如,线条填充模式512、块填充模式514等)的图标。在一些实施方案中,工具选择区域504包括表示各种绘图辅助工具(例如,尺子516、正方形518、圆形520等)的图标。在一些实施方案中,工具选择区域504响应于用户输入(例如,从用户界面400或素描区域502的底部边缘向上轻扫引出工具选择区域504,而朝底部边缘向下轻扫取消工具选择区域504)而被调用或取消。
如图5A所示,在一些实施方案中,检测在触敏表面(例如,触摸屏112)上的与素描区域502内的两个独立点对应的两个位置上的两个同时和静止接触522a和522b(例如,两个手指接触、两个触笔接触或一个手指接触和一个触笔接触)使得虚拟绘图辅助工具(例如,直边尺524)出现在耦接到触敏表面(例如,触摸屏112)的显示器上。
在一些实施方案中,仅在检测到两个接触的抬离之后才显示虚拟绘图辅助工具(例如,直边尺524)。例如,触摸屏112上的素描区域502内的宽的两个手指轻击手势(例如,在向下触摸到触摸屏112上并且抬离触摸屏112时两个手指分隔开至少阈值距离)使得虚拟绘图辅助工具(例如,直角尺524)的显示出现在宽的两个手指轻击手势的位置上。
在一些实施方案中,在检测到接触中的一个或两个接触抬离之前显示虚拟绘图辅助工具(例如,直角尺524),并且保持在触敏表面上的一个或多个接触的随后移动随后被检测作为用于操控虚拟绘图辅助工具(例如,直角尺524)的另一输入的一部分。例如,在一些实施方案中,在两个手指向下触摸在触摸屏112上使得直角尺524出现在触摸屏上之后,手指中的一个手指可能抬离,并且触摸屏上的剩余的手指接触可在触摸屏上移动,以利用手指接触来拖动直角尺524。在其他示例中,在一些实施方案中,在两个手指向下触摸在触摸屏112上使得直角尺524出现在触摸屏上之后,手指接触中的一个手指接触可能保持静止而另一个手指接触围绕触摸屏上的静止手指接触枢转以利用枢转手指接触来旋转直角尺524。
在一些实施方案中,直角尺524具有两个相对的直边526和528。在一些实施方案中,直角尺524仅包括划定其在一侧上的边界的一个直边。在一些实施方案中,刻度线530沿直角尺524的一个或两个边缘而被显示,以指示直角尺524的长度尺度。在一些实施方案中,刻度线530的尺寸和间距取决于素描区域502的尺寸和/或显示器(例如,触摸屏112)的屏幕分辨率。在一些实施方案中,刻度线的尺寸和间距为用户可配置的。在一些实施方案中,刻度线530未被显示,直到检测到预先确定的用户输入(例如,触敏表面上的接触对应于沿尺子边缘中的一个尺子边缘的移动或者尺子边缘上的轻击)。
在一些实施方案中,直角尺524不透明并且完全屏蔽素描区域502中的直角尺524下方的内容(例如,当前存在于画布上的文本或素描)。在一些其他实施方案中,直角尺524透明或半透明并且显示出在素描区域502中直角尺524下方的内容。在一些实施方案中,直角尺524正下方的内容被扭曲(例如,放大、去放大或移位),以模拟直角尺524的折射属性。
在一些实施方案中,当显示直角尺524时,直角尺524的主体围绕显示器上的与连接在触敏表面上检测到的两个接触(例如,522a,522b)的线条对应的虚拟线条为中心。在一些实施方案中,直角尺524在显示器上的初始位置(例如,如尺子中心所表示的)被对齐到显示器上的一组预先确定的对齐坐标(例如,后台栅格上的坐标)中的最近的一组预先确定的对齐坐标。
在一些实施方案中,当显示直角尺524时,基于连接触敏表面(例如,触摸屏112)上的两个接触522a和522b的虚拟线条的方向来确定直角尺524的初始取向。在一些实施方案中,在直角尺524的内部部分中(或者在用户界面400中的另一位置处)显示角度指示符532,以指示直角尺524的当前取向。在一些实施方案中,在旋转直角尺524时动态地更新在角度指示符532中示出的角度值。在一些实施方案中,直角尺524的初始取向被对齐到一组预先确定的对齐角(例如,在0度-355度之间的每5度)中的最近的一组预先确定的对齐角。在一些实施方案中,角度指示符532包括刻度线或线段,以指示直角尺524的取向和地标角度值(例如,0度,45度,90度,135度,180度等)。在一些实施方案中,角度指示符530未被显示,直到满足一个或多个预先确定的标准(例如,当旋转尺子时或者当检测到尺子上的轻击时)。
在一些实施方案中,除了预先确定的手势(例如,宽的两个手指轻击手势)之外,在工具选择区域504中选择尺子工具516还使得直角尺524出现在素描区域502上。在一些实施方案中,直角尺524在通过对尺子工具516的选择而被调用时具有默认取向(例如,相对于水平方向的45度)。
在一些实施方案中,直角尺524在不活动时段之后自动消失(例如,在至少预先确定的时间段内未接收到指向直角尺524的用户输入时)。在一些实施方案中,响应于预先确定的撤销输入(例如,在触敏表面上的与直角尺524的屏幕上位置对应的位置处检测到的捏合手势(例如,两个接触向彼此移动)),直角尺524从显示器撤销。
在一些实施方案中,取决于尺子如何被调用到显示器,使用不同的启发式算法来确定何时从显示器撤销尺子。在一些实施方案中,如果直角尺524通过选择尺子工具516被调用,则通过尺子上的捏合手势来撤销直角尺524,并且如果直角尺524通过素描区域502内的画布上的两个接触被调用,则通过捏合手势或者在不活动时间段之后撤销尺子。在一些实施方案中,不管如何调用尺子,捏合手势撤销尺子,并且如果尺子通过选择尺子工具516被调用,则当另一绘图辅助工具通过选择工具选择区域504中的此类其他绘图辅助工具(例如,正方形工具518或圆形工具520)被激活时也撤销尺子。在一些实施方案中,如果直角尺524通过选择尺子工具516而被调用,则在第一不活动时间段之后撤销直角尺524,并且如果直角尺524通过画布上的两个接触被调用,则在不同于(例如,短于或者长于)第一不活动时间段的第二不活动时间段之后撤销直角尺524。
尽管图5A示出了直角尺作为尺子工具的示例,但是其他形状的尺子为可能的。如本文所使用的,除非另外指定,术语“尺子”包括具有平行直边的直角尺、具有至少一个直边和至少一个曲形边的尺子、具有形成夹角的两个直边的尺子、具有曲线边的尺子等中的任一者。在一些实施方案中,具有其他形状和关系的边缘的尺子以类似于相对于下图5F-图5I和图5N描述的直角尺524的那些形状和关系的方式有助于线条绘制、掩蔽和填充功能,并且可以类似于如本文相对于图5A、图5D-图5E、图5J-图5M、图5O和图5V-图AL所述的直角尺524的方式被操控。
图5B-图5C示出了可响应于对触敏表面(例如,触摸屏112)上的与素描区域502内的两个独立的点对应的两个位置处的两个同时并且静止接触522a和522b(例如,两个手指接触、两个触笔接触或者一个手指接触以及一个触笔接触)的检测而显示的两个其他虚拟绘图辅助工具。
在图5B中,响应于两个同时且静止的接触522a和522b(例如,宽的两个手指轻击手势的手指接触)而显示圆形(例如,圆形534)。基于触敏表面上的两个接触之间的间距(例如,等于或对应于)来确定圆形534的半径。在一些实施方案中,在检测到接触522a和522b抬离之前,接触522a和522b可在触敏表面上朝向彼此移动并且导致圆形534的半径对应减小,或者在触敏表面上远离彼此移动并且导致圆形534的半径对应增大。在一些实施方案中,在检测到对接触522a和522b的抬离之前,接触522a和522b可在触敏表面上沿一个方向或另一方向以同步的方式移动并且导致圆形534在显示器上的对应移动。
在一些实施方案中,圆形534为绘图辅助工具有助于以类似于下文相对于图5F-图5I和图5N所述的直角尺524的那些功能的方式的线条绘制、掩蔽和填充功能。在一些实施方案中,取决于当前在工具选择区域504选择的工具,对两个接触522a和522b的检测添加圆形534作为素描区域502中的内容对象或者作为虚拟绘图辅助工具。例如,在一些实施方案中,如果在工具选择区域504中选择绘图工具(例如,铅笔工具510)并且在工具选择区域504中未选择绘图辅助工具,则响应于对两个接触522a和522b的检测来将圆形534绘制为素描区域502中的内容对象。如果在工具选择区域504中选择圆形工具520,则圆形534被显示为素描区域502中的虚拟绘图辅助工具。
在图5C中,响应于两个同时且静止的接触522a和522b(例如,宽的两个手指轻击手势的手指接触)而显示正方形(例如,正方形536)。基于触敏表面上的两个接触之间的间距(例如,等于或对应于)来确定正方形536的对角线。在一些实施方案中,在检测到接触522a和522b的抬离之前,接触522a和522b可在触敏表面上朝向彼此移动并且导致正方形536的对角线长度对应减小,或者在触敏表面上远离彼此移动并且导致正方形536的对角线长度对应增大。在一些实施方案中,在检测到接触522a和522b的抬离之前,接触522a和522b可在触敏表面上沿一个方向或另一方向以同步方式移动并且导致正方形536在显示器上的对应移动。
在一些实施方案中,正方形536为绘图辅助工具,该绘图辅助工具有助于以类似于下文相对于图5F-图5I和图5N所述的直角尺524的那些功能的方式的线条绘制、掩蔽和填充功能。在一些实施方案中,取决于当前在工具选择区域504选择的工具,对两个接触522a和522b的检测添加正方形536作为素描区域502中的内容对象或者作为虚拟绘图辅助工具。例如,在一些实施方案中,如果在工具选择区域504中选择绘图工具(例如,铅笔工具510)并且在工具选择区域504中未选择绘图辅助工具,则响应于对两个接触522a和522b的检测来将正方形536绘制为素描区域502中的内容对象。如果在工具选择区域504中选择正方形工具518,则正方形536被显示为素描区域502中的虚拟绘图辅助工具。
在一些实施方案中,当在触敏表面(例如,触摸屏112)上的与素描区域502内的两个单独的点对应的两个位置上检测到两个同时且静止的接触522a和522b(例如,两个手指接触、两个触笔接触、或一个手指接触和一个触笔接触)时,设备100基于在工具选择区域504中当前所选择的绘图辅助工具来确定显示哪个虚拟绘图辅助工具(例如,直角尺524、圆形534和正方形536)。在一些实施方案中,当在工具选择区域504中选择相应绘图辅助工具图标时,还可响应于在触敏表面(例如,触摸屏112)上的与素描区域502内的两个单独的点对应的两个位置上检测到两个同时且静止接触522a和522b来显示其他绘图辅助工具,诸如角度、弧度、曲率模板等。
图5D示出了虚拟绘图辅助工具(例如,直角尺524)在显示器上的平移。在一些实施方案中,虚拟绘图辅助工具在素描区域502上相对于在素描区域502内的画布上绘制的内容平移。如图5D中所示,在一些实施方案中,在触敏表面上的与虚拟绘图辅助工具(例如,直角尺524)的屏幕上位置对应的位置上检测到的单个接触(例如,接触538)抓握并移动虚拟绘图辅助工具。绘图辅助工具(例如,直角尺524)在显示器上的移动对应于接触在触敏表面上的移动。如图5D中所示,当该接触移动虚拟绘图辅助工具(例如,直角尺524)时,绘图辅助工具的取向被保持。
在一些实施方案中,根据确定触敏表面上的接触538的初始位置对应于位于绘图辅助工具的中心部分(直角尺524的中心部分)内的屏幕上位置,在触敏表面(例如,触摸屏112)上检测到的接触538的移动被确定为平移手势。在一些实施方案中,绘图辅助工具的中心部分被定义为至少由虚拟绘图辅助工具的一个或多个边缘(例如,直角尺524的边缘526和528)包围并且远离虚拟绘图辅助工具的一个或多个边缘中的任何边缘(例如,直角尺524的边缘526和528)至少阈值距离的绘图辅助工具的内部区域。
图5E示出了虚拟绘图辅助工具(例如,直角尺524)在显示器上的旋转。在一些实施方案中,虚拟绘图辅助工具在素描区域502上相对于在素描区域502内的画布上绘制的内容旋转。如图5E中所示,在一些实施方案中,在触敏表面上检测到枢转手势,其中枢转手势包括触敏表面上的与虚拟绘图辅助工具(例如,直角尺524)上的第一点对应的第一位置处的静止接触(例如,静止接触540),以及触敏表面上的与虚拟绘图辅助工具(例如,直角尺524)上的第二点对应的第二位置处的枢转接触(例如,枢转接触542)。响应于枢转接触542的枢转运动,虚拟绘图辅助工具(例如,直角尺524)的一个部分围绕通过静止接触540保持静止的虚拟绘图辅助工具的另一部分运动(或枢转),使得虚拟绘图辅助工具(例如,直角尺524)旋转。
如图5E中所示,在一些实施方案中,角度指示符(例如,角度指示符532)被显示在虚拟绘图辅助工具(例如,直角尺524)上,以指示在虚拟绘图辅助工具的旋转期间的虚拟绘图辅助工具(例如,直角尺524)的当前取向。在一些实施方案中,在旋转停止后角度指示符自动消失。在一些实施方案中,当检测到枢转手势的终止时(例如,当检测到接触540和542中的一个或两个接触的抬离时),虚拟绘图辅助工具自动对齐到一组预设对齐角中的最近对齐角(从0度-355度每五度)。
图5F示出了根据一些实施方案的虚拟绘图辅助工具(例如,直角尺524)如何有助于线条绘制功能。在一些实施方案中,为了在素描区域中绘制线条,从工具选择区域504中选择具有理想颜色和质地的绘图工具。例如,可选择铅笔工具510以绘制具有相对均匀铅笔标记质地的相对细的线条,而可选择画笔工具508以绘制具有取决于用来绘制线条的接触的强度的更可变质地的相对粗的线条。在一些实施方案中,该擦除工具被处理为像绘图工具,诸如铅笔或画笔刷,区别在于不同于将颜色添加到素描区域中的绘图工具的路径中的像素,擦除工具将擦除工具的路径中的像素的任何现有颜色变为绘图画布的背景颜色。
在选择绘图工具(例如,铅笔工具510)之后,响应于在触敏表面上检测到与接触544的沿第一虚拟绘图辅助工具的边缘的屏幕上移动对应的移动,抵靠素描区域502中的虚拟绘图辅助工具(例如,直角尺524的边缘528)的第一边缘来绘制线条(例如,线条548)。在一些实施方案中,如图5F中所示,为了根据虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)来绘制线条548,与在触敏表面(例如,触摸屏112)上的接触544的移动对应的移动的屏幕上路径546被限制在距第一边缘(例如,直角尺524的边缘528)的预先确定的阈值距离(例如,10个像素)内。在一些实施方案中,如图5F中所示,即使屏幕上路径546不平滑也不顺直,或者严格来说不符合虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的形状,则只要屏幕上路径546满足预定义标准(例如,保持在距虚拟绘图辅助工具的第一边缘的预定义阈值距离内),所得到的抵靠第一边缘绘制的线条548便平滑并且完美符合虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的形状。
在一些实施方案中,与接触544在触敏表面上的移动相对应移动的屏幕上路径546可交叉进出第一边缘(例如,直角尺524的边缘528),但所得到的线条548完全由第一边缘(例如,直角尺524的边缘528)划定并且不移动到或移动远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)。
在一些实施方案中,基于与接触544在触敏表面(例如,触摸屏112)上的初始接触位置和抬离位置对应的屏幕上位置来确定线条548的开始点和结束点。在一些实施方案中,线条548的开始和/或结束自动对齐到素描区域502中的一组预先确定的对齐位置中的最近的一个或多个对齐位置。在一些实施方案中,基于沿尺子边缘的位置(例如,尺子边缘上每x个单元刻度线的位置)来确定对齐位置。
在一些实施方案中,长度指示符(例如,长度指示符550)被显示(例如,靠近线条548的端部),以动态指示线条548的当前长度。在一些实施方案中,以线条548交叉的刻度线的数量来表示线条的长度。在一些实施方案中,基于刻度线的长度标度和线条548交叉的刻度线的数量以线条548的实际的真实世界长度来表示线条的长度。
在一些实施方案中,线条548的质地和颜色贯穿其长度完全均匀。在一些实施方案中,线条548的颜色、饱和度和/或粗度根据接触544沿路径546的强度变化而变化。例如,接触544的较高强度对应于线条548的较深的、更饱和的和/或较粗的部分。在一些实施方案中,当线条548的粗度由于接触544沿屏幕上路径546的强度变化而沿线条548的长度变化时,线条粗度的变化仅反映在最远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的线条的一侧上,而线条的另一侧完全由虚拟绘图辅助工具的第一边缘划定。
图5G示出了根据一些实施方案的虚拟绘图辅助工具(例如,直角尺524)提供的掩蔽功能。在一些实施方案中,结合绘图工具(例如,铅笔工具510)或擦除工具506利用虚拟绘图辅助工具的掩蔽功能。
如图5G中所示,在一些实施方案中,当检测到接触(例如,接触552)在触敏表面(例如,触摸屏112)上的来回运动时触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。在一些实施方案中,来回运动沿远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值角度(例如,30度)的方向。在一些实施方案中,当与接触552在触敏表面上的初始位置对应的屏幕上位置远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值距离并且位于虚拟绘图辅助工具(例如,直角尺524)的主体的外部时,如图5G中所示,触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。在一些实施方案中,当接触在触敏表面(例如,触摸屏112)上的移动对应于跨虚拟绘图辅助工具的第一边缘并且沿屏幕方向远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值角度(例如,30度)的屏幕上移动时,触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。
在一些实施方案中,如图5G中所示,当虚拟绘图辅助工具的掩蔽功能被触发时,根据接触552在触敏表面(例如,触摸屏112)上的移动在素描区域502中绘制的线条556由虚拟绘图辅助工具来掩蔽,具体地由虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)来掩蔽。如图5G中所示,尽管与接触552在触敏表面(例如,触摸屏112)上的移动对应的屏幕上路径554在多个位置(例如,区域558在边缘558内而区域560在边缘528之外)与虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)交叉,但是根据屏幕上路径554绘制的线条556由虚拟绘图辅助工具的第一边缘来掩蔽。在该示例中,线条556仅在虚拟绘图辅助工具(例如,直角尺524)的外部上可见地被绘制,并且没有在虚拟绘图辅助工具的内部被绘制。另选地,线条556仅在虚拟绘图辅助工具的第一边缘的第一侧(例如,与接触552在触敏表面上相对于边缘528的初始位置对应的边缘528的一侧)上被绘制,并且在虚拟绘图辅助工具的第一边缘的另一侧(有时被称为掩蔽侧)上未被绘制。因此,在这些另选的实施方案中,即使接触552将继续经过虚拟绘图辅助工具的远侧,在与和接触552的初始位置对应的一侧相反的边缘528的一侧上的位置处也将不绘制线条556。
而且,在一些实施方案中,如果在触发绘图辅助工具的掩蔽功能时选择擦除工具,则擦除工具仅在虚拟绘图辅助工具的第一边缘暴露的画布的一侧上沿擦除工具的屏幕上路径擦除像素颜色。结果,虚拟绘图辅助工具的主体下方的像素由擦除工具屏蔽,即使擦除工具的屏幕上路径可能经过这些像素。另选地,在与和接触552的初始位置对应的一侧相反的第一边缘的掩蔽侧上的像素由擦除工具屏蔽,即使擦除工具(即,接触的)屏幕上路径可能经过这些像素。
在一些实施方案中,虚拟绘图辅助工具的掩蔽功能用于线条填充模式和块填充模式两者。在线条填充模式中,虚拟绘图辅助工具的掩蔽功能掩蔽根据接触的移动而绘制的线条。在块填充模式中,虚拟绘图辅助工具的掩蔽功能掩蔽与由接触在触敏表面上的移动跨越的区域对应的屏幕填充区域。在一些实施方案中,如果线条填充模式和块填充模式两者提供虚拟绘图辅助工具的掩蔽功能,并且使用相同手势(例如,接触552的来回移动、或者与在远离第一边缘的至少阈值角度的方向上与虚拟绘图辅助工具的第一边缘交叉的屏幕上移动对应的一个或多个接触的移动)触发虚拟绘图辅助工具的掩蔽功能,则用户可使用工具选择区域504中的模式选择图标(用于线条填充模式512的图标和用于块填充模式514的图标)来选择理想模式。如图5G中所示,使用用于线条填充模式512的图标来选择线条填充模式。
在一些实施方案中,除了使用工具选择区域504中的模式选择图标(例如,用于线条填充模式512的图标和用于块填充模式514的图标)来选择理想填充模式之外,基于在素描中当前使用的绘图工具的类型由设备自动选择理想填充模式。例如,一些绘图工具(例如,铅笔工具、钢笔工具、擦除工具等)默认用于线条填充模式,而其他绘图工具(例如,画笔、喷雾器等)默认用于块填充模式。在一些实施方案中,设备基于由当前选择的绘图工具绘制的线条的某些特征(例如,粗度、不透明度等)来自动确定是否默认使用线条填充模式或者块填充模式。例如,如果当前选择的绘图工具绘制的线条的粗度大于阈值粗度,则设备默认选择块填充模式,并且如果当前选择的绘图工具绘制的线条的粗度小于阈值粗度,则设备默认选择线条填充模式。在另一示例中,如果当前选择的绘图工具绘制的线条的不透明度大于阈值不透明度,则设备默认选择块填充模式,并且如果当前选择的绘图工具绘制的线条的不透明度小于阈值不透明度,则设备默认选择线条填充模式。
图5H和图5I示出了在用于块填充模式时虚拟绘图辅助工具的掩蔽功能。如图5H和图5I中所示,在模式选择区域504中选择块填充模式514。
如图5H中所示,接触(例如,接触562)在触敏表面(例如,触摸屏112)上的来回轻扫运动触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。在一些实施方案中,来回运动沿远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值角度(例如,30度)的方向。在一些实施方案中,当与接触562在触敏表面上的初始位置对应的屏幕上位置远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值距离并且位于在虚拟绘图辅助工具(例如,直角尺524)的主体的外部时,如图5H中所示,触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。在一些实施方案中,当接触在触敏表面(例如,触摸屏112)上的移动对应于跨虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)并且沿屏幕方向远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值角度(例如,30度)的屏幕上移动时,触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。
图5H示出了在块填充模式中根据接触562在触敏表面(例如,触摸屏112)上的移动来将预先选择的颜色和质地(例如,当前选择的绘图工具的颜色和质地)的填充内容添加到素描区域502中的填充区域(例如,填充区域566)。在一些实施方案中,填充区域566在一侧上由虚拟绘图辅助工具的第一边缘(例如,尺子524的边缘528)划定。如图5H中所示,填充区域566的紧邻虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的一侧平滑并且完全符合虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的形状,即使与接触562在触敏表面上的移动的移动对应的屏幕上路径在多于一个位置与虚拟绘图辅助工具的第一边缘交叉。例如,当根据接触562的移动和第一边缘(例如,边缘528)的形状来确定填充区域时,由接触562的来回屏幕上移动限定的区域可被拉伸和/或剪切,以符合虚拟绘图工具的第一边缘的形状,使得紧邻第一边缘的填充区域的边界将平滑并完全符合第一边缘的形状。
在一些实施方案中,在填充区域566的与紧邻虚拟绘图辅助工具的第一边缘的一侧相反的一侧上,填充区域566根据与接触562在触敏表面上的移动对应的屏幕上路径564而被划定。如图5H中所示,在虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的相对侧上的填充区域566的边界为波浪形和钩状的并且基于接触562的波浪形和钩状的屏幕上路径564。填充区域566的相邻填充部分之间的一些部分570未被填充,如图5H中所示。尽管填充区域566在虚拟绘图辅助工具的第一边缘的相对侧上的边界基于接触562的波浪形和钩状的屏幕上路径564,但是边界和路径不必精确匹配。在一些实施方案中,填充区域566在虚拟绘图辅助工具的第一边缘的相对侧上的边界相对于接触562的屏幕上路径564具有较小的钩状,并且包围未由接触562的屏幕上路径564跨过的至少一些区域。
在一些实施方案中(图5H中未示出),被添加到填充区域566的填充内容的填充因子在整个填充区域566上不需要一致。在一些实施方案中,屏幕上路径564多于一次跨过的填充区域566的部分被填充以较高填充因子(例如,较深颜色饱和度,和/或较少百分比的本色像素),而屏幕上路径564仅跨过一次或者完全没有由填充路径跨过的填充区域的部分被填充以较低填充因子(例如,较小颜色饱和度,和/或更大百分比的本色像素)。在一些实施方案中,填充因子在从紧邻虚拟绘图辅助工具的第一边缘的填充区域的边界朝向填充区域的相对边界的梯度上变化。
在一些实施方案中,其他侧上的填充区域566的边界根据与朝向虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的初始屏幕上移动和远离虚拟绘图辅助工具的第一边缘的最终屏幕上移动对应的屏幕上路径564的区段而被划定。
在一些实施方案中,在图5H中示出的块填充模式提供了更自然和手画填充模式的感觉,保留了用于绘制填充内容的绘图工具的各个笔划。在一些实施方案中,当需要更均匀和实心填充时,可选地使用在图5I中示出的块填充模式。在图5H中示出的块填充模式为在图5G中示出的线条填充模式与在图5I中示出的块填充模式之间的中间模式。
如图5I中所示,接触(例如,接触572)在触敏表面(例如,触摸屏112)上的来回运动触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。在一些实施方案中,来回运动沿远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值角度(例如,30度)的方向。在一些实施方案中,当与接触572在触敏表面上的初始位置对应的屏幕上位置远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值距离并且位于虚拟绘图辅助工具(例如,直角尺524)的主体的外部时,如图5I中所示,触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。在一些实施方案中,当接触在触敏表面(例如,触摸屏112)上的移动对应于跨虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)并且沿屏幕方向(例如,如由该方向和尺子边缘形成的较小角度所测量)远离虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)至少阈值角度(例如,30度)的屏幕上移动时,触发虚拟绘图辅助工具(例如,直角尺524)的掩蔽功能。
图5I示出了在块填充模式中根据接触572在触敏表面(例如,触摸屏112)上的移动来将预先选择的颜色和质地(例如,当前选择的绘图工具的颜色和质地)的填充内容添加到内容区502中的填充区域(例如,填充区域576)。在一些实施方案中,填充区域576在一侧上由虚拟绘图辅助工具的第一边缘(例如,尺子524的边缘528)划定。如图5I中所示,填充区域576的紧邻虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的一侧平滑并且完全符合虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的形状,即使与接触572在触敏表面上的移动的移动对应的屏幕上路径574在多于一个位置与虚拟绘图辅助工具的第一边缘交叉。例如,当根据接触572的移动和第一边缘(例如,边缘528)的形状来确定填充区域时,由接触572的来回屏幕上移动限定的区域可被拉伸和/或剪切,以符合虚拟绘图工具的第一边缘的形状,使得紧邻第一边缘的填充区域的边界将平滑并完全符合第一边缘的形状。
在一些实施方案中,在填充区域576的与紧邻虚拟绘图辅助工具的第一边缘的一侧相反的一侧上,填充区域566根据与接触572在触敏表面上的移动对应的连接屏幕上路径574的开始和结束的线条而被划定。如图5I中所示,虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的相对侧上的填充区域566的边界平滑且笔直,即使接触572的屏幕上路径574为波浪形和钩状的。填充区域576包括未由接触572的屏幕上路径574跨过的至少一些区域。
在一些实施方案中(图5I中未示出),被添加到填充区域576的填充内容的填充因子在整个填充区域576上不需要一致。在一些实施方案中,更靠近虚拟绘图辅助工具的第一边缘的填充区域576的部分被填充以较高填充因子(例如,较深颜色饱和度,和/或较少百分比的本色像素),而远离虚拟绘图辅助工具的第一边缘的填充区域的部分被填充以较低填充因子(例如,较小颜色饱和度,和/或更大百分比的本色像素)。在一些实施方案中,填充因子在从紧邻虚拟绘图辅助工具的第一边缘的填充区域的边界朝向填充区域的相对边界的梯度上变化。
在一些实施方案中,其他侧上的填充区域576的边界根据与朝向虚拟绘图辅助工具的第一边缘(例如,直角尺524的边缘528)的初始屏幕上移动和远离虚拟绘图辅助工具的第一边缘的最终屏幕上移动对应的屏幕上路径574的区段而被划定。
尽管直角尺被用来在上述示例中示出线条绘制、掩蔽,以及尺子边缘的填充功能,但是具有其他形状的边缘的尺子可用于以类似方式有助于线条绘制、掩蔽以及填充。
图5J示出了在虚拟绘图辅助工具(例如,直角尺524)上缩放的效果。在一些实施方案中,响应于缩放输入,内容区502以各种程度被缩放(例如,放大或缩小)。在一些实施方案中,使用捏合手势(用于缩小)或反向捏合手势(用于放大)来执行缩放输入。如图5J-图5K中所示的,执行缩放手势来放大在内容区502中的绘图画布上示出的内容(例如,内容对象580)。缩放手势由在触敏表面上的与显示器上的绘图画布上的位置(与虚拟绘图辅助工具上的位置相对)对应的位置处检测到的两个接触(例如,接触578a,578b)来执行。在缩放手势期间,两个接触(例如,接触578a,578b)彼此远离移动,以增大触敏表面上彼此之间的距离。响应于缩放手势,根据缩放手势,绘图画布上的内容依照缩放因子而被放大,如图5K所示。此外,如图5K所示,在一些实施方案中,在绘图画布上的内容的缩放期间,保持虚拟绘图辅助工具(例如,直角尺524)的尺寸和形状。此外,如图5K所示,在一些实施方案中,根据缩放因子,也缩放在虚拟绘图辅助工具(例如,直角尺524)上示出的刻度线的长度尺度(如刻度线530之间的间距所反映的)。通过根据素描内容的缩放因子在虚拟绘图辅助工具上改变刻度线的长度尺度,有助于用户在缩放动作之后保持绘图画布上的尺度感受。通过保持虚拟绘图辅助工具的尺寸和形状,有助于节省屏幕空间并且减小视觉混乱。
在一些实施方案中,虚拟绘图辅助工具(例如,直角尺524)为半透明或者透明的,并且在缩放动作期间从虚拟绘图辅助工具后方暴露所缩放的内容。
在一些实施方案中(未在图5K中示出),使用相同缩放因子与内容一起缩放虚拟绘图辅助工具。在虚拟绘图辅助工具不是直角尺但是具有更复杂形状的边缘时,缩放绘图辅助工具以及内容是有用的。在一些实施方案中,当在触敏表面上的与虚拟绘图辅助工具上的屏幕上位置对应的位置处检测到缩放手势时,虚拟绘图辅助工具被缩放而不缩放绘图画布上的内容。在一些实施方案中,在虚拟绘图辅助工具不是直角尺但是具有更复杂形状的边缘时,缩放虚拟绘图辅助工具而不缩放绘图画布上的内容是有用的。通过缩放具有更复杂形状的边缘的虚拟绘图辅助工具,可以不同尺寸来使用边缘用于线条绘制、掩蔽和填充功能。
图5L示出了根据一些实施方案的绘图画布在虚拟绘图辅助工具下方的平移。在一些实施方案中,平移手势被检测为指向绘图画布(与虚拟绘图辅助工具相反)。例如,在一些实施方案中,平移手势在接触578b抬离之后由接触578a提供。该平移手势包括接触578a在触敏表面上的移动。该平移手势使得绘图画布连同绘图画布上存在的内容(例如,内容580)根据与接触578a在触敏表面上的移动对应的屏幕上移动在内容区502内移动。
图5M示出了根据一些实施方案的响应于移动虚拟绘图辅助工具的平移手势的结束的制动运动来将虚拟绘图辅助工具(例如,直角尺524)对齐到最近的对齐位置。
如图5M所示,在一些实施方案中,指向虚拟绘图辅助工具(例如,直角尺524)的平移手势(例如,接触582的移动提供的平移手势)在内容区502中移动虚拟绘图辅助工具而不改变虚拟绘图辅助工具的取向。
在一些实施方案中,如上文相对于图5D所示的,基于与触敏表面上的检测到平移手势的接触的抬离处的位置对应的屏幕上位置来确定虚拟绘图辅助工具(例如,直角尺524)的最终位置。在一些实施方案中,在检测到平移手势的接触(例如,接触582)的抬离之前,在平移手势的接触的移动过程中检测到制动运动。在一些实施方案中,制动运动包括平移手势的接触(例如,接触582)的移动的减慢,或者平移手势的接触(例如,接触582)的移动的反向(例如,在接触582的屏幕上路径584中所示的移动的反向)。响应于刚好在平移手势的接触(例如,接触582)的抬离之前检测到平移手势的接触(例如,接触582)的制动运动,设备(例如,设备100)选择最靠近如基于接触(例如,接触582)的抬离位置确定的最终位置的对齐位置,并且将虚拟绘图辅助工具从如基于接触(例如,接触582)的抬离位置所确定的最终位置移动到所选择的对齐位置。如图5M所示,虚拟绘图辅助工具(例如,直角尺524)的初始位置由尺子阴影1(例如,标记为“1”)指示,如基于接触(例如,接触582)的抬离位置确定的最终位置由尺子阴影2(例如,标记为“2”)指示,以及所选择的对齐位置由虚拟绘图辅助工具(例如,直角尺524)的最终位置(例如,标记为“3”)指示。
图5N示出了根据一些实施方案的响应于绘制线条的线条绘制手势的结束处的制动运动来将抵靠虚拟绘图辅助工具的边缘(例如,直角尺524的边缘528)绘制的线条对齐到最近的对齐位置。
如图5N所示,在一些实施方案中,指向虚拟绘图辅助工具的边缘(例如,直角尺524的边缘528)的线条绘制手势(例如,接触582的移动提供的线条绘制手势)使得抵靠虚拟绘图辅助工具的边缘(例如,直角尺524的边缘528)绘制线条(例如,线条590)。
在一些实施方案中,如上文相对于图5F所示的,基于与触敏表面上的检测到线条绘制手势的接触(例如,接触544,图5F)的抬离处的位置对应的屏幕上位置来确定线条(例如,线条590)的结束位置。在一些实施方案中,在检测到线条绘制手势的接触(例如,接触586,图5N)的抬离之前,在线条绘制手势的接触(例如,接触586)的移动中检测到制动运动。在一些实施方案中,制动运动包括平移手势的接触(例如,接触582)的移动的减慢,或者平移手势的接触(例如,接触582)的移动的反向(例如,在接触586的屏幕上路径588中所示的移动的反向)。响应于刚好在线条绘制手势的接触(例如,接触586)的抬离之前检测到线条绘制手势的接触(例如,接触586)的制动运动,设备(例如,设备100)选择最接近如基于接触(例如,接触586)的抬离位置确定的线条(例如,线条590)的结束位置的对齐位置,并且将线条(例如,线条590)的结束从如基于接触(例如,接触586)的抬离位置所确定的结束位置移动到所选择的对齐位置。如图5N所示,线条(例如,线条590)的结束位置在接触586到达的最远点与接触586的最终抬离位置之间的某个位置。在一些实施方案中,长度指示符指示线条590的最终长度(例如,45刻度线)。在一些实施方案中,基于从一组对齐长度(例如,五个刻度线的倍数的长度)选择最终线条长度的需求来确定对齐位置。
图5O示出了根据一些实施方案的响应于旋转虚拟绘图辅助工具的枢转手势的结束的制动运动来将虚拟绘图辅助工具(例如,直角尺524)对齐到最近的对齐角。
如图5O所示,在一些实施方案中,指向虚拟绘图辅助工具(例如,直角尺524)的旋转手势(例如,由静止接触594a和围绕静止接触594a移动的枢转接触594b提供的枢转手势)在内容区502中旋转虚拟绘图辅助工具。
在一些实施方案中,如上文相对于图5E所示的,基于与触敏表面上的检测到枢转手势的枢转接触的抬离处的位置对应的屏幕上位置来确定虚拟绘图辅助工具(例如,直角尺524)的最终取向。在一些实施方案中,在检测到枢转手势的枢转接触(例如,接触594b)的抬离之前,在枢转手势的枢转接触的移动过程中检测到制动运动。在一些实施方案中,制动运动包括枢转手势的枢转接触(例如,枢转接触594b)的移动的减慢,或者枢转手势的枢转接触(例如,枢转接触594b)的移动的反向(例如,在枢转接触594b的屏幕上路径596中所示的移动的反向)。响应于刚好在枢转手势的枢转接触(例如,枢转接触594b)的抬离之前检测到枢转手势的枢转接触(例如,枢转接触594b)的制动运动,设备(例如,设备100)选择最靠近如基于枢转接触(例如,枢转接触594b)的抬离位置确定的最终取向的对齐取向,并且将虚拟绘图辅助工具从如基于枢转接触(例如,枢转接触594b)的抬离位置所确定的最终取向旋转到所选择的对齐取向。如图5O所示,虚拟绘图辅助工具(例如,直角尺524)的初始取向由尺子阴影1(例如,标记为“1”)指示,如基于枢转接触(例如,枢转接触594b)的抬离位置确定的最终取向由尺子阴影2(例如,标记为“2”)指示,并且所选择的对齐取向由虚拟绘图辅助工具(例如,直角尺524)的最终取向(例如,标记为“3”)指示。
在一些实施方案中,角度指示符(例如,角度指示符532)指示虚拟绘图辅助工具(例如,直角尺524)的最终取向(例如,远离水平方向350度)。在一些实施方案中,基于从一组对齐取向(例如,远离水平方向的5度倍数的取向)选择虚拟绘图辅助工具的最终取向的需求来确定对齐取向。在一些实施方案中,基于在屏幕上尺子的旋转期间(或者在旋转手势期间)屏幕上尺子的锚定位置(例如,锚定位置为与枢转手势的固定接触对应的固定的屏幕上位置,或者另选地,锚定位置为与旋转手势的两个接触对应的焦点选择器之间的静止或移动锚定位置(例如,锚定位置为与静止或移动枢转位置对应的屏幕上位置,两个接触围绕该移动枢转位置在触敏表面上的相反方向上旋转))来确定屏幕上尺子的取向。
图5A-图5O示出了设备软件预设的虚拟绘图辅助工具(例如,具有各种预定义边缘形状、正方形、圆形等的屏幕上尺子)。在一些实施方案中,自由线可选地由用户使用线条绘制工具(例如,铅笔)在内容区502中绘制,并且被用作定制化虚拟绘图辅助工具。例如,如图5P所示,自由线(例如,线条598)已由用户在内容区502中的绘图画布上绘制。该自由线具有至少一个边缘,该至少一个边缘在线条粗细度小并且可忽略不计时为线条本身。如果线条粗细度相对大且不可忽略不计,则自由线具有限定线条的粗细度的两个相对边缘。在一些实施方案中,用户可选择自由线并且使用自由线作为绘图辅助工具以针对其边缘中的一个边缘来跟踪附加线条,或者使用自由线作为用于绘制线条的掩膜,或者填充自由线下方的区域。在一些实施方案中,自由线的开始和结束彼此不相连,并且自由线划定并部分包围紧邻自由线的区域。在一些实施方案中,该自由线包括一个或多个环。
在一些实施方案中,用户可通过在对应控件上提供按压和保持输入以用于激活定制绘图辅助工具时首先选择自由线(例如,通过在自由线上轻击)来将在绘图画布上绘制的自由线临时变为定制绘图辅助工具。在一些实施方案中,用户可选择控件以用于首先激活定制绘图辅助工具,并且随后选择已绘制的自由线或者在作为绘图辅助工具的绘制画布上绘制新的自由线。在一些实施方案中,当用户选择控件以用于激活定制绘图辅助工具并且用户在触敏表面上提供预先确定的手势(例如,来回轻扫手势)时,与和触敏表面上的预先确定的手势的接触的移动对应的屏幕上路径接触的第一个线条被选择作为绘图辅助工具。被选择作为绘图辅助工具的线条随后被用于以线条填充模式或块填充模式而为接触的移动提供掩蔽功能。
在一些实施方案中,一旦自由线被选择作为定制化虚拟绘图辅助工具,以类似于相对于图5D-图5E,图5J-图5M,图5O和图5V-图5AL中的其他预定义虚拟绘图辅助工具(例如,直角尺524)所述的方式可选地操纵该自由线。
图5P示出了自由线(例如,线条598)已被选择作为定制化虚拟绘图辅助工具。在一些实施方案中,自由线(例如,线条598)被选择作为定制化虚拟绘图辅助工具,因为这是同样触发自由线(例如,线条598)的掩蔽功能的预先确定的手势(例如,来回轻扫手势)的接触(例如,接触597)的屏幕上路径(例如,屏幕上路径599)所面对的第一个线条。
如图5P中所示,在一些实施方案中,当在触敏表面(例如,触摸屏112)上检测到接触(例如,接触597)的来回运动时触发自由线(例如,线条598)的掩蔽功能。在一些实施方案中,当与接触597在触敏表面上的初始位置对应的屏幕上位置远离自由线(例如,线条598)至少阈值距离时触发自由线(例如,线条598)的掩蔽功能,如图5P所示。在一些实施方案中,当接触在触敏表面(例如,触摸屏112)上的移动对应于跨过自由线(例如,线条598)并且沿屏幕方向远离交叉位置处的自由线(线条598)至少阈值角度(例如,30度)的屏幕上移动时,触发自由线(例如,线条598)的掩蔽功能。
在一些实施方案中,如图5P中所示,当自由线的掩蔽功能被触发时,根据接触597在触敏表面(例如,触摸屏112)上的移动在素描区域502中绘制的线条595由自由线(例如,线条598)掩蔽。如图5P中所示,尽管与接触597在触敏表面(例如,触摸屏112)上的移动对应的屏幕上路径599在多个位置(例如,区域593和591跨过线条598)跨过自由线(例如,线条598),但是根据屏幕上路径599绘制的线条595由该自由线掩蔽。换言之,线条595仅在屏幕上路径599被发起的自由线(例如,线条598)的一侧上被可视地绘制。在一些实施方案中,如果在触发绘图辅助工具的掩蔽功能时选择擦除工具,则擦除工具仅在屏幕上路径599被发起的画布的一侧上沿擦除工具的屏幕上路径擦除像素颜色。换言之,自由线(例如,线条598)的另一侧上的像素由擦除工具屏蔽,即使擦除工具的屏幕上路径可能会经过这些像素。
在一些实施方案中,自由线的掩蔽功能用于线条填充模式和块填充模式两者。在线条填充模式中,自由线的掩蔽功能掩蔽根据接触的移动绘制的线条。在块填充模式中,自由线的掩蔽功能掩蔽与由接触在触敏表面上的移动跨越的区域对应的屏幕上填充区域。在一些实施方案中,如果线条填充模式和块填充模式两者提供自由线的掩蔽功能并且使用相同手势(例如,接触597的来回轻扫运动、或者一个或多个接触的与在远离交叉位置的自由线的至少阈值角度的方向上跨过自由线的屏幕上移动对应的移动)触发自由线的掩蔽功能,则用户可使用工具选择区域504中的模式选择图标(用于线条填充模式512的图标和用于块填充模式514的图标)来选择理想模式。如图5P中所示,使用用于线条填充模式512的图标来选择线条填充模式。
图5Q-图5T示出了用于块填充模式时的自由线的掩蔽功能。如图5Q-图5T中所示,在模式选择区域504中选择块填充模式514。
如图5Q中所示,接触(例如,接触589)在触敏表面(例如,触摸屏112)上的来回移动触发自由线(例如,线条598)的掩蔽功能。在一些实施方案中,当与接触589在触敏表面上的初始位置对应的屏幕上位置远离自由线(例如,线条598)至少阈值距离时触发自由线(例如,线条598)的掩蔽功能,如图5Q所示。在一些实施方案中,当接触在触敏表面(例如,触摸屏112)上的移动对应于跨过自由线(例如,线条598)并且沿屏幕方向远离交叉位置处的自由线(线条598)至少阈值角度(例如,30度)的屏幕上移动时,触发自由线(例如,线条598)的掩蔽功能。
图5Q示出了在块填充模式中根据接触589在触敏表面(例如,触摸屏112)上的移动来将预先选择的颜色和质地(例如,当前选择的绘图工具的颜色和质地)的填充内容添加到素描区域502中的填充区域(例如,填充区域587)。在一些实施方案中,填充区域587在一侧上由自由线(例如,线条598)划定。如图5Q中所示,填充区域587的紧邻自由线(例如,线条598)的一侧完全符合自由线(例如,线条598)的形状,即使与接触589在触敏表面上的移动的移动对应的屏幕上路径在多于一个位置跨越该自由线。例如,当根据接触589的移动和自由线(例如,线条598)的形状确定填充区域时,由接触589的来回屏幕上移动限定的区域可被拉伸和/或剪切以符合自由线的形状,使得紧邻第一边缘的填充区域的边界将完全符合自由线(例如,线条598)的形状。
在一些实施方案中,在填充区域587的与紧邻自由线(例如,线条598)的一侧相反的一侧上,填充区域587根据与接触589在触敏表面上的移动对应的屏幕上路径585而被划定。如图5Q中所示,填充区域587在自由线(例如,线条598)的相对侧上的边界为波浪形和钩状的并且基于接触589的波浪形和钩状的屏幕上路径585。填充区域587的相邻填充部分之间的一些部分未被填充,如图5Q中所示。尽管填充区域587在自由线(例如,线条598)的相对侧上的边界基于接触589的波浪形和钩状的屏幕上路径585,但边界和路径不必精确匹配。在一些实施方案中,填充区域587在自由线的相对侧上的边界下相对于接触589的屏幕上路径585具有较小的钩状,并且包围未由接触589的屏幕上路径585跨过的至少一些区域。
在一些实施方案中(图5Q中未示出),被添加到填充区域587的填充内容的填充因子在整个填充区域587上不需要一致。在一些实施方案中,屏幕上路径585多于一次跨过的填充区域587的部分被填充以较高填充因子(例如,较深颜色饱和度,和/或较少百分比的本色像素),而屏幕上路径仅跨过一次或者完全没有由填充路径跨过的填充区域的部分被填充以较低填充因子(例如,较小颜色饱和度,和/或更大百分比的本色像素)。在一些实施方案中,填充因子在从紧邻自由线的填充区域的边界朝向填充区域的相对边界的梯度上变化。
在一些实施方案中,填充区域587在其他侧上的边界根据与朝向自由线(例如,线条598)的初始屏幕上移动和远离自由线的最终屏幕上移动的屏幕上路径585对应的区段而被划定。
如图5R中所示,接触(例如,接触583)在触敏表面(例如,触摸屏112)上的来回运动触发自由线(例如,线条598)的掩蔽功能。在一些实施方案中,当与接触583在触敏表面上的初始位置对应的屏幕上位置远离自由线(例如,线条598)至少阈值距离时触发自由线(例如,线条598)的掩蔽功能,如图5R所示。在一些实施方案中,当接触在触敏表面(例如,触摸屏112)上的移动对应于跨过自由线(例如,线条598)并且沿屏幕方向(例如,如由线条和屏幕方向之间形成的较小角度所测量)远离交叉位置处的自由线(线条598)至少阈值角度(例如,30度)的屏幕上移动时,触发自由线(例如,线条598)的掩蔽功能。
图5R示出了在块填充模式中根据接触583在触敏表面(例如,触摸屏112)上的移动来将预先选择的颜色和质地(例如,当前选择的绘图工具的颜色和质地)的填充内容添加到内容区502中的填充区域(例如,填充区域581)。在一些实施方案中,填充区域581在一侧上由自由线(例如,线条598)划定。如图5R中所示,填充区域581的紧邻自由线(例如,线条598)的一侧完全符合自由线(例如,线条598)的形状,即使与接触583在触敏表面上的移动对应的移动的屏幕上路径579在多于一个位置跨越该自由线。例如,当根据接触583的移动和自由线(例如,线条598)的形状来确定填充区域时,由接触583的来回屏幕上移动限定的区域可被拉伸和/或剪切以符合自由线的形状,使得紧邻自由线的填充区域的边界将完全符合自由线的形状。
在一些实施方案中,在填充区域581的与紧邻自由线的一侧相反的一侧上,填充区域581根据与接触583在触敏表面上的移动对应的连接屏幕上路径579的开始和结束的线条而被划定。如图5R中所示,填充区域581在自由线(线条598)的相对侧上的边界平滑且笔直,即使接触583的屏幕上路径579为波浪形和钩状的。填充区域581包括未由接触583的屏幕上路径579跨过的至少一些区域。
在一些实施方案中(图5R中未示出),被添加到填充区域581的填充内容的填充因子在整个填充区域581上不需要一致。在一些实施方案中,更靠近自由线的填充区域581的部分被填充以较高填充因子(例如,较深颜色饱和度,和/或较少百分比的本色像素),而远离虚拟绘图辅助工具的第一边缘的填充区域的部分被填充以较低填充因子(例如,较小颜色饱和度,和/或更大百分比的本色像素)。在一些实施方案中,填充因子在从紧邻自由线的填充区域的边界朝向填充区域的相对边界的梯度上变化。
在一些实施方案中,填充区域581在其他侧上的边界根据与朝向自由线(例如,线条598)的初始屏幕上移动和远离自由线的最终屏幕上移动对应的屏幕上路径579的区段而被划定。
图5S-图5T示出了当自由线被用作虚拟绘图辅助工具时得自由线中的环路的两种另选处理。在图5S中,自由线(例如,线条577)包括两个环路(例如,环路567和569)。如图5S所示,自由线577已被选择作为虚拟绘图辅助工具,以用于掩蔽根据接触575在触敏表面上的移动而确定的填充区域573。在一些实施方案中,环路(例如,环路567和569)未由填充内容填充,并且在该示例性实例中,自由线(例如,线条577)的内包封被用于掩蔽填充区域(例如,填充区域573)。在一些实施方案中,即使与接触(例如,接触575)在触敏表面上的移动对应的屏幕上路径(例如,屏幕上路径571)跨越环路(例如,环路569)中的一个或多个环路,但并未填充环路。
在图5T中,自由线(例如,线条577)包括两个环路(例如,环路567和569)。如图5T所示,自由线577已被选择作为虚拟绘图辅助工具,以用于掩蔽根据接触575在触敏表面上的移动而确定的填充区域565。在一些实施方案中,环路(例如,环路567和569)由填充内容填充,并且在该示例性实例中,自由线(例如,线条577)的外包封被用于掩蔽填充区域(例如,填充区域565)。在一些实施方案中,即使与接触(例如,接触575)在触敏表面上的移动对应的屏幕上路径(例如,屏幕上路径571)未跨越环路(例如,环路569)中的一个或多个环路,但填充环路。
图5U示出了在绘图画布上的现有颜料笔划上方施加白涂料。在一些实施方案中,当使用原因提供非不透明质地(例如,水彩)的绘图工具在绘图画布上绘制笔划时,使用颜色加倍技术来确定绘制笔划多次经过的像素的最终颜色。例如,在绘图画布的顶部区域中,当在绘图画布上施加多个水平刷笔划时使用珊瑚色颜料。作为多个珊瑚色刷笔划的结果,重叠多个笔划的区域中的珊瑚色更深并且更饱和。基于预先确定的混合算法(例如,颜色倍增算法)来确定被施加到珊瑚色颜料刷多于一次经过的像素的真实颜色。在绘图画布的底部区域中,当在绘图画布上施加多个竖直刷笔划时使用桃色颜料。该桃色笔划彼此不重叠。在珊瑚色区域和桃色区域之间的区域中,当在绘图画布上施加多个竖直刷笔划时使用蓝色颜料。由于多个蓝色刷笔划,重叠多个笔划的区域中的蓝色更深并且更饱和。基于预先确定的相同混合算法(例如,颜色倍增算法)来确定被施加到蓝色颜料刷多于一次经过的像素的真实颜色。此外,珊瑚色区域和蓝色区域之间的重叠也有更深和更饱和的颜色,并且基于预先确定的相同混合算法(例如,颜色倍增算法)来确定呗施加到蓝色颜料刷和珊瑚色刷两者都经过的像素的真实颜色。在上述区域中,不管混合的颜色如何,更深和更暗的颜色是由使用颜色倍增算法的混合形式所导致的。
在一些实施方案中,当在另一非白色刷笔划上方施加白色刷笔划时,为了实现白涂料视觉效果,使用特殊混合过程。在一些实施方案中,对于由白色刷笔划触摸的每个像素:产生不透明白色层以覆盖像素的原始颜色。随后,使用软混合算法将像素的原始颜色与白色混合以获取白涂料颜色,并且将所获取的白涂料颜色施加到像素位置处的不透明白色层的顶部上。当白色刷再次经过该像素时重复相同的过程。如在区域561559和557中所示的,当在其他非白色笔划上方施加白色刷笔划时,示出了较浅的白涂料颜色。
在一些实施方案中,用于施加白涂料效果的示例性过程如下。设备在画布上接收第一多个颜料笔划,该第一多个颜料笔划具有第一非白色。设备在画布上呈现多个颜料笔划,呈现包括将由第一多个颜料笔划的至少一个颜料笔划触摸的相应第一颜色值施加到画布上的每个像素。在一些实施方案中,基于触摸该像素的第一多个颜料笔划中的颜料笔划的总数来计算被施加到像素的相应第一颜色值。在一些实施方案中,基于被施加到第一非白色的颜色倍增配方和触摸该像素的第一多个颜料笔划中的颜料笔划的总数来计算相应第一颜色值。在画布上呈现第一多个颜料笔划之后,设备接收第二多个颜料笔划,该第二多个颜料笔划具有白色并且与在画布上呈现的第一多个颜料笔划的至少一部分重叠。设备在第一多个颜料笔划的至少一部分上方呈现第二多个颜料笔划,其中呈现包括:对于第一多个颜料笔划的至少一部分中的每个像素,向像素施加白色,根据软混合配方基于被施加到像素和白色的相应第一颜色值来计算相应第二颜色值,以及向像素施加相应第二颜色值。在一些实施方案中,根据软混合配方基于被施加到像素和白色的相应第一颜色值来计算相应第二颜色值还包括向白色、相应第二颜色值、以及触摸该像素的第二多个颜料笔划中的颜料笔划的总数施加软混合配方。
在一些实施方案中,提供与虚拟绘图辅助工具的旋转相关联的角度对齐功能是理想的。例如,在一些实施方案中,当打开角度对齐模式时,为了将虚拟绘图辅助工具(例如,直角屏幕上尺子)旋转到与一组预设对齐角之一相关联的精确取向,用户仅需要将虚拟绘图辅助工具旋转到足够靠近理想的对齐角(例如,阈值对齐区域内)的取向,并且虚拟绘图辅助工具将自动对齐到理想对齐角(例如,通过自动旋转调节角度量)。图5E和图5O以及随附的描述公开了根据一些实施方案的角度对齐的一些细节。有时,用户可能希望临时禁用或暂停角度对齐模式,并且将虚拟绘图辅助工具自由旋转到预设对齐角之外的任何角度。图5V-图5AL示出了根据一些实施方案的用于响应于旋转手势的接触的移动而进入和离开角度对齐模式的过程。基于图5V-图5AL中描述的过程,用户可在连续旋转手势期间根据需要来触发角度对齐模式和自由旋转模式,而无需抬起旋转手势的枢转接触。
在图5V中示出了素描区域(例如,素描区域502)。在素描区域502内,示出了虚拟绘图辅助工具(例如,直边尺或可旋转的任何其他虚拟绘图辅助工具)的简化表示(例如,尺子轴555)。在一些实施方案中,尺子轴555的取向表示虚拟绘图辅助工具的取向。例如,直边尺的尺子轴555可选地为沿尺子主体纵向延伸的直边尺的中心轴。对于具有更复杂形状的另一虚拟绘图辅助工具,尺子轴可选地由沿虚拟绘图辅助工具的主体纵向延伸的中心轴来定义(例如,对于椭圆形尺子,尺子轴为椭圆形尺子的主轴)。
在一些实施方案中,如图5V中所示,指向屏幕上尺子的旋转手势(例如,如尺子轴555所表示)包括屏幕上尺子上的彼此间隔开至少阈值距离的两个接触(例如,接触553和551),其中接触中的一个接触(例如,接触551)为静止的并且其屏幕上位置充当尺子旋转的锚定位置,而另一接触(例如,接触553)围绕静止接触(例如,接触551)顺时针或逆时针方向枢转,以使得尺子(例如,如尺子轴555所表示)围绕锚定位置旋转。尽管在以下示例中的旋转手势为包括移动接触和静止接触的枢转手势,但是有时候,旋转手势的两种接触在旋转手势期间均可移动。例如,该旋转手势可包括由旋转手势的两个接触共享的平移分量。两个接触的共享平移运动可由两个移动接触之间的枢转位置(可起到尺子旋转的锚定位置的作用)的移动来表示,并且两个接触的旋转运动为相对于枢转位置在相反方向上的移动。
在一些实施方案中,在自由旋转模式中,尺子(如尺子轴555所表示)的旋转附连到围绕锚定位置(例如,围绕静止接触551的屏幕上位置或基于其他方法限定的另一锚定位置)的枢转接触的移动(例如,枢转接触553的运动)。换言之,在自由旋转模式中,尺子总是附接到移动接触或与移动接触对应的焦点选择器或随其一起移动。在一些实施方案中,如果两个接触在旋转手势期间围绕公共枢转位置移动,则任一接触在以下示例中可起到移动或枢转接触的作用。由接触的移动所限定的锚定位置(例如,锚定位置与触摸屏上的枢转位置相同,并且锚定位置位于与触敏表面上的枢转位置对应的屏幕上位置处)为相对于测量对齐角和尺子取向的位置。
在一些实施方案中,在角度对齐模式期间,尺子(例如,如尺子轴555所表示)在只要进入与预设对齐角相关联的相应对齐区域时就对齐(例如,自动旋转)到预设的对齐角。例如,尺子根据指向尺子的旋转手势的接触的移动而进入与预设的对齐角相关联的相应对齐区域,并且随后跳起远离该接触以对齐到该预设角度。一旦尺子对齐到预设的对齐角,接触便在预设对的齐角的对齐区域内的随后移动不再旋转尺子,直到接触再次移动到对齐区域之外以暂停角度对齐模式并开始自由旋转模式。当接触退出预设角度的对齐区域时,尺子对齐回到该接触,并且与对齐区域之外的移动接触一起自由旋转。
在一些实施方案中,基于旋转手势的锚定位置来确定对齐角以及与对齐角相关联的对齐区域。例如,如图5V所示,只要在屏幕上尺子上检测到旋转手势的两个接触(例如,接触553和551),就基于与旋转手势相关联的锚定位置来限定基准取向。例如,在一些实施方案中,锚定位置为与旋转手势的静止接触(例如,接触551)对应的屏幕上位置。在一些实施方案中,锚定位置为与位于旋转手势的两个移动接触之间并且为两个移动接触在相反方向上围绕其旋转的中心的枢转位置对应的屏幕上位置。在一些实施方案中,基准取向基于通过锚定位置的水平线,以及预设的对齐角为围绕锚定位置相对于基准取向(例如,水平线)的一组角度。在一些实施方案中,基准取向基于在检测到旋转手势时的尺子轴,并且预设的对齐角为围绕锚定位置相对于尺子轴的一组角度。在一些实施方案中,该锚定位置在旋转手势过程中不是静止的,并且基于旋转手势期间的当前锚定位置来动态地确定该组对齐角。
如图5V所示,在素描区域502中示出三个相邻对齐角(例如,标记为“1”,“2”和“3”),每个对齐角具有围绕对齐角的相应对齐区域(例如,由阈值角度范围(例如,+/-2度)限定)。图5V中示出的对齐角(例如,角度“1”,“2”和“3”)和相应对齐区域(例如,对齐区域549,547和545)被放大以便于进行图示。在实际具体实施中,可限定许多更多的对齐角(例如,每5度)和/或更小的对齐区域。每对相邻对齐区域之间的角度范围(例如,对齐区域545和547之间的角度范围、以及对齐区域547和549之间的角度范围)为自由旋转区域,并且在自由旋转区域内不发生角度对齐。
当用户希望将尺子旋转到对齐区域内的对齐角之外的角度时,仅基于尺子或移动接触是否进入或退出对齐区域而进入和退出角度对齐模式是不够的。
图5W-图5AA示出了根据一些实施方案的用于从对齐角的对齐区域内的对齐角对尺子解除对齐的过程。
如图5W所示,在旋转手势的初始位置期间,移动接触(例如,接触553)朝向对齐角“2”的对齐区域(例如,对齐区域547)移动。在进入对齐角“2”的对齐区域547之前,屏幕上尺子(例如,如尺子轴555所表示)随移动接触553移动并且围绕锚定位置(例如,由静止接触551限定的锚定位置)旋转。尽管在图5W中未示出,但是在对齐角“2”的对齐区域547之外时,移动接触553可围绕锚定位置(例如,由静止接触551限定的锚定位置)来回运动(例如,顺时针和逆时针)并且屏幕上尺子将随移动接触553自由地来回旋转。
如图5X所示,移动接触(例如,接触553)将屏幕上尺子拖动到对齐角“2”的对齐区域547中。只要屏幕上尺子(例如,如尺子轴555所表示)跨入对齐角“2”的对齐区域547(例如,整个尺子轴555在对齐区域547内),就激活角度对齐模式。如图5Y所示,当激活角度对齐模式时,屏幕上尺子(例如,如尺子轴555所表示)通过进一步自动旋转小的调节量而跳跃远离移动接触553并且对齐到对齐角“2”。在一些实施方案中,即使移动接触553继续围绕锚定位置在角度对齐区域547中向前移动(例如,沿顺时针方向),屏幕上尺子保持静止并且与对齐角“2”对准。
图5Z示出了在屏幕上尺子对齐到对齐角“2”之后,移动接触553制动并且返回以围绕锚定位置在相反方向上(例如,在逆时针方向上)移动。只要反向移动满足预先确定的解除对齐标准(例如,反向移动达到阈值距离(例如,10个像素))或阈值角度量(例如,1度)),就暂停角度对齐模式,并且激活自由旋转模式。在一些实施方案中,移动接触553不需要退出对齐区域547来满足预先确定的解除对齐标准。例如,当移动接触仍在对齐角“2”的对齐区域547内时,可满足解除对齐标准,如图5Z所示。在一些实施方案中,预先确定的解除对齐标准包括当移动接触退出对齐角“2”的对齐区域547时所满足的标准。
如图5AA所示,只要移动接触553的移动满足预先确定的解除对齐标准,屏幕上尺子(例如,如由尺子轴555所表示)就远离对齐角“2”移动,并且通过围绕锚定位置自动旋转适合量而对齐到移动接触553。
图5AB示出了在屏幕上尺子已从对齐角“2”解除对齐之后并且在处于自由旋转模式时,移动接触553可在对齐区域547内围绕锚定位置来自由旋转屏幕上尺子(例如,来回),并且在移动接触553在对齐区域547内围绕锚定位置的自由旋转移动期间屏幕上尺子将保持与移动接触553对准。
图5AC示出了在屏幕上尺子已从对齐角“2”解除对齐之后并且在处于自由旋转模式时,移动接触553可围绕锚定位置来自由旋转屏幕上尺子,以退出对齐区域547并进入相邻的自由旋转区域,并且在移动接触553围绕锚定位置从对齐区域547自由旋转移动到相邻自由旋转区域期间屏幕上尺子将保持与移动接触553对准。
图5AD示出了在屏幕上尺子已从对齐角“2”解除对齐之后并且在处于自由旋转模式时,移动接触553可在对齐区域547内和外围绕锚定位置自由旋转(例如,来回)屏幕上尺子(例如,一次或多次退出对齐区域547进入相邻的自由旋转区域,并且返回到对齐区域547),并且在移动接触553围绕锚定位置来回自由旋转移动进入和离开对齐区域547期间屏幕上尺子将保持与移动接触对准。在一些实施方案中(未在图5AD中示出),第二阈值被放置在相邻对齐区域之间(例如,阈值角度位于对齐区域547和对齐区域549之间),以用于重新启用角度对齐模式。换言之,如果移动接触553移动超过在对齐区域547和549之间设定的第二阈值角度,则重新启用角度对齐,并且当移动接触553再次返回到对齐区域547时,尺子将再次对齐到对齐角“1”。在一些实施方案中,第二阈值被放置在两个相邻对齐区域的中间(例如,对齐角“1”和对齐角“2”之间)。在一些实施方案中,每个对齐角具有其自身的一对第二阈值,以用于重新启用角度对齐。该对第二阈值位于对齐角的对齐区域之外(该对第二阈值中的一个第二阈值在对齐区域的每一侧上)。以下相对于图5AL来提供关于第二阈值的更多细节。
图5AE示出了在屏幕上尺子已从对齐角“2”解除对齐之后并且在处于自由旋转模式时,移动接触553可围绕锚定位置来自由旋转屏幕上尺子,以退出对齐区域547并进入相邻的自由旋转区域,并且在移动接触553在相邻自由旋转区域中围绕锚定位置的自由旋转移动期间屏幕上尺子将保持与移动接触对准。
图5AF-图5AG示出了在屏幕上尺子已从对齐角“2”解除对齐之后并且在处于自由旋转模式时,移动接触553可围绕锚定位置来自由旋转屏幕上尺子,以通过相邻的自由旋转区域并且进入相邻对齐角的对齐区域(例如,对齐角“1”的对齐区域549)。如图5F所示,移动接触553将屏幕上尺子拖动到对齐角“1”的对齐区域549中。只要屏幕上尺子(例如,如尺子轴555所表示)跨入对齐角“1”的对齐区域549(例如,整个尺子轴555在对齐区域549内),就重新激活角度对齐模式。如图5AG所示,当重新激活角度对齐模式时,屏幕上尺子通过进一步自动旋转小的量而跳跃远离移动接触553并且对齐到对齐角“1”。在一些实施方案中,即使接触553继续围绕锚定位置在角度对齐区域549中向前移动(例如,沿逆时针方向),屏幕上尺子仍保持静止并且与对齐角“1”对准。如图5AH-图5AI所示,即使移动接触553已移动通过对齐角“1”,屏幕上尺子仍保持对齐到对齐角“1”并且不跟随移动接触553,直到移动接触已移动到对齐角“1”的对齐区域549之外。
图5AJ示出了根据一些实施方案的移动接触553相对于素描区域502中的对齐角和相关联的对齐区域的两个示例性路径(例如,路径“A”和“B”)。在图5AJ中示出的实施方案中,解除对齐标准包括当移动接触(例如,接触553)的反向移动达到阈值量(例如,阈值角度量或阈值数量的像素)时满足的标准。此外,在此示例中,阈值量不足以使得移动接触退出当前对齐区域(例如,对齐区域547)。存在其中阈值量不足以使得移动接触退出当前对齐区域(例如,对齐区域547)的两种示例性场景。在第一种场景中,在一些实施方案中,用于暂停角度对齐模式的阈值角度在对齐角的对齐区域内。在第二种场景中,在一些实施方案中,阈值角度为固定角度量,并且反向移动发生在移动接触已经移动向前进入对齐区域大于固定角度量之后。
而且,在图5AJ中示出的实施方案中,一旦响应于移动接触的反向移动而暂停角度对齐模式,则角度对齐模式保持暂停,直到移动接触进入相邻对齐角的对齐区域。并且此刻用于暂停角度对齐模式的反向移动的效果被清除用于对尺子的随后旋转。换言之,用于重新启用角度对齐模式的阈值角度位于相邻对齐区域的边界处。例如,在暂停角度对齐模式时,移动接触可朝向相邻对齐角的对齐区域(例如,移动接触553进入对齐区域549或545)移动并进入该对齐区域,以重新启用角度对齐模式。一旦重新启用角度对齐模式,如果移动接触随后返回到对齐区域547,则角度对齐模式被重新激活以用于对齐角“1”,如同第一次被激活一样(例如,用于暂停角度对齐模式的反向移动的效果已被清除)。
在图5AJ中,沿示例性路径A和B,在角度对齐模式期间仅采取具有点划线的路径的区段并且在自由旋转模式期间采取余下的路径。因此,明显的是,可将屏幕上尺子旋转到相应对齐角的对齐区域内或外的任何理想角度。注意,在图5AJ示出的实施方案中,因为路径B中的移动接触553在重新进入对齐区域547之前从未到达对齐区域545,所以在接触553重新进入并在对齐区域547向对齐区域549移动时从未重新启用角度对齐模式(即,用于暂停角度对齐模式的接触553的初始反向移动的效果未被清除)。
图5AK示出了根据一些实施方案的移动接触553相对于素描区域502中的对齐角和相关联的对齐区域的两个示例性路径(例如,路径“A1”和“B1”)。在图5AK中示出的实施方案中,解除对齐标准包括当移动接触(例如,接触553)的反向移动达到阈值量(例如,阈值角度量或阈值数量的像素)时满足的标准,该阈值量不足以使得移动接触退出当前对齐区域(例如,对齐区域547)。在一些实施方案中,用于暂停角度对齐模式的阈值角度处于当前对齐区域的边界处,如图5AK所示。
而且,类似于在图5AJ中示出的实施方案,一旦响应于移动接触的反向移动而暂停角度对齐模式,则角度对齐模式保持暂停直到移动接触已进入相邻对齐角的对齐区域。在图5AK中,沿示例性路径A1和B1,在角度对齐模式期间仅采取具有点划线的路径的区段并且在自由旋转模式期间采取余下的路径。
图5AL示出了根据一些实施方案的移动接触553相对于素描区域502中的对齐角和相关联的对齐区域的两个示例性路径(例如,路径“A2”和“B2”)。在图5AL中示出的实施方案中,解除对齐标准包括当移动接触(例如,接触553)的反向移动达到阈值量(例如,阈值角度量或阈值数量的像素)时满足的标准,该阈值量不足以使得移动接触退出当前对齐区域(例如,对齐区域547)。在一些实施方案中,用于暂停角度对齐模式的阈值角度(例如,第一阈值角度)处于当前对齐区域(例如,对齐区域547)的边界处,如图5AL所示。
不同于图5AJ和图5AK所示的实施方案,在图5AL中示出的实施方案中,一旦响应于移动接触的反向移动通过第一阈值角度(例如,当前对齐区域的边界处的第一阈值角度)便保持暂停角度对齐模式,直到移动接触移动超过当前对齐区域(例如,对齐区域547)之外的第二阈值角度(例如,阈值角度543)。在一些实施方案中,每个对齐区域(例如,对齐区域547)具有一对第二阈值角度(例如,第二阈值角度543、以及第二阈值角度541)以用于重新启用角度对齐模式,其中一个第二阈值角度在当前对齐区域(例如,对齐区域547)的每一侧上。
在图5AL中,沿示例性路径A2和B2,在角度对齐模式期间仅采取具有点划线的路径的区段并且在自由旋转模式期间采取余下的路径。注意,在图5AL示出的实施方案中,因为路径B中的移动接触553到达通过第二阈值角度543,所以重新启用角度对齐模式(即,用于暂停角度对齐模式的接触553的初始反向移动的效果被清除),并且当接触553从超过第二阈值角度543返回并且重新进入对齐区域547时,角度对齐模式再次活动。当移动接触退出对齐区域547并且朝对齐区域549移动时关闭角度对齐模式。
应当注意,如图5C-图5AL所示的移动接触553的移动或路径的纵向分量(例如,沿尺子轴555的分量,朝向或者远离静止接触551或锚定位置)被放大,以用于更好示出该移动或路径的横向分量中的方向性变化。在一些实施方案中,在实际操作中,移动接触553的运动或路径的纵向分量可忽略不计或者小于阈值量(例如,10个像素),以避免屏幕上尺子的旋转期间的屏幕上尺子的无意平移。在一些实施方案中,在尺子旋转期间尺子的平移被禁用,并且因此,无需设定移动接触553的运动或路径的纵向分量的阈值。在一些实施方案中,基于旋转手势的两个接触围绕两个移动接触之间的共同枢转点的旋转运动来选择尺子旋转的锚定位置。在一些实施方案中,两个接触的移动可包括旋转手势期间的旋转分量和平移分量,并且锚定位置在尺子旋转期间可为非静止的。
图6A-图6I为示出了根据一些实施方案的用于提供绘图辅助工具(例如,屏幕上尺子)的方法600的流程图。方法600是在具有显示器和触敏表面的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)上执行的。在一些实施方案中,显示器为触摸屏显示器,并且触敏表面在显示器上集成或与显示器集成在一起。在一些实施方案中,显示器与触敏表面物理上是分开的。方法600中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
在一些实施方案中,设备响应于预定义输入而在素描区域中显示(602)屏幕上尺子。该屏幕上尺子具有第一边缘和由第一边缘划定的内部部分。在一些实施方案中,预定义输入为触摸屏显示器或触摸板上的用于在与触摸手势的触摸的位置对应的屏幕上位置处调用屏幕上尺子的预定义的触摸手势(例如,宽的两个手指轻按)。这在图5A中示出。在一些实施方案中,预定义输入为被显示在触摸屏上的尺子工具图标(例如,图5A中的尺子516)上的选择输入(例如,轻按)。该选择输入可由触摸屏显示器或触摸板上的手指或触笔接触来提供。在一些实施方案中,预定义输入为对用于调用屏幕上尺子的菜单项的选择。该选择输入可由触摸屏显示器或触摸板上的手指或触笔接触提供,或者由鼠标点击或预先确定的硬件按钮的按压来提供。在一些实施方案中,预定义输入为限定尺子的初始位置和取向的两个手指接触(例如,如在图5A中的接触522a和522b所示的)。
在一些实施方案中,屏幕上尺子的第一边缘具有除直线之外的预定义形状(604)。例如,第一边缘可为预定义曲线或者为由多个连续直线形成的扭结线。在一些实施方案中,屏幕上尺子作为整体具有标准形状,诸如星形、圆形、矩形、椭圆形等。
响应于检测到指向屏幕上尺子的第一边缘的第一触摸输入,设备根据屏幕上尺子的第一边缘来在素描区域中呈现(606)线条(例如,使用当前选择的绘图工具,诸如钢笔、铅笔、画笔等根据屏幕上尺子的第一边缘来呈现该线条)。在一些实施方案中,第一触摸输入包括触敏表面上的手指或触笔的接触的移动,其中接触在触敏表面上的移动对应于显示器上的尺子的第一边缘的阈值距离内的移动。在一些实施方案中,显示器上的尺子的第一边缘的阈值距离内的移动可在尺子的第一边缘上方从尺子的内部部分跨越到尺子的外部,并且反之亦然。例如,这在图5F中示出。
在一些实施方案中,根据至少确定第一触摸输入的接触在触敏表面上的初始位置对应于位于距屏幕上尺子的第一边缘的阈值距离内的屏幕上位置,设备确定(608)第一触摸输入为线条绘制手势。可从第一边缘的任一侧测量阈值距离。例如,这在图5F中示出。
在一些实施方案中,根据屏幕上尺子的第一边缘在素描区域中呈现线条包括(610)在第一触摸输入的接触的对应屏幕上位置在距屏幕上尺子的第一边缘的阈值距离内移动(例如,大致沿屏幕上尺子的第一边缘)时,在素描区域中利用预先确定的线条颜色来跟踪第一边缘。例如,这在图5F中示出。
响应于检测到指向屏幕上尺子的第一边缘的第二触摸输入,设备在素描区域的与触敏表面上的第二触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加(612)填充内容,使得素描区域的第一部分由第一边缘或该线条限制。在一些实施方案中,当线条具有不可忽略不计的粗度或浅色时,填充内容由线条限制并且不散布到该线条中。在一些实施方案中,该填充内容由尺子的第一边缘划定,而不管是否存在根据尺子的第一边缘绘制的线条。例如,这在图5G-图5I中示出。在一些实施方案中,第二触摸输入包括触敏表面上的手指或触笔的接触的移动,其中接触在触敏表面上的移动对应于从远离显示器上的尺子的第一边缘的至少阈值距离开始的来回移动。这在图5G-图5I中示出,例如由接触552、562和572示出。在一些实施方案中,来回移动可在尺子的第一边缘上方从尺子的内部部分跨越到尺子的外部,并且反之亦然。在一些实施方案中,在屏幕上尺子的第一边缘上方跨越到尺子的内部部分的来回移动的部分未进一步在尺子的第二边缘上方跨过。这在图5G-图5I中示出,例如由屏幕上路径558、564和574示出。
在一些实施方案中,根据至少确定第二触摸输入的接触在触敏表面上的初始位置对应于超过距素描区域中未由屏幕上尺子掩蔽的区域的第一边缘的阈值距离的屏幕上位置,设备确定(614)第二触摸输入为填充手势。
在一些实施方案中,根据至少确定第二触摸输入的接触在触敏表面上的移动方向对应于超过相对于未由屏幕上尺子掩蔽的素描区域的区域中的第一边缘的阈值角度的屏幕上移动方向,设备确定(616)第二触摸输入为填充手势。
在一些实施方案中,检测第二触摸输入包括(618)检测接触在触敏表面上的来回轻扫运动,并且在素描区域的与由触敏表面上的第二触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加填充内容包括:限定素描区域的与由接触在触敏表面上的来回轻扫运动跨越的区域对应的区域;保持素描区域的区域的基于屏幕上尺子的第一边缘由接触在触敏表面上的来回轻扫运动限定的边界;以及根据该边界来将填充内容添加到素描区域的区域中。例如,这在图5H-图5I中示出。
在一些实施方案中,素描区域的与由接触在触敏表面上的来回轻扫运动跨越的区域对应的区域的至少一部分跨过(620)屏幕上尺子的第一边缘,并且保持素描区域的区域的边界包括对素描区域的区域进行拉伸或切割中的至少一者,使得素描区域的区域的边界与第一边缘对准。例如,这在图5H-图5I中示出。
在一些实施方案中,设备检测(622)指向屏幕上尺子的第一边缘的第三触摸输入。设备确定(624)第三触摸输入的接触在触敏表面上的初始触摸位置是否对应于位于屏幕上尺子的远离第一边缘阈值距离的预先确定的中心区域内的屏幕上位置。根据确定第三触摸输入的接触在触敏表面上的初始触摸位置对应于位于屏幕上尺子的预先确定的中心区域内的屏幕上位置,在保持素描区域在显示器上静止时,设备根据第三触摸输入的接触在触敏表面上的移动来将屏幕上尺子移动(626)到显示器上的不同位置。例如,这在图5D中示出。
在一些实施方案中,根据第三触摸输入的接触在触敏表面上的移动来将屏幕上尺子移动到显示器上的不同位置包括(628)在屏幕上尺子在显示器上的移动期间保持屏幕上尺子在显示器上的取向。例如,这在图5D中示出。
在一些实施方案中,设备检测(630)指向屏幕上尺子的预定义枢转手势。例如,在一些实施方案中,预先确定的枢转手势包括静止的第一接触和大致远离静止接触固定距离而被定位的正在移动的第二接触。接触可由触敏表面上的手指或触笔提供。在一些实施方案中,指向屏幕上尺子的预先确定的枢转手势包括触敏表面上的与屏幕上尺子上的两个屏幕上位置对应的两个接触,其中两个接触中的一个接触为触敏表面上的静止接触,并且另一个接触为触敏表面上的移动接触,并且其中第二接触在触敏表面上的移动在第一接触和第二接触(例如,第二接触在围绕触敏表面上的第一接触居中的弧线上移动)之间大致保持一定距离。响应于检测到指向屏幕上尺子的预定义枢转手势,设备根据预定义枢转手势的移动来旋转(632)屏幕上尺子。在一些实施方案中,根据预定义枢转手势来旋转屏幕上尺子包括根据静止接触来将尺子的一端固定到某处,同时根据第二接触在触敏表面上的移动围绕第一端来旋转尺子的另一端。例如,这在图5E中示出。
在一些实施方案中,设备检测(634)预定义枢转手势的终止。响应于检测到相对于预先确定的尺子取向的阈值角度内的预定义枢转手势的终止,设备将屏幕上尺子旋转(636)到预先确定的尺子取向。在一些实施方案中,预先确定的尺子取向包括预先确定的对齐角,0度、5度、10度、15度、20度、25度、...355度、360度。在一些实施方案中,该阈值角度为2.5度。例如,如果在预定义枢转手势终止时屏幕上尺子具有距显示器上的水平方向46度的当前取向,并且最近的预先确定的尺子取向为相对于显示器上的水平方向为45度,则尺子将自动从距水平方向46度对齐到45度。
在一些实施方案中,设备检测(638)与屏幕上尺子内的屏幕上位置对应的第一位置处的触敏表面上的第一接触。在检测到触敏表面上的第一接触之后,设备根据第一接触在触敏表面上的移动而在显示器上平移(640)屏幕上尺子。在检测到第一接触从触敏表面抬离之前,设备检测(642)触敏表面上的远离第一接触的第二接触。设备检测到(644)围绕触敏表面上的第一接触的第二接触的枢转运动。响应于检测到围绕触敏表面上的第一接触的第二接触的枢转运动,设备根据第二接触在触敏表面上的枢转运动而在显示器上旋转(646)屏幕上尺子。
在一些实施方案中,设备接收(648)指向屏幕上尺子的捏合手势。在一些实施方案中,捏合手势包括在触敏表面上朝向彼此移动的两个接触。例如,在一些实施方案中,指向屏幕上尺子的捏合手势包括在触敏表面上朝向彼此移动的两个接触,其中两个接触在触敏表面上的移动方向对应于显示器上的屏幕上尺子上的并且沿该显示器上的屏幕上尺子的屏幕上移动。响应于接收到指向屏幕上尺子的捏合手势,设备从显示器移除(650)屏幕上尺子。在一些实施方案中,如果在预先确定的时间段内未检测到相对于尺子的交互,则屏幕上尺子自动从显示器淡出。在一些实施方案中,取决于调用屏幕上尺子的方式(例如,通过选择尺子工具图标或者通过预先确定的尺子调用手势),尺子具有不同淡出时段或者不同组关闭方法。例如,在一些实施方案中,如果尺子被手势调用,则可在一段时间之后自动淡出或者通过捏合手势关闭,并且如果尺子通过对尺子工具图标的选择而被调用,则尺子将不会淡出并仅可通过捏合手势而关闭。
在一些实施方案中,在显示屏幕上尺子时设备接收(652)内容移动手势(例如,在一些实施方案中,内容移动手势为触敏表面上的具有与画布上未由尺子掩蔽的屏幕上位置对应的初始接触位置的持续移动接触)。响应于接收到内容移动手势,设备在素描区域内移动(654)内容同时保持屏幕上尺子相对于素描区域静止。在一些实施方案中,内容移动手势可为抓住素描区域中的未由尺子掩蔽的画布的部分并且围绕屏幕上尺子下方来拖动画布的接触。例如,这在图5L中示出。
在一些实施方案中,在显示屏幕上尺子时设备接收(656)内容缩放手势(例如,在一些实施方案中,内容缩放手势为触敏表面上的彼此远离移动的两个接触,其中接触在触敏表面上的移动对应于画布的未由显示器上的尺子掩蔽的区域中的移动)。响应于接收内容缩放手势,在根据内容的当前缩放水平来缩放屏幕上尺子的至少一部分时设备缩放(658)素描区域内的内容。在一些实施方案中,在尺子上示出的刻度线随着增大的缩放水平的内容变得间距更大。在一些实施方案中,该尺子的尺寸在显示器上保持不变,而刻度线间距和内容被缩放。例如,这在图5J-图5K中示出。
在一些实施方案中,屏幕上尺子至少部分地透明(660),使得在缩放之前和之后内容从屏幕上尺子后方均可见。在一些实施方案中,内容缩放手势为反向捏合手势(例如,用于放大)或者捏合手势(例如,用于缩小),并且该手势可能触摸或者可能不触摸屏幕上尺子。例如,这在图5J-图5K中示出。
在一些实施方案中,设备检测(662)接触在触敏表面上的与沿显示器上的屏幕上尺子的移动对应的移动。例如,设备检测轻扫手势的接触位置的与在尺子主体内的屏幕上移动对应的移动。响应于接触在触敏表面上的移动,设备在第一边缘上显示(664)刻度线,以指示屏幕上尺子的长度尺度。
在一些实施方案中,在第一边缘上显示刻度线包括(666)根据接触在触敏表面上的初始位置和最终位置来确定刻度线在第一边缘上的开始位置和结束位置。
在一些实施方案中,在第一边缘上显示刻度线包括(668)在接触在触敏表面上抬离之前检测接触的制动移动。响应于检测到接触的制动移动,设备将刻度线的结束位置对齐(670)到屏幕上尺子上的与接触在触敏表面上的最终位置对应的预先确定的对齐位置。例如,制动移动可为接触的反向移动或者接触在初始运动方向上的速度减缓。
在一些实施方案中,设备基于显示器的屏幕分辨率或尺寸来确定(672)刻度尺的屏幕上间距。
在一些实施方案中,设备检测(674)接触在触敏表面上的与沿显示器上的屏幕上尺子的移动对应的移动。在一些实施方案中,轻扫手势的接触位置的移动对应于在尺子主体内或沿第一边缘的屏幕上移动。响应于接触在触敏表面上的移动,设备显示(676)靠近第一边缘的数值(例如,刻度线的总数),以指示接触的移动的长度尺度。例如,这在图5F中示出。在一些实施方案中,该刻度线总显示在尺子上。在一些实施方案中,当选择绘图工具(例如,钢笔)时发生接触的移动时沿第一边缘绘制线条,并且数值动态示出了线条针对经过的刻度线的数量的当前长度。在一些实施方案中,当未选择绘图工具(例如,选择擦除工具)时发生接触的移动时,未沿第一边缘来绘制线条,并且数值仅示出针对经过的刻度线数量接触而已行进的当前长度。
在一些实施方案中,当屏幕上尺子在距内容对象的阈值距离内移动时,设备显示(678)内容对象的长度。
在一些实施方案中,设备显示(680)屏幕上尺子的第一边缘上的刻度线,以指示屏幕上尺子的长度尺度。设备检测(682)用于移动屏幕上尺子的预先确定的移动手势。在一些实施方案中,预先确定的移动手势为拖动输入,该拖动输入在触敏表面上具有与尺子的中心部分中的屏幕上位置对应的开始接触位置。根据预先确定的移动手势的运动,设备移动(684)屏幕上尺子。响应于检测到屏幕上尺子的预先确定的刻度线在预先确定的移动手势的终止处的素描区域中的远离现有内容对象的阈值距离内,设备继续将屏幕上尺子移动(686)到新位置,使得预先确定的刻度线对齐到现有内容对象。在一些实施方案中,预先确定的刻度线可为尺子上的第一刻度线,或者为尺子上的主刻度线中的任一主刻度线。
在一些实施方案中,设备显示(688)屏幕上尺子的第一边缘上的刻度线,以指示屏幕上尺子的长度尺度。设备检测(690)指向屏幕上尺子的第一边缘的第一触摸输入。该第一触摸输入包括沿第一边缘的初始移动以及在第一触摸输入终止之前的制动移动。根据屏幕上尺子的第一边缘在素描区域中呈现线条包括根据第一接触输入的沿屏幕上尺子的第一边缘的初始移动来呈现线条,并且响应于检测到制动移动来将线条的最终点对齐到最接近与第一触摸输入的结束位置对应的屏幕上位置的刻度线。例如,这在图5N中示出。
在一些实施方案中,设备检测(692)指向屏幕上尺子的枢转手势。枢转手势包括初始旋转以及枢转手势终止之前的制动移动。响应于枢转手势,设备根据枢转手势的初始旋转来旋转(694)屏幕上尺子,并且响应于检测到制动移动来将屏幕上尺子的最终取向对齐到最接近与枢转手势的结束位置对应的屏幕上位置的预先确定的对齐角。例如,这在图5O中示出。
在一些实施方案中,设备在屏幕上尺子上显示(696)角度指示符(例如,在屏幕上尺子的中心),以指示屏幕上尺子的当前取向。在一些实施方案中,显示角度指示符还包括动态地更新角度指示符,以在显示器上旋转尺子时实时示出屏幕上尺子的当前取向。例如,这在图5E中示出(例如,角度指示符532)。
应当理解,对图6A-图6I中的操作进行描述的特定顺序仅为示例性的,并非旨在表示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法700,800和900)所述的其他过程的细节同样以类似的方式适用于上文相对于图6A-图6I所述的方法600。例如,上文参考方法600描述的接触、手势和用户界面对象任选地具有本文参考本文所述的其他方法(例如,方法700,800和900)描述的接触、手势和用户界面对象的特征中的一个或多个特征。为了简明起见,这些细节在这里不再重复。
图7为示出了根据一些实施方案的提供绘图辅助工具的方法700的流程图。方法700是在具有显示器和触敏表面的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)上执行的。在一些实施方案中,显示器为触摸屏显示器,并且触敏表面在显示器上集成或与显示器集成在一起。在一些实施方案中,显示器与触敏表面物理上为分开的。方法700中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
在一些实施方案中,设备响应于预定义输入来在素描区域中显示(702)屏幕上尺子,该屏幕上尺子具有第一边缘和由第一边缘划定的内部部分。设备检测(704)指向屏幕上尺子的第一边缘的相应触摸输入。在一些实施方案中,指向屏幕上尺子的第一边缘的相应触摸输入为指向屏幕上尺子的第一边缘的第二触摸输入(706)。响应于检测到指向屏幕上尺子的第一边缘的相应触摸输入,设备在素描区域的与触敏表面上的第一触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加(708)填充内容,使得素描区域的第一部分由第一边缘或该线条限制。
在一些实施方案中,设备检测(710)指向屏幕上尺子的第一边缘的第一触摸输入。设备根据屏幕上尺子的第一边缘来在素描区域中呈现(712)线条。
应当理解,对图7中已经进行描述的操作的具体次序仅为示例性的,并非意图要表明所描述的次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600,800和900)所述的其他过程的细节同样以类似的方式适用于上文相对于图7所述的方法700。例如,上文参考方法700描述的接触、手势和用户界面对象任选地具有本文参考本文所述的其他方法(例如,方法600,800和900)描述的接触、手势和用户界面对象的特征中的一个或多个特征。为了简明起见,这些细节在这里不再重复。
图8A-图8C为示出了根据一些实施方案的用于提供虚拟绘图辅助工具(例如,自由线)的方法800的流程图。方法800是在具有显示器和触敏表面的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)上执行的。在一些实施方案中,显示器为触摸屏显示器,并且触敏表面在显示器上集成或与显示器集成在一起。在一些实施方案中,显示器与触敏表面物理上为分开的。方法800中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
在一些实施方案中,设备接收(802)线条绘制输入。在一些实施方案中,线条绘制输入包括对线条绘制工具的选择,并且使用鼠标或触敏表面上的接触来限定线条的开始点和结束点。在一些实施方案中,线条绘制输入包括使用鼠标或触敏表面上的接触来徒手绘制线条。在一些实施方案中,线条绘制输入为将现有线条复制和粘贴到素描区域中。在一些实施方案中,线条绘制输入为对预定义线条形状的选择以及将所选择的线条形状的副本布置在素描区域中的某位置处。
设备根据线条绘制输入来在素描区域中呈现(804)线条。在一些实施方案中,线条为直线、曲线、波浪线、具有封闭部分(例如,环路)的线条、扭结线等。在一些实施方案中,线条可为任何所选择的颜色、质地、透明度、粗度等。
在显示包括线条的素描区域时,设备接收(806)指向素描区域中的线条的填充手势。在一些实施方案中,填充手势包括接触在触敏表面上的满足一个或多个预先确定的标准的移动。例如,在一些实施方案中,要求在需要填充手势时,同时选择线条和填充选项。在一些实施方案中,最新近绘制的线条自动被选择,而无需来自用户的明确选择输入。在一些实施方案中,设备基于已接收的手势的特征与针对填充手势的预先确定的手势特征的比较来推断对填充选项的选择。在一些实施方案中,填充手势包括一个或多个接触在触敏表面上的移动。在一些实施方案中,填充手势包括一个或多个接触在触敏表面上的移动,其中移动对应于沿相对于尺子的取向至少阈值角度(例如,30度)的方向的一个或多个接触的来回运动。在一些实施方案中,填充手势包括沿相对于尺子的取向至少阈值角度的大致相同方向(与一起来回运动的同时接触相反)的连续接触的移动。
在一些实施方案中,接收指向素描区域中的线条的填充手势包括(808)接收包括接触在触敏表面上的来回轻扫运动的触摸手势,并且根据确定触摸在触敏表面上的初始位置对应于超过距线条阈值距离内的屏幕上位置以及在来回轻扫运动期间在接触的初始位置后方的一系列每个其他转动位置对应于位于距线条的阈值距离内的一系列屏幕上位置来确定触摸手势为指向素描区域中的线条的填充手势。例如,这在图5Q-图5T中示出。在一些实施方案中,如果触摸手势未被确定为填充手势,则触摸手势被解释为线条绘制手势,使得根据接触的移动在素描区域中绘制波浪线。例如,这在图5P中示出。在一些实施方案中,填充手势为在“填充”控件处于激活状态时所接收的手势。
在一些实施方案中,接收指向素描区域中的线条的填充手势包括:(810)紧在选择内容填充模式之前或之后检测对线条的选择;接收包括接触在触敏表面上的来回轻扫运动的触摸手势;以及根据确定在同时选择线条和内容填充模式时接收到触摸手势,确定触摸手势为指向素描区域中的线条的填充手势。在一些实施方案中,如果触摸手势未被确定为填充手势,则触摸手势被解释为线条绘制手势,使得根据接触的移动在素描区域中绘制波浪线。
响应于接收到填充手势,设备在素描区域的与由触敏表面上的填充手势触摸的区域对应的并且由素描区域中的线条划定并部分包围的素描区域的第一部分中添加(812)填充内容。
在一些实施方案中,在素描区域的与由触敏表面上的填充手势触摸的区域对应的并且由素描区域中的线条划定并且部分包围的第一部分中添加填充内容包括(814)根据第一填充系数来在素描区域的第一部分中的第一区域中添加填充内容并且根据第二填充系数在素描区域的第一部分中的第二区域中添加填充内容。该第一区域比第二区域更靠近该线条,并且第一填充系数大于第二填充系数。在一些实施方案中,第二填充系数根据填充手势的一个或多个特征来确定(816)。例如,第二填充系统可基于填充手势的来回轻扫运动的快速程度和/或来回轻扫运动的笔划紧密分组的程度。在一些实施方案中,第二区域的边界可基于来回轻扫运动的笔划。在一些实施方案中,第一区域和第二区域之间的过渡为逐渐进行的。
在一些实施方案中,在素描区域的与由触敏表面上的填充手势触摸的区域对应的并且由素描区域中的线条划定并且部分包围的第一部分中添加填充内容包括(818)限定显示器上的素描区域的与由接触在触敏表面上的来回轻扫运动跨越的区域对应的区域;基于素描区域中的线条来保持素描区域的区域的由接触的来回轻扫运动限定的边界;并且根据该边界来将填充内容添加到素描区域的区域中。在一些实施方案中,显示器上的素描区域的与由接触在触敏表面上的来回轻扫运动跨越的区域对应的区域的至少一部分跨过(820)该线条,并且保持区域的边界包括对素描区域的区域进行拉伸或切割中的至少一者,使得素描区域的区域的边界与线条对准。例如,这在图5Q-图5T中示出。
在一些实施方案中,线条的开始和结束为非重叠(822)的并且该线条限定至少一个完全包围区域。在一些实施方案中,素描区域的第一部分包括(824)至少一个完全包围区域。例如,当线条的外部边界用于限定填充区域的边界时,填充内容将被添加到线条下方且由线条限定的环路的内部的开放区域。例如,这在图5T中示出。在一些实施方案中,素描区域的第一部分不包括(826)至少一个完全包围区域。例如,当线条的内部边界用于限定填充区域的边界时,填充内容将不会被添加到由线条限定的环路的内部。例如,这在图5S中示出。
应当理解,对图8A-图8C中的操作进行描述的特定顺序仅为示例性的,并非旨在表示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600,700和900)所述的其他过程的细节同样以类似的方式适用于上文相对于图8A-图8C所述的方法800。例如,上文参考方法800描述的接触、手势和用户界面对象任选地具有本文参考本文所述的其他方法(例如,方法600,700和900)描述的接触、手势和用户界面对象的特征中的一个或多个特征。为了简明起见,这些细节在这里不再重复。
图9A-图9C是示出了根据一些实施方案的用于提供虚拟绘图辅助工具(例如,旋转虚拟绘图辅助工具)的方法900的流程图。方法900是在具有显示器和触敏表面的电子设备(例如,设备300,图3;或便携式多功能设备100,图1A)上执行的。在一些实施方案中,显示器为触摸屏显示器,并且触敏表面在显示器上集成或与显示器集成在一起。在一些实施方案中,显示器与触敏表面物理上为分开的。方法900中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
在一些实施方案中,设备在显示器上显示(902)屏幕上尺子。设备检测(904)指向屏幕上尺子的旋转手势的第一部分(例如,指向屏幕上尺子的两个手指枢转手势的第一部分),其中检测旋转手势的第一部分包括围绕触敏表面上的枢转位置在第一方向(例如,顺时针方向)检测第一接触的第一移动(例如,图5V中的移动接触553)。在一些实施方案中,枢转位置为静止的第二接触(例如,图5V中的静止接触551)的位置或者预定义位置(例如,触敏表面上的与屏幕上尺子(例如,如图5V中的尺子轴555所表示的)上的固定点(例如,远端点或中心点)对应的位置)。在一些实施方案中,旋转手势的两个接触可在旋转手势期间移动(例如,围绕共同枢转点在相反的方向上移动),并且每个接触的枢转位置位于两个移动接触之间的点处。在一些实施方案中,当在旋转手势期间旋转手势的两个接触移动并且两个接触的移动共享共同平移分量时,枢转位置也在旋转手势期间移动(例如,枢转位置的移动等于两个移动接触的移动的共享平移分量)。
在一些实施方案中,在具有触摸屏显示器的设备上,指向屏幕上尺子的旋转手势包括在屏幕上尺子(例如,如图5V中的尺子轴555所表示)上分隔开至少阈值距离的两个接触(例如,图5V中的接触553和551),其中接触中的一个接触围绕保持静止的另一个接触在弧线上移动。在一些实施方案中,在具有触摸屏显示器的设备上,指向屏幕上尺子的旋转手势包括在屏幕上尺子上分隔开阈值距离的两个接触,其中两个接触围绕保持静止的共同枢转位置在相反的方向上移动。在一些实施方案中,在具有触摸屏显示器的设备上,指向屏幕上尺子的旋转手势包括在屏幕上尺子上分隔开阈值距离的两个接触,其中两个接触围绕也正移动的共同枢转位置在相反的方向上移动。该枢转位置可用作用于旋转屏幕上尺子的锚定位置。在一些实施方案中,在具有与显示器分开的触敏表面的设备上,指向屏幕上尺子的旋转手势包括在触敏表面上分隔开至少阈值距离的两个接触,其中一个接触的位置对应于屏幕上尺子上的屏幕上位置,并且另一接触的位置对应于屏幕上尺子的固定锚定位置(例如,锚定位置可选地位于尺子的远端处,或者位于尺子的中心处等)。在一些实施方案中,在具有与显示器分开的触敏表面的设备上,指向屏幕上尺子的旋转手势包括在触敏表面上分隔开阈值距离的两个接触,其中两个接触围绕保持静止的共同枢转位置在相反的方向上移动。在一些实施方案中,在具有与显示器分开的触敏表面的设备上,指向屏幕上尺子的旋转手势包括在触敏表面上分隔开阈值距离的两个接触,其中两个接触围绕也正移动的共同枢转位置在相反的方向上移动。在一些实施方案中,与共同枢转位置对应的屏幕上位置被用作用于旋转屏幕上尺子的锚定位置。在一些实施方案中,在具有与显示器分开的触敏表面的设备上,与触敏表面上的接触位置对应的屏幕上位置由对应焦点选择器(例如,光标、或其他预定义标记或表示)来表示。
响应于检测到指向屏幕上尺子的旋转手势的第一部分:根据第一接触(例如,接触553)围绕触敏表面上的枢转位置的第一移动,设备围绕显示器上的锚定点(例如,与触敏表面上的枢转位置对应的屏幕上尺子上的点(例如,静止的第二接触,或者屏幕上尺子上的固定锚定点(例如,结束或中心点)、或旋转手势的移动枢转位置))来将屏幕上尺子旋转(906)第一角度量。例如,这在图5W和图5X中示出。在一些实施方案中,当设备处于自由旋转模式中时(例如,角度对齐不活动,并且尺子随着旋转手势的移动的第一接触的移动而自由旋转),并且尺子的旋转与移动的第一接触的旋转移动同步。在一些实施方案中,绘图画布被划分为多个另选的角度对齐区域(例如,图5V中的角度对齐区域549,547和545)和自由旋转区域(例如,相邻对齐区域之间的区域)。每个角度对齐区域包括相应对齐角(例如,0度,10度,20度,...或350度等)、以及围绕相应对齐角的相应角度范围(例如,+/-2度)。当屏幕上尺子根据旋转手势的移动的第一接触的移动进入相应对齐角的对齐区域中时,设备退出自由旋转模式并且进入角度对齐模式,角度对齐模式中的默认行为是尺子将主动旋转以对齐(例如,从与接触的位置对应的屏幕上位置跳开)到相应对齐角,并且与和移动的第一接触的位置对应的屏幕上位置分开。如果在尺子对齐到相应对齐角之后第一接触继续其在相同方向(例如,顺时针方向)上的移动,当与移动的第一接触对应的屏幕上位置最终遍历通过相应对齐角的对齐区域并且进入相邻的自由旋转区域时,设备退出角度对齐模式并且重新进入自由旋转模式。在重新进入自由旋转模式时,屏幕上尺子将主动旋转以对齐(例如,从相应对齐角跳开)到与移动的第一接触的位置对应的屏幕上位置并且继续在相邻自由旋转区域内与移动的第一接触同步移动。
响应于检测到指向屏幕上尺子的旋转手势的第一部分:根据确定屏幕上尺子在旋转第一角度量(例如,图5W和图5X中所示)时已进入与第一对齐角(例如,第一对齐角的+/-2度)相关联的第一对齐区域(例如,图5V中的对齐区域547),将屏幕上尺子旋转第一调整量(例如,在顺时针方向),以使屏幕上尺子与第一对齐角对准。例如,这在图5X-图5Y中示出。
在将屏幕上尺子旋转第一调整量之后,设备检测(908)指向屏幕上尺子的旋转手势的第二部分,其中检测旋转手势的第二部分包括检测第一接触围绕触敏表面上的枢转位置在第二方向(例如,逆时针方向)上的第二移动,其中第二方向上的第二移动满足解除对齐标准(例如,在一些实施方案中,解除对齐标准包括当第二方向上的第二移动为第一方向上的第一接触的第一移动的至少一部分的反转时满足的标准(例如,第二移动在第一移动的大致反转方向上反转至少1度或5个像素))。例如,这在图5Z中示出。在一些实施方案中,解除对齐标准包括当第二方向上的第二移动足以将第一接触移动到第一对齐角的第一对齐区域之外时满足的标准。在一些实施方案中,解除对齐标准包括当第二方向上的第二移动足以将第一接触移动通过相应阈值角度到第一对齐角的第一对齐区域之外时满足的标准。例如,在一些实施方案中,第一对齐角的第一对齐区域之外的相应阈值角度位于邻近第一对齐角的对齐角的相邻对齐区域的边界处,或者位于第一对齐区域和相邻对齐区域之间的某处的角度处。
响应于检测指向屏幕上尺子的旋转手势的第二部分,设备将屏幕上尺子旋转(910)第二调整量,以使屏幕上尺子与和触敏表面上的第一接触的当前位置对应的相应屏幕上位置对准(例如,将屏幕上尺子沿逆时针方向旋转第二调整量,以使尺子返回到与第一接触的位置对应的屏幕上位置)。例如,这在图5Z-图5AA中示出。在一些实施方案中,第二调整量等于第一调整量加上与第二方向上的第二移动对应的第二量的反转。在一些实施方案中,如果在此点检测到旋转手势的终止(例如,第一接触或第二接触,或者两者的抬起),则屏幕上尺子的当前取向将保持如同屏幕上尺子的最终取向。换言之,尺子与相应对齐角解除对齐。
在一些实施方案中,在将屏幕上尺子旋转第二调整量之后,设备检测(912)指向屏幕上尺子的旋转手势的第三部分,其中检测旋转手势的第三部分包括检测第一接触围绕触敏表面上的枢转位置的第三移动(例如,第三移动可选地包括在第一方向或第二方向上或者第一和方向第二方向两者上移动的区段)。响应于检测到指向屏幕上尺子的旋转手势的第三部分,根据第一接触围绕触敏表面上的枢转位置的第三移动,设备将屏幕上尺子围绕显示器上的锚定点(例如,旋转可选地包括在任一个或两个方向上(例如,顺时针或逆时针方向或者顺时针和逆时针方向两者)的旋转))旋转。例如,这在图5AC中示出。如果在此点处检测到旋转手势的终止(例如,第一接触或第二接触,或者两者的抬起),则屏幕上尺子的当前取向将保持如同屏幕上尺子的最终取向。换言之,在第一接触的第三移动期间,尺子保持在解除对齐状态(直到尺子进入新对齐区域)。
在一些实施方案中,根据第一接触的第三移动的第一部分,屏幕上尺子在旋转期间保持(914)在与第一对齐角(例如,第一对齐角的+/-2度)相关联的第一对齐区域内,并且贯穿第一接触的第三移动的第一部分而保持与和触敏表面上的第一接触的当前位置对应的相应屏幕上位置对准。例如,在响应于第一接触的第二移动而关闭朝向第一对齐角的角度对齐之后(例如,在首次进入第一对齐角的对齐区域之后反向旋转阈值量),尺子随着第一接触在对齐区域内的旋转移动而自由旋转,而无需对齐到第一对齐角。例如,这在图5AB中示出。如果在此点检测到旋转手势的终止(例如,第一接触或第二接触,或者两者的抬起),则屏幕上尺子的当前取向将保持如同屏幕上尺子的最终取向。
在一些实施方案中,根据第一接触的第三移动的第二部分,屏幕上尺子在旋转期间至少一次退出(916)并且重新进入与第一对齐角相关联的第一对齐区域,并且贯穿第一接触的第三移动的第二部分而保持与和触敏表面上的第一接触的当前位置对应的相应屏幕上位置对准。例如,在响应于第一接触的第二移动而关闭朝向第一对齐角的角度对齐之后(例如,在首次进入第一对齐角的对齐区域之后反向旋转阈值量),尺子随着第一接触在对齐区域和对齐区域任一侧上的两个自由旋转区域内的旋转移动而自由旋转,而无需对齐到第一对齐角。例如,这在图5AD中示出。如果在此点检测到旋转手势的终止(例如,第一接触或第二接触,或者两者的抬起),则屏幕上尺子的当前取向将保持如同屏幕上尺子的最终取向。
在一些实施方案中,根据第一接触的第三移动的第三部分,屏幕上尺子在旋转期间退出(918)与第一对齐角相关联的第一对齐区域,并且贯穿第一接触的第三移动的第三部分而保持与和触敏表面上的第一接触的当前位置对应的相应屏幕上位置对准。例如,在响应于第一接触的第二移动而关闭向第一对齐角的角度对齐之后(例如,在首次进入第一对齐角的对齐区域之后反向旋转阈值量),尺子随着第一接触的旋转移动而自由旋转并且退出对齐区域并进入围绕对齐区域的两个自由旋转区域中的一个自由旋转区域。例如,这在图5AE中示出。如果在此点检测到旋转手势的终止(例如,第一接触或第二接触,或者两者的抬起),则屏幕上尺子的当前取向将保持如同屏幕上尺子的最终取向。
在一些实施方案中,根据第一接触的第三移动的第四部分,屏幕上尺子退出(920)与第一对齐角相关联的第一对齐区域并且进入与第二对齐角(例如,第二对齐角与第一方向或第二方向(例如,顺时针或逆时针)上的第一对齐角相邻,并且第二对齐角的对齐区域与第一对齐角的对齐区域分开自由旋转区域(例如,其中旋转为自由的并且解除对齐到任一特定角度的区域))相关联的第二对齐区域(例如,图5V中的对齐区域549)。根据确定根据第一接触的第三移动的第四部分该屏幕上尺子已进入与第二对齐角(例如,第二对齐角的+/-2度)相关联的第二对齐区域(例如,对齐区域549),将屏幕上尺子旋转第三调整量,以使屏幕上尺子与第二对齐角对准(例如,顺时针或者逆时针,以将尺子带到第二对齐角)。例如,这在图5AF-图5AG中示出。
在一些实施方案中,当屏幕上尺子位于(922)与第二对齐角相关联的第二对齐区域(例如,图5V中的对齐区域549)内时,检测指向屏幕上尺子的旋转手势的第四部分,其中检测旋转手势的第四部分包括检测第一接触围绕触敏表面上的枢转位置的第四移动并且检测到第一接触的第四移动不满足解除对齐标准(例如,第一接触的第四移动不足以构成第一接触在第一方向上的第三移动的第四部分的反转的阈值量(例如,第三移动的第四部分为将屏幕上尺子带到第二对齐角的第二对齐区域中的移动))。响应于检测到指向屏幕上尺子的旋转手势的第四部分,设备保持屏幕上尺子与第二对齐角之间的对准(例如,与第一接触在触敏表面上的第四移动无关)。例如,这在图5AH中示出。在一些实施方案中,第一方向上的移动为顺时针方向上的移动。在一些实施方案中,当第一方向为顺时针方向时,第二方向为逆时针方向。在一些实施方案中,第一方向为逆时针方向,而第二方向为顺时针方向。
在一些实施方案中,解除对齐标准包括(924)一旦根据相应接触的移动该屏幕上尺子已进入与给定对齐角相关联的相应对齐区域,当相应接触围绕指向屏幕上尺子的给定旋转手势的相应枢转位置的移动被反转至少阈值量(例如,至少阈值角度量,或至少阈值数量的像素(例如,阈值数量的像素取决于旋转手势的两个接触之间的距离以及阈值角度量))时满足的标准。在一些实施方案中,阈值角度量为静态量。在一些实施方案中,阈值角度量为足以将第一接触带出第一对齐区域的量。在一些实施方案中,阈值量为足以将第一接触带到第一对齐角的第一对齐区域之外的阈值角的量。在一些实施方案中,阈值量为足以将第一接触带回到对齐区域的与第一对齐区域相邻的边界的量。
应当理解,对图9A-图9C中的操作进行描述的特定顺序仅为示例性的,并非旨在表示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。另外,应当指出的是,本文相对于本文所述的其他方法(例如,方法600,700和800)描述的其他过程的细节同样以类似的方式适用于上文相对于图9A-图9C描述的方法900。例如,上文参考方法900描述的接触、手势和用户界面对象任选地具有本文参考本文所述的其他方法(例如,方法600,700和800)描述的接触、手势和用户界面对象的特征中的一个或多个特征。为了简明起见,这些细节在这里不再重复。
根据一些实施方案,图10示出了根据各种所述实施方案原理进行配置的电子设备1000的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原理的硬件、软件、固件、或其组合来实现。本领域的技术人员应当理解,图10中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图10中所示,电子设备1000包括:被配置为显示屏幕上尺子的显示单元1002;触敏表面单元1004;以及与显示单元1002和触敏表面单元1004耦接在一起的处理单元1006。屏幕上尺子响应于预定义输入而被显示在素描区域中。屏幕上尺子具有第一边缘和由第一边缘划定的内部部分。
在一些实施方案中,处理单元1006包括呈现单元1008、添加单元1010、确定单元1012、跟踪单元1014、限定单元1016、保持单元1018、检测单元1020、移动单元1022、旋转单元1024、平移单元1026、接收单元1028、移除单元1030、缩放单元1032和对齐单元1034。
该处理单元1006被配置为响应于检测到指向屏幕上尺子的第一边缘的第一触摸输入根据屏幕上尺子的第一边缘来在素描区域中呈现线条(例如,利用呈现单元1008)。响应于检测到指向屏幕上尺子的第一边缘的第二触摸输入,处理单元被配置为在素描区域的与触敏表面上的第二触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加填充内容(例如,利用添加单元1010),使得素描区域的第一部分由第一边缘或该线条限制。
在一些实施方案中,根据至少确定第一触摸输入在触敏表面单元上的接触的初始位置对应于位于距屏幕上尺子的第一边缘的阈值距离内的屏幕上位置,处理单元1006被配置为确定第一触摸输入为线条绘制手势(例如,利用确定单元1012)。
在一些实施方案中,根据至少确定第二触摸输入在触敏表面单元上的接触的初始位置对应于超过距屏幕上尺子未掩蔽的素描区域的区域中的第一边缘的阈值距离的屏幕上位置,处理单元1006被配置为确定第二触摸输入为填充手势(例如,利用确定单元1012)。
在一些实施方案中,根据至少确定第二触摸输入在触敏表面单元上的接触的移动方向对应于超过相对于未由屏幕上尺子掩蔽的素描区域的区域中的第一边缘的阈值角度的屏幕上移动方向,处理单元1006被配置为确定第二触摸输入为填充手势(例如,利用确定单元1012)。
在一些实施方案中,根据屏幕上尺子的第一边缘来在素描区域中呈现线条还包括:在第一触摸输入的接触的对应屏幕上位置在距屏幕上尺子的第一边缘的阈值距离内移动时,在素描区域中利用预先确定的线条颜色来跟踪第一边缘(例如,利用跟踪单元1014)。
在一些实施方案中,检测第二触摸输入包括检测接触在触敏表面单元上的来回轻扫运动(例如,利用检测单元1012),并且在素描区域的与由触敏表面单元上的第二触摸输入触摸的区域对应的并且由屏幕上尺子的第一边缘划定的第一部分中添加填充内容包括:限定素描区域的与由接触在触敏表面单元上的来回轻扫运动跨越的区域对应的区域(例如,利用限定单元1016);保持素描区域的区域的基于屏幕上尺子的第一边缘由接触在触敏表面单元上的来回轻扫运动限定的边界(例如,利用保持单元1018);以及根据该边界来将填充内容添加到素描区域的区域中(例如,利用添加单元1010)。
在一些实施方案中,素描区域的与由接触在触敏表面单元上的来回轻扫运动跨越的区域对应的区域的至少一部分跨过屏幕上尺子的第一边缘,并且保持素描区域的区域的边界包括对素描区域的区域进行拉伸或切割中的至少一者,使得素描区域的区域的边界与第一边缘对准。
在一些实施方案中,处理单元1006被配置为检测指向屏幕上尺子的第一边缘的第三触摸输入(例如,利用检测单元1020),确定第三触摸输入在触敏表面单元上的接触的初始触摸位置是否对应于位于屏幕上尺子的预先确定的中心区域内远离第一边缘的阈值距离的屏幕上位置(例如,利用确定单元1012),以及根据确定第三触摸输入在触敏表面单元上的接触的初始触摸位置对应于位于屏幕上尺子的预先确定的中心区域内的屏幕上位置,在保持素描区域在显示器上静止时根据第三触摸输入在触敏表面单元上的接触的移动来将屏幕上尺子移动到显示器上的不同位置(例如,利用移动单元1022)。
在一些实施方案中,根据第三触摸输入的接触在触敏表面单元上的移动来将屏幕上尺子移动到显示器上的不同位置还包括在屏幕上尺子在显示器上的移动期间保持屏幕上尺子在显示器上的取向(例如,利用保持单元1018)。
在一些实施方案中,处理单元1006被配置为检测指向屏幕上尺子的预定义枢转手势(例如,利用检测单元1012),以及响应于检测到指向屏幕上尺子的预定义枢转手势,根据预定义枢转手势的移动来旋转屏幕上尺子(例如,利用旋转单元1024)。
在一些实施方案中,处理单元1006被配置为检预定义枢转手势的终止测(例如,利用检测单元1012),以及响应于检测到预定义枢转手势的终止位于相对于预先确定的尺子取向的阈值角度来将屏幕上尺子旋转到预先确定的尺子取向(例如,利用旋转单元1024)。
在一些实施方案中,处理单元1006被配置为检测触敏表面单元上的与屏幕上尺子内的屏幕上位置对应的第一位置处的第一接触(例如,利用检测单元1012)。在检测到触敏表面单元上的第一接触之后,处理单元1006被配置为根据第一接触在触敏表面单元上的移动来在显示器上平移屏幕上尺子(例如,利用平移单元1026)。在检测到第一接触从触敏表面单元抬离之前,处理单元1006被配置为检测触敏表面单元上的远离第一接触的第二接触(例如,利用检测单元1012)。处理单元被配置为检测第二接触的围绕触敏表面单元上的第一接触的枢转运动(例如,利用检测单元1012)。响应于检测到第二接触围绕触敏表面单元上的第一接触的枢转运动,处理单元1006被配置为根据第二接触在触敏表面单元上的枢转运动来在显示器上旋转屏幕上尺子(例如,利用旋转单元1024)。
在一些实施方案中,处理单元1006被配置为接收指向屏幕上尺子的捏合手势(例如,利用接收单元1028)。响应于接收到指向屏幕上尺子的捏合手势,处理单元1006被配置为从显示器移除屏幕上尺子(例如,利用移除单元1030)。
在一些实施方案中,处理单元1006被配置为在显示屏幕上尺子时接收内容移动手势(例如,利用接收单元1028)。响应于接收到内容移动手势,处理单元1006被配置为在保持屏幕上尺子相对于素描区域静止时在素描区域内移动内容(例如,利用移动单元1022)。
在一些实施方案中,处理单元1006被配置为在显示屏幕上尺子时接收内容缩放手势(例如,利用接收单元1028)。响应于接收内容缩放手势,处理单元1006被配置为在根据内容的当前缩放水平来缩放屏幕上尺子的至少一部分时缩放素描区域内的内容(例如,利用缩放单元1032)。
在一些实施方案中,屏幕上尺子至少部分地透明,使得在缩放之前和之后内容从屏幕上尺子后方均可见。
在一些实施方案中,屏幕上尺子的第一边缘具有除直线之外的预定义形状。
在一些实施方案中,处理单元1006被配置为检测接触在触敏表面单元上的与沿显示器上的屏幕上尺子的移动对应的移动(例如,利用检测单元1020)。响应于接触在触敏表面单元上的移动,处理单元1006被配置为在第一边缘上显示刻度线,以指示屏幕上尺子的长度尺度。
在一些实施方案中,在第一边缘上显示刻度线还包括根据接触在触敏表面单元上的初始位置和最终位置来确定刻度线在第一边缘上的开始位置和结束位置(例如,利用确定单元1012)。
在一些实施方案中,在第一边缘上显示刻度线还包括检测在接触在触敏表面单元上抬离之前接触的制动移动(例如,利用检测单元1020),以及响应于检测到接触的制动移动而将刻度线的结束位置对齐到屏幕上尺子上的与接触在触敏表面单元上的最终位置对应的预先确定的对齐位置(例如,利用对齐单元1034)。
在一些实施方案中,处理单元1006被配置为检测接触在触敏表面单元上的与沿显示器上的屏幕上尺子的移动对应的移动(例如,利用检测单元1020)。响应于接触在触敏表面单元上的移动,处理单元1006被配置为邻近第一边缘来显示数值,以指示接触的移动的长度尺度。
在一些实施方案中,处理单元1006被配置为基于显示器的屏幕分辨率或尺寸来确定刻度尺的屏幕上间距(例如,利用确定单元1012)。
在一些实施方案中,处理单元1006被配置为当屏幕上尺子在距内容对象的阈值距离内移动时,显示内容对象的长度。
在一些实施方案中,处理单元1006被配置为:在屏幕上尺子的第一边缘上显示刻度线,以指示屏幕上尺子的长度尺度;检测用于移动屏幕上尺子的预先确定的移动手势(例如,利用检测单元1020);以及根据预先确定的移动手势的移动来移动屏幕上尺子(例如,利用移动单元1022)。响应于检测到屏幕上尺子的预先确定的刻度线在预先确定的移动手势的终止处的素描区域中的远离现有内容对象的阈值距离内,处理单元1006被配置为继续将屏幕上尺子移动到新位置(例如,利用移动单元1022),使得预先确定的刻度线对齐到现有内容对象。
在一些实施方案中,处理单元1006被配置为:在屏幕上尺子的第一边缘上显示刻度线,以指示屏幕上尺子的长度尺度;以及检测指向屏幕上尺子的第一边缘的第一触摸输入(例如,利用检测单元1020)。第一触摸输入包括沿第一边缘的初始移动以及在第一触摸输入终止之前的制动移动。根据屏幕上尺子的第一边缘来在素描区域中呈现线条还包括根据第一触摸输入沿屏幕上尺子的第一边缘的初始移动来呈现线条(例如,利用呈现单元1008),以及响应于检测到制动移动来将线条的最终点对齐到最接近与第一触摸输入的结束位置对应的屏幕上位置的刻度线(例如,利用对齐单元1034)。
在一些实施方案中,处理单元1006被配置为检测指向屏幕上尺子的枢转手势(例如,利用检测单元1020)。枢转手势包括初始旋转以及枢转手势终止之前的制动移动。响应于枢转手势,处理单元1006被配置为根据枢转手势的初始旋转来旋转屏幕上尺子(例如,利用旋转单元1024)。响应于检测到制动移动,处理单元1006被配置为将屏幕上尺子的最终取向对齐到最接近与枢转手势的结束位置对应的屏幕上位置的预先确定的对齐角(例如,利用对齐单元1034)。
在一些实施方案中,处理单元1006被配置为在屏幕上尺子上显示角度指示符,以指示屏幕上尺子的当前取向。
根据一些实施方案,图11示出根据各种所述实施方案的原理进行配置的电子设备1100的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原理的硬件、软件、固件、或其组合来实现。本领域的技术人员应当理解,图11中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图11中所示,电子设备1100包括:被配置的显示单元1102;被配置为接收线条绘制输入的触敏表面单元1104;以及耦接至显示单元1102和触敏表面单元1104的处理单元1106。
在一些实施方案中,处理单元1106包括呈现单元1108、接收单元1110、添加单元1112、和确定单元1114。
该处理单元1106被配置为根据线条绘制输入来在素描区域中呈现线条(例如,利用呈现单元1108)。在显示包括线条的素描区域时,处理单元1106被配置为接收指向素描区域中的线条的填充手势(例如,利用接收单元1110)。响应于接收到填充手势,该处理单元1106还被配置为在素描区域的与由触敏表面单元上的填充手势触摸的区域对应的并且由素描区域中的线条划定并部分包围的素描区域的第一部分中添加(例如,利用添加单元1112)填充内容。
在一些实施方案中,接收指向素描区域中的线条的填充手势还包括:接收包括接触在触敏表面单元上的来回轻扫运动的触摸手势(例如,利用接收单元1110),并且根据确定触摸在触敏表面单元上的初始位置对应于超过距线条的阈值距离的屏幕上位置以及在来回轻扫运动期间在接触的初始位置后方的一系列每个其他转动位置对应于位于距线条的阈值距离内的一系列屏幕上位置来确定触摸手势为指向素描区域中的线条的填充手势(例如,利用确定单元1114)。
在一些实施方案中,接收指向素描区域中的线条的填充手势包括:紧在选择内容填充模式之前或之后检测对线条的选择;接收包括接触在触敏表面单元上的来回轻扫运动的触摸手势;以及根据确定在同时选择线条和内容填充模式时接收到触摸手势,确定触摸手势为指向素描区域中的线条的填充手势。
在一些实施方案中,在素描区域的与由触敏表面上的填充手势触摸的区域对应的并且由素描区域中的线条划定并且部分包围的素描区域的第一部分中添加填充内容包括限定显示单元上的素描区域的与由接触在触敏表面单元上的来回轻扫运动跨越的区域对应的区域;基于素描区域中的线条来保持素描区域的区域的由接触的来回轻扫运动限定的边界;并且根据该边界来将填充内容添加到素描区域的区域中。
在一些实施方案中,显示单元上的素描区域的与由接触在触敏表面单元上的来回轻扫运动跨越的区域对应的区域的至少一部分跨过线条,并且保持区域的边界包括对素描区域的区域进行拉伸或切割中的至少一者,使得素描区域的区域的边界与线条对准。
在一些实施方案中,线条的开始和结束为非重叠的并且线条限定至少一个完全包围区域。
在一些实施方案中,素描区域的第一部分包括至少一个完全包围区域。
在一些实施方案中,素描区域的第一部分不包括至少一个完全包围区域。
在一些实施方案中,在素描区域的与由触敏表面单元上的填充手势触摸的区域对应的并且由素描区域中的线条划定并部分包围的第一部分中添加填充内容包括根据第一填充系数来在素描区域的第一部分中的第一区域中添加填充内容并且根据第二填充系数来在素描区域的第一部分中的第二区域中添加填充内容,其中第一区域比第二区域更靠近线条并且第一填充系数大于第二填充系数。
在一些实施方案中,第二填充系数根据填充手势的一个或多个特征来确定。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述的)或特定于应用的芯片。
以上参考图6A-图6I、图7和图8A-图8C以及图9A-图9C所述的操作任选地由图1A-图1B所描绘的组件来实施。例如,显示操作602、呈现操作606和填充操作612任选地由事件分类器170、事件识别器180和事件处理程序190来实施。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用程序136-1。应用程序136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178,以更新应用程序所显示的内容。类似地,本领域的普通技术人员会清楚地知道基于在图1A-图1B中所示的部件可如何实现其他过程。
出于解释的目的,前面的描述是参考具体的实施方案来描述的。然而,上面的示例性讨论并非旨在是穷尽的,也并非旨在将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。
Claims (50)
1.一种提供绘图辅助工具的方法,包括:
在具有存储器、触敏表面、显示器、以及一个或多个处理器的设备处:
响应于预定义输入来在素描区域中显示屏幕上尺子,所述屏幕上尺子具有第一边缘和由所述第一边缘划定的内部部分;
响应于检测到指向所述屏幕上尺子的所述第一边缘的第一触摸输入,根据所述屏幕上尺子的所述第一边缘在所述素描区域中呈现线条;以及
响应于检测到指向所述屏幕上尺子的所述第一边缘的第二触摸输入,在所述素描区域的与由所述触敏表面上的所述第二触摸输入触摸的区域对应的并且由所述屏幕上尺子的所述第一边缘划定的第一部分中添加填充内容,使得所述素描区域的所述第一部分由所述第一边缘或所述线条限制。
2.根据权利要求1所述的方法,还包括:
根据至少确定所述第一触摸输入的接触在所述触敏表面上的初始位置对应于位于距所述屏幕上尺子的所述第一边缘的阈值距离内的屏幕上位置来确定所述第一触摸输入为线条绘制手势。
3.根据权利要求1-2中任一项所述的方法,还包括:
根据至少确定所述第二触摸输入的接触在所述触敏表面上的初始位置对应于距所述素描区域的区域中的未由所述屏幕上尺子掩蔽的所述第一边缘超过阈值距离的屏幕上位置来确定所述第二触摸输入为填充手势。
4.根据权利要求1-2中任一项所述的方法,还包括:
根据至少确定所述第二触摸输入的接触在所述触敏表面上的移动方向对应于相对于所述素描区域的区域中的未由所述屏幕上尺子掩蔽的所述第一边缘超过阈值角度的屏幕上移动方向来确定所述第二触摸输入为填充手势。
5.根据权利要求1-2中任一项所述的方法,其中根据所述屏幕上尺子的所述第一边缘在所述素描区域中呈现所述线条还包括:
在所述第一触摸输入的接触的对应屏幕上位置在距所述屏幕上尺子的所述第一边缘的阈值距离内移动时,在所述素描区域中利用预先确定的线条颜色来跟踪所述第一边缘。
6.根据权利要求1-2中任一项所述的方法,其中检测所述第二触摸输入包括检测接触在所述触敏表面上的来回轻扫运动,并且其中在所述素描区域的与由所述触敏表面上的所述第二触摸输入触摸的区域对应的并且由所述屏幕上尺子的所述第一边缘划定的第一部分中添加填充内容还包括:
限定所述素描区域的与由所述接触在所述触敏表面上的所述来回轻扫运动跨越的区域对应的区域;
基于所述屏幕上尺子的所述第一边缘来保持所述素描区域的所述区域的由所述接触在所述触敏表面上的所述来回轻扫运动限定的边界;以及
根据所述边界来将所述填充内容添加到所述素描区域的所述区域中。
7.根据权利要求6所述的方法,其中所述素描区域的与由所述接触在所述触敏表面上的所述来回轻扫运动跨越的所述区域对应的所述区域的至少一部分跨过所述屏幕上尺子的所述第一边缘,并且保持所述素描区域的所述区域的所述边界包括对所述素描区域的所述区域进行拉伸或切割中的至少一者,使得所述素描区域的所述区域的所述边界与所述第一边缘对准。
8.根据权利要求1-2中任一项所述的方法,还包括:
检测指向所述屏幕上尺子的所述第一边缘的第三触摸输入;
确定所述第三触摸输入的接触在所述触敏表面上的初始触摸位置是否对应于位于所述屏幕上尺子的远离所述第一边缘阈值距离的预先确定的中心区域内的屏幕上位置;以及
根据确定所述第三触摸输入的所述接触在所述触敏表面上的所述初始触摸位置对应于位于所述屏幕上尺子的所述预先确定的中心区域内的屏幕上位置,在所述显示器上使所述素描区域保持静止时,根据所述第三触摸输入的所述接触在所述触敏表面上的移动来将所述屏幕上尺子移动到所述显示器上的不同位置。
9.根据权利要求8所述的方法,其中根据所述第三触摸输入的所述接触在所述触敏表面上的移动来将所述屏幕上尺子移动到所述显示器上的不同位置还包括:
在所述屏幕上尺子在所述显示器上的移动期间保持所述屏幕上尺子在所述显示器上的取向。
10.根据权利要求1-2中任一项所述的方法,还包括:
检测指向所述屏幕上尺子的预定义枢转手势;以及
响应于检测到指向所述屏幕上尺子的预定义枢转手势,根据所述预定义枢转手势的移动来旋转所述屏幕上尺子。
11.根据权利要求10所述的方法,还包括:
检测所述预定义枢转手势的终止;以及
响应于检测到所述预定义枢转手势在距离预先确定的尺子取向的阈值角度内的终止,将所述屏幕上尺子旋转到所述预先确定的尺子取向。
12.根据权利要求1-2中任一项所述的方法,还包括:
在与所述屏幕上尺子内的屏幕上位置相对应的第一位置处检测所述触敏表面上的第一接触;
在检测到所述触敏表面上的第一接触之后,根据所述第一接触在所述触敏表面上的移动来平移所述显示器上的所述屏幕上尺子;
在检测所述第一接触从所述触敏表面抬离之前,检测所述触敏表面上的第二接触远离所述第一接触;
在所述触敏表面上检测第二接触围绕第一接触的枢转运动;和
响应于在所述触敏表面上检测到第二接触围绕第一接触的枢转运动,根据第二接触在所述触敏表面上的枢转运动来旋转所述显示器上的屏幕上尺子。
13.根据权利要求1-2中任一项所述的方法,还包括:
接收指向所述屏幕上尺子的捏合手势;和
响应于接收到指向所述屏幕上尺子的捏合手势,从所述显示器上移除所述屏幕上尺子。
14.根据权利要求1-2中任一项所述的方法,还包括:
在显示所述屏幕上尺子时接收内容移动手势;和
响应于接收到所述内容移动手势,在所述素描区域内移动内容,同时使所述屏幕上尺子相对于所述素描区域保持静止。
15.根据权利要求1-2中任一项所述的方法,还包括:
在显示所述屏幕上尺子时接收内容缩放手势;和
响应于接收到所述内容缩放手势,在所述素描区域内缩放内容,同时根据所述内容的当前缩放级别缩放所述屏幕上尺子的至少一部分。
16.根据权利要求15所述的方法,其中所述屏幕上尺子至少部分地透明,使得在缩放之前和之后所述内容从所述屏幕上尺子后方均可见。
17.根据权利要求1-2中任一项所述的方法,其中所述屏幕上尺子的第一边缘具有除直线之外的预定义形状。
18.根据权利要求1-2中任一项所述的方法,还包括:
检测接触在所述触敏表面上的与沿所述显示器上的所述屏幕上尺子的移动对应的移动;以及
响应于所述接触在所述触敏表面上的所述移动,在所述第一边缘上显示刻度线,以指示所述屏幕上尺子的长度尺度。
19.根据权利要求18所述的方法,其中在所述第一边缘上显示所述刻度线还包括:
根据所述接触在所述触敏表面上的初始位置和最终位置,确定所述刻度线在所述第一边缘上的开始位置和结束位置。
20.根据权利要求19所述的方法,其中在所述第一边缘上显示所述刻度线还包括:
在所述接触在所述触敏表面上抬离之前检测所述接触的制动移动;以及
响应于检测到所述接触的制动移动,将刻度线的结束位置对齐到所述屏幕上尺子的与所述接触在触敏表面上的最终位置对应的预先确定的对齐位置。
21.根据权利要求1-2中任一项所述的方法,还包括:
检测接触在所述触敏表面上的与沿所述显示器上的所述屏幕上尺子的移动对应的移动;以及
响应于所述接触在所述触敏表面上的所述移动,邻近所述第一边缘来显示数值,所述数值例如是刻度线的总数,以指示所述接触的所述移动的长度尺度。
22.根据权利要求18所述的方法,还包括:
基于所述显示器的屏幕分辨率或尺寸来确定所述刻度线的屏幕上间距。
23.根据权利要求1-2中任一项所述的方法,还包括:
当所述屏幕上尺子在距内容对象的阈值距离内移动时,显示所述内容对象的长度。
24.根据权利要求1-2中任一项所述的方法,还包括:
在所述屏幕上尺子的第一边缘上显示刻度线,以指示所述屏幕上尺子的长度尺度;
检测用于移动所述屏幕上尺子的预先确定的移动手势;
根据预先确定的移动手势的移动来移动所述屏幕上尺子;以及
响应于检测到所述屏幕上尺子的预先确定的刻度线在预先确定的移动手势的终止处远离所述素描区域中的现有内容对象在阈值距离内,继续将所述屏幕上尺子移动到新位置,使得预先确定的刻度线对齐到所述现有内容对象。
25.根据权利要求1-2中任一项所述的方法,还包括:
在所述屏幕上尺子的第一边缘上显示刻度线,以指示所述屏幕上尺子的长度尺度;
检测指向所述屏幕上尺子的第一边缘的第一触摸输入,其中第一触摸输入包括沿第一边缘的初始移动以及在第一触摸输入终止之前的制动移动,并且其中根据所述屏幕上尺子的所述第一边缘在所述素描区域中呈现线条还包括:
根据第一触摸输入沿所述屏幕上尺子的第一边缘的初始移动来呈现所述线条;以及
响应于检测到所述制动移动,将所述线条的最终点对齐到最接近与第一触摸输入的结束位置对应的屏幕上位置的刻度线。
26.根据权利要求1-2中任一项所述的方法,还包括:
检测指向屏幕上尺子的枢转手势,其中所述枢转手势包括初始旋转以及枢转手势终止之前的制动移动;
响应于所述枢转手势:
根据所述枢转手势的初始旋转来旋转所述屏幕上尺子;以及
响应于检测到制动移动,将所述屏幕上尺子的最终取向对齐到最接近与枢转手势的结束位置对应的屏幕上位置的预先确定的对齐角。
27.根据权利要求1-2中任一项所述的方法,还包括:
在所述屏幕上尺子上显示角度指示符,以指示所述屏幕上尺子的当前取向。
28.一种电子设备,包括:
显示器;
触敏表面;
一个或多个处理器;
存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-27中任一项所述的方法的指令。
29.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由具有显示器和触敏表面的电子设备执行时使得所述设备执行根据权利要求1-27中任一项所述的方法。
30.一种电子设备,包括:
显示器;
触敏表面;和
用于执行根据权利要求1-27中任一项所述的方法的部件。
31.一种提供绘图辅助工具的方法,包括:
在具有存储器、触敏表面、显示器、以及一个或多个处理器的设备处:
响应于预定义输入来在素描区域中显示屏幕上尺子,所述屏幕上尺子具有第一边缘和由所述第一边缘划定的内部部分;
检测指向所述屏幕上尺子的第一边缘的相应触摸输入;以及
响应于检测到指向所述屏幕上尺子的第一边缘的相应触摸输入,在所述素描区域的与触敏表面上的第一触摸输入触摸的区域对应的并且由所述屏幕上尺子的第一边缘划定的第一部分中添加填充内容,使得所述素描区域的第一部分由第一边缘或线条限制。
32.根据权利要求31所述的方法,还包括:
检测指向所述屏幕上尺子的第一边缘的第一触摸输入;以及
根据所述屏幕上尺子的第一边缘来在所述素描区域中呈现线条。
33.根据权利要求32所述的方法,其中指向所述屏幕上尺子的第一边缘的所述相应触摸输入是指向所述屏幕上尺子的第一边缘的第二触摸输入,并且其中所述方法还包括上面的权利要求1-27中任一项所述的特征。
34.一种电子设备,包括:
显示器;
触敏表面;
一个或多个处理器;
存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求31-33中任一项所述的方法的指令。
35.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由具有显示器和触敏表面的电子设备执行时使得所述设备执行根据权利要求31-33中任一项所述的方法。
36.一种在电子设备上的图形用户界面,所述电子设备具有显示器、触敏表面、存储器和用于执行存储在所述存储器中的一个或多个程序的一个或多个处理器,所述图形用户界面包括根据权利要求31-33中任一项所述的方法显示的用户界面。
37.一种电子设备,包括:
显示器;
触敏表面;和
用于执行根据权利要求31-33中任一项所述的方法的部件。
38.一种生成素描的方法,包括:
在具有存储器、触敏表面、显示器、以及一个或多个处理器的电子设备处:
接收线条绘制输入;
根据所述线条绘制输入在素描区域中呈现线条;
在显示包括所述线条的所述素描区域时,接收指向所述素描区域中的所述线条的填充手势;以及
响应于接收到所述填充手势,在所述素描区域的与由所述触敏表面上的所述填充手势触摸的区域对应的并且由所述素描区域中的所述线条划定并部分包围的第一部分中添加填充内容。
39.根据权利要求38所述的方法,其中接收指向所述素描区域中的所述线条的所述填充手势还包括:
接收包括接触在所述触敏表面上的来回轻扫运动的触摸手势;以及
根据确定所述接触在所述触敏表面上的初始位置对应于超过距所述线条阈值距离的屏幕上位置以及在所述来回轻扫运动期间在所述接触的所述初始位置之后的一系列每个其他转向位置对应于位于距所述线条在阈值距离内的一系列屏幕上位置,确定所述触摸手势为指向所述素描区域中的所述线条的填充手势。
40.根据权利要求38-39中任一项所述的方法,其中接收指向所述素描区域中的所述线条的所述填充手势还包括:
紧接在选择内容填充模式之前或之后检测对所述线条的选择;
接收包括接触在所述触敏表面上的轻扫运动的触摸手势;以及
根据确定在同时选择所述线条和所述内容填充模式时接收到所述触摸手势,确定所述触摸手势为指向所述素描区域中的所述线条的填充手势。
41.根据权利要求39所述的方法,其中在所述素描区域的与由所述触敏表面上的所述填充手势触摸的区域对应的并且由所述素描区域中的所述线条划定并部分包围的所述第一部分中添加所述填充内容还包括:
限定所述显示器上的所述素描区域的与由所述接触在所述触敏表面上的所述来回轻扫运动跨越的区域对应的区域;
基于所述素描区域中的所述线条来保持所述素描区域的所述区域的由所述接触的所述来回轻扫运动限定的边界;以及
根据所述边界来将所述填充内容添加到所述素描区域的所述区域中。
42.根据权利要求41所述的方法,其中所述显示器上的所述素描区域的与由所述接触在所述触敏表面上的所述来回轻扫运动跨越的所述区域对应的所述区域的至少一部分跨过所述线条,并且保持所述区域的所述边界包括对所述素描区域的所述区域进行拉伸或切割中的至少一者,使得所述素描区域的所述区域的所述边界与所述线条对准。
43.根据权利要求38-42中任一项所述的方法,其中所述线条的开始和结束为非重叠的并且所述线条限定至少一个完全包围区域。
44.根据权利要求43所述的方法,其中所述素描区域的所述第一部分包括所述至少一个完全包围区域。
45.根据权利要求43所述的方法,其中所述素描区域的所述第一部分不包括所述至少一个完全包围区域。
46.根据权利要求38-45中任一项所述的方法,其中在所述素描区域的与由所述触敏表面上的所述填充手势触摸的区域对应的并且由所述素描区域中的所述线条划定并部分包围的所述第一部分中添加所述填充内容还包括:
根据第一填充系数在所述素描区域的所述第一部分中的第一区域中添加所述填充内容;以及
根据第二填充系数在所述素描区域的所述第一部分中的第二区域中添加所述填充内容,其中所述第一区域比所述第二区域更靠近所述线条,并且所述第一填充系数大于所述第二填充系数。
47.根据权利要求46所述的方法,其中所述第二填充系数根据所述填充手势的一个或多个特征来确定。
48.一种电子设备,包括:
显示器;
触敏表面;
一个或多个处理器;
存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求38-47中任一项所述的方法的指令。
49.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由具有显示器和触敏表面的电子设备执行时使得所述设备执行根据权利要求38-47中任一项所述的方法。
50.一种电子设备,包括:
显示器;
触敏表面;和
用于执行根据权利要求38-47中任一项所述的方法的部件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010806453.9A CN112000265B (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562172207P | 2015-06-07 | 2015-06-07 | |
US62/172,207 | 2015-06-07 | ||
US14/871,919 | 2015-09-30 | ||
US14/871,781 | 2015-09-30 | ||
US14/871,738 | 2015-09-30 | ||
US14/871,781 US10254939B2 (en) | 2015-06-07 | 2015-09-30 | Device, method, and graphical user interface for providing and interacting with a virtual drawing aid |
US14/871,738 US10795558B2 (en) | 2015-06-07 | 2015-09-30 | Device, method, and graphical user interface for providing and interacting with a virtual drawing aid |
US14/871,919 US10489033B2 (en) | 2015-06-07 | 2015-09-30 | Device, method, and graphical user interface for providing and interacting with a virtual drawing aid |
CN201680028077.7A CN107636593B (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
PCT/US2016/033520 WO2016200583A2 (en) | 2015-06-07 | 2016-05-20 | Device, method, and graphical user interface for providing and interacting with a virtual drawing aid |
CN202010806453.9A CN112000265B (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680028077.7A Division CN107636593B (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000265A true CN112000265A (zh) | 2020-11-27 |
CN112000265B CN112000265B (zh) | 2024-07-12 |
Family
ID=57451248
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010806456.2A Pending CN111913634A (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
CN201680028077.7A Active CN107636593B (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
CN202010806453.9A Active CN112000265B (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010806456.2A Pending CN111913634A (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
CN201680028077.7A Active CN107636593B (zh) | 2015-06-07 | 2016-05-20 | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10254939B2 (zh) |
EP (1) | EP3262499B1 (zh) |
CN (3) | CN111913634A (zh) |
WO (1) | WO2016200583A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650434A (zh) * | 2020-12-29 | 2021-04-13 | 微医云(杭州)控股有限公司 | 刻度尺生成方法、装置、电子设备和存储介质 |
CN114501107A (zh) * | 2021-06-30 | 2022-05-13 | 海信视像科技股份有限公司 | 一种显示设备及涂色方法 |
WO2023273462A1 (zh) * | 2021-06-30 | 2023-01-05 | 海信视像科技股份有限公司 | 一种显示设备及填色方法 |
CN115774513A (zh) * | 2022-11-22 | 2023-03-10 | 北京元跃科技有限公司 | 基于尺子确定绘画方向的系统、方法、电子设备及介质 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10025487B2 (en) * | 2012-04-30 | 2018-07-17 | Blackberry Limited | Method and apparatus for text selection |
US9690478B2 (en) * | 2014-03-04 | 2017-06-27 | Texas Instruments Incorporated | Method and system for processing gestures to cause computation of measurement of an angle or a segment using a touch system |
USD764498S1 (en) | 2015-06-07 | 2016-08-23 | Apple Inc. | Display screen or portion thereof with graphical user interface |
US10254939B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Device, method, and graphical user interface for providing and interacting with a virtual drawing aid |
WO2017162493A1 (en) * | 2016-03-23 | 2017-09-28 | Koninklijke Philips N.V. | A control method for a touch sensitive interface |
US10691316B2 (en) * | 2016-03-29 | 2020-06-23 | Microsoft Technology Licensing, Llc | Guide objects for drawing in user interfaces |
CN109643171B (zh) * | 2016-09-01 | 2022-10-04 | 株式会社和冠 | 触控笔、传感器控制器及电子尺 |
CN107025211B (zh) * | 2017-05-04 | 2020-06-05 | 李鹰 | 字体分析的临摹尺悬浮控制方法及装置 |
US10871886B2 (en) * | 2018-05-31 | 2020-12-22 | Apple Inc. | Device, method, and graphical user interface for moving drawing objects |
CN110554827A (zh) * | 2018-06-03 | 2019-12-10 | 苹果公司 | 用于在具有触敏显示器且不具有力传感器的电子设备处激活并使用触控板的系统和方法 |
USD863351S1 (en) * | 2018-07-09 | 2019-10-15 | MI Technical Solutions, Inc. | Display screen or portion thereof with icon |
USD868830S1 (en) * | 2018-07-27 | 2019-12-03 | Apple Inc. | Electronic device with icon |
WO2020051255A1 (en) | 2018-09-04 | 2020-03-12 | Lutron Technology Company Llc | Communicating with and controlling load control systems |
US11157152B2 (en) * | 2018-11-05 | 2021-10-26 | Sap Se | Interaction mechanisms for pointer control |
KR20200078932A (ko) * | 2018-12-24 | 2020-07-02 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
USD905092S1 (en) * | 2019-01-04 | 2020-12-15 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
US11875474B2 (en) * | 2019-03-26 | 2024-01-16 | Casio Computer Co., Ltd. | Protractor image changing method, protractor image changing apparatus and server apparatus |
EP3973747A1 (en) | 2019-05-20 | 2022-03-30 | Lutron Technology Company LLC | Communicating with and controlling load control systems |
USD916856S1 (en) * | 2019-05-28 | 2021-04-20 | Apple Inc. | Display screen or portion thereof with graphical user interface |
WO2021021688A1 (en) | 2019-07-26 | 2021-02-04 | Lutron Technology Company Llc | Configuring color control for lighting devices |
USD923652S1 (en) * | 2019-08-23 | 2021-06-29 | Beijing Xiaomi Mobile Software Co., Ltd. | Display screen or portion thereof with animated graphical user interface |
JP7490967B2 (ja) * | 2020-01-27 | 2024-05-28 | 富士通株式会社 | 表示制御プログラム、表示制御方法、及び表示制御装置 |
CN111399729A (zh) | 2020-03-10 | 2020-07-10 | 北京字节跳动网络技术有限公司 | 图像的绘制方法、装置、可读介质和电子设备 |
USD942468S1 (en) | 2020-03-17 | 2022-02-01 | Apple Inc. | Display screen or portion thereof with graphical user in interface |
USD956065S1 (en) * | 2020-03-31 | 2022-06-28 | Google Llc | Display screen with animated graphical user interface |
USD956064S1 (en) * | 2020-03-31 | 2022-06-28 | Google Llc | Display screen with animated graphical user interface |
CA3174192A1 (en) * | 2020-05-14 | 2021-11-18 | Lutron Technology Company Llc | Communicating with and controlling load control systems |
CN113852713B (zh) * | 2020-06-10 | 2023-03-21 | Oppo广东移动通信有限公司 | 设备控制方法、装置、存储介质及电子设备 |
CN112184852A (zh) * | 2020-09-10 | 2021-01-05 | 珠海格力电器股份有限公司 | 基于虚拟成像的辅助绘图方法和装置、存储介质、电子装置 |
US11481938B2 (en) * | 2020-10-02 | 2022-10-25 | Adobe Inc. | Adaptable drawing guides |
USD977505S1 (en) | 2020-10-12 | 2023-02-07 | Apple Inc. | Display screen or portion thereof with animated graphical user interface |
US11250607B1 (en) * | 2020-10-26 | 2022-02-15 | Adobe Inc. | Generating efficient angular snapping guides for digital artboards |
CN112527169A (zh) * | 2020-12-30 | 2021-03-19 | 江苏龙虎网信息科技股份有限公司 | 一种智能手机屏幕识别手绘圆形的方法 |
CN113223103A (zh) * | 2021-02-02 | 2021-08-06 | 杭州妙绘科技有限公司 | 素描画生成的方法、装置、电子设备及介质 |
CN113515228A (zh) * | 2021-06-09 | 2021-10-19 | 华为技术有限公司 | 一种虚拟标尺显示方法以及相关设备 |
KR20240036582A (ko) * | 2021-07-27 | 2024-03-20 | 애플 인크. | 물리적 객체와의 사용자 인터페이스에 대한 상호작용들을 관리하기 위한 방법 및 디바이스 |
US11847750B2 (en) * | 2022-05-18 | 2023-12-19 | Niantic, Inc. | Smooth object correction for augmented reality devices |
EP4361582A1 (de) | 2022-10-24 | 2024-05-01 | Wilo Se | Verfahren zur zustandsuntersuchung bei einem pumpenaggregat sowie softwareapplikation, speichermedium und untersuchungsgerät zur ausführung des verfahrens |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287417A (en) * | 1992-09-10 | 1994-02-15 | Microsoft Corporation | Method and system for recognizing a graphic object's shape, line style, and fill pattern in a pen environment |
US20130127910A1 (en) * | 2010-10-22 | 2013-05-23 | Adobe Systems Incorporated | Drawing Support Tool |
EP2669783A1 (en) * | 2012-05-31 | 2013-12-04 | BlackBerry Limited | Virtual ruler for stylus input |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097392A (en) | 1992-09-10 | 2000-08-01 | Microsoft Corporation | Method and system of altering an attribute of a graphic object in a pen environment |
US9292111B2 (en) | 1998-01-26 | 2016-03-22 | Apple Inc. | Gesturing with a multipoint sensing device |
US8479122B2 (en) * | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
US6232957B1 (en) * | 1998-09-14 | 2001-05-15 | Microsoft Corporation | Technique for implementing an on-demand tool glass for use in a desktop user interface |
US7469381B2 (en) * | 2007-01-07 | 2008-12-23 | Apple Inc. | List scrolling and document translation, scaling, and rotation on a touch-screen display |
US7299416B2 (en) * | 2001-02-15 | 2007-11-20 | Denny Jaeger | Metro for creating and using linear time line and play rectangle |
CA2511274A1 (en) * | 2004-07-02 | 2006-01-02 | Research Machines Plc | A computer method for controlling a display, and graphical tools for on-screen analysis |
US7683889B2 (en) | 2004-12-21 | 2010-03-23 | Microsoft Corporation | Pressure based selection |
US20080168402A1 (en) | 2007-01-07 | 2008-07-10 | Christopher Blumenberg | Application Programming Interfaces for Gesture Operations |
JP4764482B2 (ja) * | 2007-01-15 | 2011-09-07 | 富士通セミコンダクター株式会社 | グラフィックスシステム及びその描画方法 |
US20120023100A1 (en) | 2007-06-06 | 2012-01-26 | Athena Telecom Lab, Inc. | Method and apparatus for changing references between objects |
US7872648B2 (en) | 2007-06-14 | 2011-01-18 | Microsoft Corporation | Random-access vector graphics |
US8201109B2 (en) * | 2008-03-04 | 2012-06-12 | Apple Inc. | Methods and graphical user interfaces for editing on a portable multifunction device |
US8416196B2 (en) | 2008-03-04 | 2013-04-09 | Apple Inc. | Touch event model programming interface |
US7707738B2 (en) * | 2008-05-23 | 2010-05-04 | Mitutoyo Corporation | Digital ruler with low-friction sliding contact |
EP2175355A1 (en) * | 2008-10-07 | 2010-04-14 | Research In Motion Limited | Portable electronic device and method of secondary character rendering and entry |
US20130014041A1 (en) | 2008-12-09 | 2013-01-10 | Denny Jaeger | Using gesture objects to replace menus for computer control |
US20110304584A1 (en) * | 2009-02-23 | 2011-12-15 | Sung Jae Hwang | Touch screen control method and touch screen device using the same |
US8493344B2 (en) * | 2009-06-07 | 2013-07-23 | Apple Inc. | Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface |
US20120313865A1 (en) | 2009-08-25 | 2012-12-13 | Promethean Ltd | Interactive surface with a plurality of input detection technologies |
US20110074695A1 (en) * | 2009-09-25 | 2011-03-31 | Peter William Rapp | Device, Method, and Graphical User Interface Using Mid-Drag Gestures |
KR20100002245A (ko) * | 2009-12-14 | 2010-01-06 | 길석면 | 디지털 각도기가 부착된 자 |
US8502789B2 (en) * | 2010-01-11 | 2013-08-06 | Smart Technologies Ulc | Method for handling user input in an interactive input system, and interactive input system executing the method |
US8487889B2 (en) * | 2010-01-15 | 2013-07-16 | Apple Inc. | Virtual drafting tools |
US8683363B2 (en) | 2010-01-26 | 2014-03-25 | Apple Inc. | Device, method, and graphical user interface for managing user interface content and user interface elements |
US8239785B2 (en) * | 2010-01-27 | 2012-08-07 | Microsoft Corporation | Edge gestures |
US8896621B1 (en) * | 2010-06-02 | 2014-11-25 | Pinger, Inc. | User-manipulable stencils for drawing application |
US20120026100A1 (en) | 2010-07-30 | 2012-02-02 | Migos Charles J | Device, Method, and Graphical User Interface for Aligning and Distributing Objects |
JP5269851B2 (ja) * | 2010-09-27 | 2013-08-21 | 富士フイルム株式会社 | 画像編集装置及びその画像編集方法並びにそのプログラム |
US9250798B2 (en) | 2011-01-24 | 2016-02-02 | Apple Inc. | Device, method, and graphical user interface with a dynamic gesture disambiguation threshold |
US9513799B2 (en) * | 2011-06-05 | 2016-12-06 | Apple Inc. | Devices, methods, and graphical user interfaces for providing control of a touch-based user interface absent physical touch capabilities |
US8838276B1 (en) | 2011-08-19 | 2014-09-16 | Google Inc. | Methods and systems for providing functionality of an interface to control orientations of a camera on a device |
CN102375689B (zh) | 2011-09-23 | 2016-03-30 | 上海量明科技发展有限公司 | 触摸屏操作的方法及系统 |
US8542207B1 (en) * | 2011-09-27 | 2013-09-24 | Cosmin Truta | Pencil eraser gesture and gesture recognition method for touch-enabled user interfaces |
US9542068B2 (en) | 2011-10-27 | 2017-01-10 | The Hong Kong University Of Science And Technology | System and method for constrained manipulations of 3D objects by multitouch inputs |
US20130201210A1 (en) * | 2012-01-13 | 2013-08-08 | Qualcomm Incorporated | Virtual ruler |
CN108958550B (zh) | 2012-05-09 | 2021-11-12 | 苹果公司 | 用于响应于用户接触来显示附加信息的设备、方法和图形用户界面 |
US20130321350A1 (en) | 2012-05-31 | 2013-12-05 | Research In Motion Limited | Virtual ruler for stylus input |
US9311750B2 (en) * | 2012-06-05 | 2016-04-12 | Apple Inc. | Rotation operations in a mapping application |
TWI480792B (zh) | 2012-09-18 | 2015-04-11 | Asustek Comp Inc | 電子裝置的操作方法 |
US9372621B2 (en) * | 2012-09-18 | 2016-06-21 | Asustek Computer Inc. | Operating method of electronic device |
US9076261B2 (en) * | 2012-09-27 | 2015-07-07 | Siemens Product Lifecycle Management Software Inc. | Virtual drafting tools |
US9411461B2 (en) * | 2012-10-17 | 2016-08-09 | Adobe Systems Incorporated | Moveable interactive shortcut toolbar and unintentional hit rejecter for touch input devices |
US9001064B2 (en) * | 2012-12-14 | 2015-04-07 | Barnesandnoble.Com Llc | Touch sensitive device with pinch-based archive and restore functionality |
TWI623776B (zh) * | 2012-12-17 | 2018-05-11 | Lg伊諾特股份有限公司 | 設計光學基板的方法 |
US9298360B2 (en) * | 2013-01-25 | 2016-03-29 | Apple Inc. | Accessibility techinques for presentation of symbolic expressions |
US20140210748A1 (en) * | 2013-01-30 | 2014-07-31 | Panasonic Corporation | Information processing apparatus, system and method |
KR102155708B1 (ko) | 2013-02-26 | 2020-09-14 | 삼성전자 주식회사 | 휴대 단말기 및 그의 멀티 어플리케이션 운용 방법 |
US20140267089A1 (en) | 2013-03-18 | 2014-09-18 | Sharp Laboratories Of America, Inc. | Geometric Shape Generation using Multi-Stage Gesture Recognition |
US9542093B2 (en) | 2013-05-07 | 2017-01-10 | FiftyThree, Inc. | Methods and apparatus for providing partial modification of a digital illustration |
KR102123406B1 (ko) | 2013-07-05 | 2020-06-16 | 삼성전자주식회사 | 멀티 터치 입력을 지원하는 터치스크린을 구비한 모바일 단말기 및 그의 제어 방법 |
US9183650B2 (en) | 2013-07-24 | 2015-11-10 | Microsoft Technology Licensing, Llc | Data point calculations on a chart |
JP6472171B2 (ja) * | 2013-08-27 | 2019-02-20 | キヤノン株式会社 | 画像処理装置およびその方法 |
CN103473010B (zh) | 2013-09-02 | 2016-08-17 | 小米科技有限责任公司 | 一种辅助绘画的方法和装置 |
US10331333B2 (en) | 2014-08-19 | 2019-06-25 | Adobe Inc. | Touch digital ruler |
US9436369B2 (en) | 2014-09-26 | 2016-09-06 | Disney Enterprises, Inc. | Touch interface for precise rotation of an object |
US20160147408A1 (en) * | 2014-11-25 | 2016-05-26 | Johnathan Bevis | Virtual measurement tool for a wearable visualization device |
US10817172B2 (en) * | 2015-03-27 | 2020-10-27 | Intel Corporation | Technologies for graphical user interface manipulations using multi-finger touch interactions |
US10254939B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Device, method, and graphical user interface for providing and interacting with a virtual drawing aid |
US20170263034A1 (en) | 2016-03-14 | 2017-09-14 | Morpholio LLC | Systems and methods for scale calibration in virtual drafting and design tools |
US10691316B2 (en) | 2016-03-29 | 2020-06-23 | Microsoft Technology Licensing, Llc | Guide objects for drawing in user interfaces |
-
2015
- 2015-09-30 US US14/871,781 patent/US10254939B2/en active Active
- 2015-09-30 US US14/871,738 patent/US10795558B2/en active Active
- 2015-09-30 US US14/871,919 patent/US10489033B2/en active Active
-
2016
- 2016-05-20 WO PCT/US2016/033520 patent/WO2016200583A2/en active Application Filing
- 2016-05-20 CN CN202010806456.2A patent/CN111913634A/zh active Pending
- 2016-05-20 EP EP16727898.5A patent/EP3262499B1/en active Active
- 2016-05-20 CN CN201680028077.7A patent/CN107636593B/zh active Active
- 2016-05-20 CN CN202010806453.9A patent/CN112000265B/zh active Active
-
2020
- 2020-08-07 US US16/988,502 patent/US12056339B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287417A (en) * | 1992-09-10 | 1994-02-15 | Microsoft Corporation | Method and system for recognizing a graphic object's shape, line style, and fill pattern in a pen environment |
US20130127910A1 (en) * | 2010-10-22 | 2013-05-23 | Adobe Systems Incorporated | Drawing Support Tool |
EP2669783A1 (en) * | 2012-05-31 | 2013-12-04 | BlackBerry Limited | Virtual ruler for stylus input |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650434A (zh) * | 2020-12-29 | 2021-04-13 | 微医云(杭州)控股有限公司 | 刻度尺生成方法、装置、电子设备和存储介质 |
CN114501107A (zh) * | 2021-06-30 | 2022-05-13 | 海信视像科技股份有限公司 | 一种显示设备及涂色方法 |
WO2023273462A1 (zh) * | 2021-06-30 | 2023-01-05 | 海信视像科技股份有限公司 | 一种显示设备及填色方法 |
CN115774513A (zh) * | 2022-11-22 | 2023-03-10 | 北京元跃科技有限公司 | 基于尺子确定绘画方向的系统、方法、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016200583A2 (en) | 2016-12-15 |
US10489033B2 (en) | 2019-11-26 |
EP3262499A2 (en) | 2018-01-03 |
CN111913634A (zh) | 2020-11-10 |
US20160357356A1 (en) | 2016-12-08 |
CN112000265B (zh) | 2024-07-12 |
US12056339B2 (en) | 2024-08-06 |
US20200371676A1 (en) | 2020-11-26 |
US20160357412A1 (en) | 2016-12-08 |
US10795558B2 (en) | 2020-10-06 |
EP3262499B1 (en) | 2020-06-24 |
US20160357430A1 (en) | 2016-12-08 |
CN107636593A (zh) | 2018-01-26 |
WO2016200583A3 (en) | 2017-02-23 |
US10254939B2 (en) | 2019-04-09 |
CN107636593B (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107636593B (zh) | 提供虚拟绘图辅助工具并与其交互的设备、方法和介质 | |
US12067229B2 (en) | Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object | |
AU2017202816B2 (en) | Device, method, and graphical user interface for determining whether to scroll or select contents | |
CN110720087B (zh) | 用于注释内容的设备、方法和图形用户界面 | |
DK179048B1 (en) | Devices and methods for manipulating user interfaces with stylus | |
KR101764646B1 (ko) | 컨트롤의 외관을 조정하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스 | |
CN106201316B (zh) | 用于选择用户界面对象的设备、方法和图形用户界面 | |
CN107683458B (zh) | 用于操纵相关应用程序窗口的设备、方法和图形用户界面 | |
EP3435220A1 (en) | Device, method and graphical user interface for transitioning between touch input to display output relationships | |
CN112119370A (zh) | 用于传送基于接近度和基于接触的输入事件的设备、方法和用户界面 | |
CN115220635A (zh) | 用于提供导航和搜索功能的装置、方法和图形用户界面 | |
CN112219182B (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 |