The present invention is generally related to computer software that can be used to create and manipulate documents. More specifically, the present invention can be used to select and manipulate multiple objects in a document.
The advent and continuing development of computer technology has led to an increasing usage of computing devices, such as desktop or laptop computers, and software applications, such as graphics or word processing programs, to create and manipulate documents. Such documents may include all types of formats, such as drawings, word processing documents, spreadsheets, desktop publishing projects, webpages, etc. Furthermore, such documents may be organized into one or more pages of objects and/or other data.
Many times, a computing device user may need to manipulate two or more (i.e., multiple) objects that have been created in a document using a software application. For example, a drawing document may be created that includes several shape and/or text objects that a user needs to modify. Furthermore, a user may often need to manipulate such multiple objects based on a common reference. For example, the user may need to rotate or flip (e.g., vertically or horizontally) the multiple objects about a common axis as if they were a single common object. As another example, the user may need to resize one or more dimensions of the multiple objects in a single operation without distorting the shapes of the objects. Additionally, if one or more of the multiple objects is rotated with respect to a standard reference (e.g., horizontal and vertical axes), a user may need to manipulate the multiple objects based on that rotated orientation. In some instances, the user may need to manipulate the multiple objects (e.g., rotate them) with respect to an axis that is not at the center of the multiple objects.
Some existing approaches provide the capability for a user to select multiple objects, in a document and then transform the multiple objects into a single object representation that can be manipulated (sometimes referred to as “grouping”). However, the transformation of the multiple objects in this manner typically requires one or more operations to be performed before the manipulations. Furthermore, the multiple objects are usually permanently transformed into a new, single object representation. Therefore, additional operations typically need to be performed to reverse the transformation (sometimes referred to as “ungrouping”) so that one or more of the multiple objects can be manipulated separately from the other objects that were transformed. Moreover, these numerous operations to group and ungroup the multiple objects may need to be performed many times during the manipulation of the document, thereby increasing the effort and complication involved for the user, the computing device, and the software application.
Some of the above mentioned existing approaches provide the capability for a user to rotate or flip grouped multiple objects. However, these existing approaches typically are limited to rotating or flipping the grouped objects about a fixed axis located at or near the center of the group of multiple objects. Furthermore, these existing approaches typically group the multiple objects with respect to a standard reference orientation, which is usually a fully vertical and fully horizontal axis (e.g., x-y axes). Thus, even if one or more of the multiple objects has an orientation that is rotated away from such standard reference orientation, the existing approaches are limited to referencing the manipulations of the grouped objects with respect to the standard orientation.
Some of the above mentioned existing approaches may also provide for the user to resize the grouped multiple objects, for example, by stretching or compressing the objects along one or more of the reference axes. However, during a single axis (e.g., horizontal) resizing of the grouped objects, these existing approaches are typically limited to resizing the grouped objects only with respect to the single axis. As a result, the shape of objects in the group that are not aligned with the standard reference orientation are typically distorted during such single axis resizing operations, instead of being proportionally resized with respect to both axes to maintain the original shape characteristics. For example, if one of the grouped objects is a right-angle triangle that is oriented at rotation other than the standard reference orientation, horizontally stretching the grouped objects according to the existing approaches will typically cause the triangle to lose its right-angle characteristic.
In consideration of the above described limitations of existing approaches, there is a need in the art for more flexible approaches to selecting and manipulating multiple objects in a document. Such new approaches need to provide the capability to select and manipulate multiple objects with respect to a common reference and/or by a single operation without the need to permanently transform or group the objects to form a new object, which must later be ungrouped in order to manipulate one or more of the individual objects. These new approaches need to also provide the capability to manipulate multiple objects, for example by rotating or flipping them, with respect to an axis or reference point that can be adjusted to other positions besides the approximate center of the group of objects.
Such new approaches are needed in the art to also provide the capability to select and manipulate multiple objects based on the orientation of one or more objects that are not at the same orientation as the standard reference orientation. Furthermore, such new approaches should provide the capability to resize one or more of the multiple objects with respect to a single orientation direction (e.g., vertical or horizontal) without distorting those objects that are not at the same orientation as the standard reference orientation.
Exemplary embodiments of the present invention can provide the capability to select and manipulate multiple objects in a document, such as a drawing, word processing document, spreadsheet, desktop publishing project, webpage, etc. For example, a user of a computing device and a document software application can be provided with the capability to select and manipulate multiple objects with respect to a common reference and/or by a single operation without the need to permanently transform or group the objects to form a new object or to later transform or ungroup the objects in order to manipulate one or more of them individually. The capability can also be provided to manipulate multiple objects, for example by rotating or flipping them, with respect to an axis or reference point that can be adjusted to other positions besides the approximate center of the group of objects.
Another capability can be provided to select and manipulate multiple objects based on the orientation of one or more objects that are not at the same orientation as a standard reference orientation. Furthermore, the capability can also be provided to resize one or more of the multiple objects with respect to a single orientation direction (e.g., vertical or horizontal) without distorting those objects that are not at the same orientation as the standard reference orientation.
In a typical aspect of the present invention, information can be received in response to the selection of two or more objects in a document. Highlighting objects can be displayed that correspond to the selected objects and can provide visual feedback to indicate that the objects have been selected. Additionally, a multiple selection highlight object can be displayed that corresponds to the highlight objects. Typically, the multiple selection highlight object at least partially bounds the highlight objects to provide additional visual feedback to indicate that the objects have been selected.
Both the highlight objects and the multiple selection highlight object can be displayed in the document to provide visual feedback of the multiple selection of the two or more objects. Once the two or more objects are selected, they are automatically configured to be commonly manipulated based on the manipulations of the multiple selection highlight object. However, as soon as at least one of the objects is deselected, each object can then be manipulated individually.
For example, the two or more objects can be rotated about a common axis by rotating the multiple selection highlight object that can be displayed in response to selecting the two or more objects. Then, after at least one of the objects is deselected, for example by selecting a blank area in the document, each of the two or more objects can be separately rotated about an individual axis.
These and other aspects of the invention will be described further in the detailed description below in connection with the appended drawings and claims.
Exemplary embodiments of the present invention can provide the capability to select and manipulate multiple objects in a document, such as a drawing, word processing document, spreadsheet, desktop publishing project, webpage, etc. According to exemplary embodiments of the present invention, a user of a computing device and a document software application can be provided with the capability to select and manipulate multiple objects with respect to a common reference and/or by a single operation without the need to permanently transform or group the objects to form a new object, which must later be ungrouped in order to manipulate one or more of the individual objects. The capability can also be provided to manipulate multiple objects, for example by rotating or flipping them, with respect to an axis or reference point that can be adjusted to other positions besides the approximate center of the group of objects.
Exemplary embodiments of the present invention can also provide the capability to select and manipulate multiple objects based on the orientation of one or more objects that are not at the same orientation as a standard reference orientation. Furthermore, the capability can also be provided to resize one or more of the multiple objects with respect to a single orientation direction (e.g., vertical or horizontal) without distorting those objects that are not at the same orientation as the standard reference orientation.
Exemplary Operating Environment
Exemplary embodiments of the present invention will hereinafter be described with reference to the drawings, in which like numerals represent like elements throughout the several figures.
The exemplary operating environment 100 includes a general purpose computing device 120, which may be a conventional personal computer. The computing device 120 may include a processing unit 121, a system memory 122, and a system bus 123 that can couple various system components, including the system memory 122, to the processing unit 121. The system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures. The system memory may include a read-only memory (ROM) 124 and a random access memory (RAM) 125. A basic input/output system (BIOS) 126, which may contain basic routines that help to transfer information between elements within computing device 120, such as during start-up, may be stored in ROM 124.
Computing device 120 may further include a hard disk drive 127 for reading from and writing to a hard disk, not shown, a magnetic disk drive 128 for reading from or writing to a removable magnetic disk 129, and an optical disk drive 130 for reading from or writing to a removable optical disk 131 such as a CD-ROM or other optical media. Hard disk drive 127, magnetic disk drive 128, and optical disk drive 130 may be connected to system bus 123 by a hard disk drive interface 132, a magnetic disk drive interface 133, and an optical disk drive interface 134, respectively.
Although the exemplary environment described herein employs hard disk 127, removable magnetic disk 129, and removable optical disk 131, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, RAMs, ROMs, and the like, may also be used in the exemplary operating environment 100. The drives and their associated computer readable media can provide nonvolatile storage of computer-executable instructions, data structures, program modules, and other data for computing device 120.
A number of program modules may be stored on hard disk 127, magnetic disk 129, optical disk 131, ROM 124, or RAM 125, including an operating system 135, a document application 136, which will be described in more detail below with respect to
A user may enter commands and information into computing device 120 through input devices, such as a keyboard 140 and a pointing device 142. Pointing devices may include a mouse, a trackball, or an electronic pen that can be used in conjunction with an electronic tablet. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to processing unit 121 through a serial port interface 146 that can be coupled to the system bus 123, but may be connected by other interfaces (not shown), such as a parallel port, game port, a universal serial bus (USB), or the like. A display device 147 may also be connected to system bus 123 via an interface, such as a video adapter 148. In addition to the monitor, computing devices may include other peripheral output devices (not shown), such as speakers and printers.
The computing device 120 may operate in a networked environment using logical connections to one or more remote computers 149. Remote computer 149 may be another personal computer, a server, a client, a router, a network PC, a peer device, or other common network node. While a remote computer 149 typically includes many or all of the elements described above relative to the computing device 120, for simplicity, only a memory storage device 150 has been illustrated in
When used in a LAN networking environment, the computing device 120 is often connected to the local area network 151 through a network interface or adapter 153. When used in a WAN networking environment, the computing device 120 typically includes a modem 154 or other means for establishing communications over WAN 152, such as the Internet. Modem 154, which may be internal or external, can be connected to system bus 123 via serial port interface 146. In a networked environment, program modules depicted relative to computing device 120, or portions thereof, may be stored in the remote memory storage device 150. For example, the remote memory storage device 150 may store document application 136 and other applications 137 or portions thereof. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
Moreover, those skilled in the art will appreciate that the present invention may be implemented in other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor based or programmable consumer electronics, network person computers, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments, where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Exemplary Architecture of System
Referring now to
The exemplary document application architecture 136 can include a main application module 200. The main application module 200 may provide numerous functions and/or capabilities related to the document application 136 such as, but not limited to, creating, manipulating, viewing, or saving a document. The main application 200 may also function to control or assist the functions of other modules of the document application 136. Furthermore, the main application module 200 may function as an interface between other modules of the document application 136.
The exemplary document application architecture 136 can also include a document view module 202. The document view module 202 may function to display a document (or page, file, etc.) through a user output interface such as the monitor 147 (
A selection list module 204 may also be included as part of the exemplary document application architecture 136. The selection list module 204 may create and/or store information about objects in a document. For example, the selection list module 204 may create and/or store one or more selection object(s) 206. Selection object(s) 206 may include information about and/or related to one or more objects that have been selected in a document. The selection list module 204 may provide the selection object(s) 206 to one or more modules of the document application to assist in creating, manipulating, and/or displaying objects in a document.
A highlight list module 208 may also be included in the exemplary document application architecture 136. The highlight list module 208 may also create and/or store information about objects in a document. More specifically, the highlight list module 208 may create and/or store highlight feedback of one or more objects that have been selected. For example, the highlight list module 208 may create and/or store highlight object(s) 210. Highlight object(s) 210 may include information about or related to highlight feedback for one or more objects selected in a document. In this regard, highlight feedback may include any outline or other modification of an object for the purpose of indicating that the object has been selected. For example, the highlight feedback may include a bold outline and/or an outline that is a different color from other objects in the document. As will be discussed with respect to
The highlight list module 208 may also create and/or store one or more multiple selection highlight objects 212. Typically, the highlight list module 208 may create and/or store one multiple selection highlight object 212, as depicted, but it should be understood that there may be additional multiple selection highlight objects 212 in accordance with some exemplary embodiments of the present invention. The multiple selection highlight object 212 may include information about or related to highlight feedback for multiple (e.g., two or more) objects selected in a document. In that regard, the multiple selection highlight object 212 may include information from one or more highlight objects 210. For example, the highlight list module 208 may create a multiple selection highlight object 212 from two or more highlight objects 210. Additional functions and/or other features of the foregoing components 202, 204, 206, 208, 210, 212 of the exemplary document application architecture 136 will be described below with respect to
Exemplary Screen Views
Referring now to
The selected object 302 initially had an appearance similar to object 301, except at a different angular orientation. In that regard, the term “standard orientation” will be used hereafter to describe a typical orientation (e.g., upright) of an object such that one or more of its edges are parallel to one or more of a fully vertical axis (e.g., 90 degrees from full horizontal) and a fully horizontal axis (e.g., 90 degrees from full vertical). For example, object 302 is positioned in a standard orientation, while object 301 is rotated out of the standard orientation. Other terms may be applicable to refer to the standard orientation, such as upright, orthogonal, etc., which can all be applicable terms within the scope of the exemplary embodiments of the present invention.
As briefly discussed above with respect to the highlight list module 208 and highlight object(s) 210, the selected object 302 includes highlight object 303, which in this exemplary illustration includes a bolded outline of the object 302. The highlight object 303 also includes various handles 304. These handles 304 can be used to manipulate the object 302. For example, one of the handles 304 may be selected and dragged using an input interface, such as a mouse 142, to resize the object 302.
In addition to the highlight objects 311, 312, both objects 301, 302 are contained within a multiple selection highlight object 313. As shown, the multiple selection highlight object may be a bounding box or similar surrounding border. The multiple selection highlight object 313 can include handles 314 that may provide the same features as the handles 304 described for
With respect to
However, in contrast to existing approaches of selecting and manipulating multiple objects, the multiple selection highlight object 313 can automatically appear around the multiple selected objects 301, 302 without the need to perform a transformation or grouping of the selected objects 301, 302. Thus, the multiple selected objects 301, 302 can be manipulated with respect to a common reference (e.g., axis pin 316) and/or by a single operation (e.g., movement of one of the handles 314 or the rotation handle 315) without the need to first perform operations to group the selected objects 301, 302 as with existing approaches. It is also noted for future reference that the multiple selection highlight object 313 is provided in the standard orientation, which is also aligned with the primary selected object 302 in the exemplary illustration of
Focusing now on
It is noted that the multiple selection highlight object 313 also rotates in accordance with the movement of the rotation handle 315 and that it can maintain its initial alignment to the multiple selected objects 301, 302, for example, to the primary selected object 302. As will be discussed further with respect to
In addition to the foregoing differences of the illustration of
Exemplary embodiments of the present invention can provide for the multiple selection highlight object 343 to align to the orientation of the primary selection object 302, which is a distinction from the limitations of existing approaches. However, in some of the exemplary embodiments, for example, as illustrated by
Referring now to
In contrast to
Thus,
However, it is noted that neither the multiple selection highlight object 343, 353 nor the multiple selected objects 301, 302 need to have an essentially square or rectangular shape to fall within the scope of the exemplary embodiments of the present invention. Thus, the multiple selection highlight object 343, 353 and the multiple selected objects 301, 302 may have any other conceivable shape according to the scope of the exemplary embodiments of the present invention, although an essentially square or rectangular shape for the multiple selection highlight object 343, 353 is typical. In cases where the multiple selected objects 301, 302 have other shapes, for example, which include curves, text, or other than four squared sides, the multiple selection highlight object 343, 353 may align to the highlight object 351, 352 of the primary selection object 302 regardless of the actual shape of the object 302. For example, the highlight objects 341, 342, 351, 352 may typically each include four squared sides regardless of the shapes of the objects 301, 302, thereby simplifying the alignment of a multiple selection highlight object 343, 353 that also has four squared sides to one of the selected objects 301, 302.
In such examples, the highlight objects 341, 342, 351, 352 may bound or at least partially surround a portion of the non-square or non-rectangular objects 301, 302, for example, similar to a square bounding the perimeter of a circle. However, the scope of the exemplary embodiments of the present invention are not limited to the foregoing examples, as will be apparent to those skilled in the art. For example, alignment of the multiple selection highlight object 343, 353 to one of the highlight objects 341, 342, 351, 352 may be facilitated by using other shapes for both the multiple selection highlight object 343, 353 and the highlight objects 341, 342, 351, 352, such as circular or octagonal.
Attention is now focused on
The multiple selected objects 401, 402 are also bounded accordingly by multiple selection highlight object 413. The multiple selection highlight object 413 also includes selection handles 414 and a rotation handle 415. Furthermore, the multiple selection highlight object 413 includes an axis pin 416 and a connection line 417. These elements are all at least substantially similar to the like-named elements discussed with respect to
As discussed above, the axis pin 416 and connection line 417 may appear when a user interface is positioned in the vicinity of the rotation handle 415 according to some exemplary embodiments of the present invention. Although the axis pin 416 can represent a reference for rotation of the multiple selected objects 401, 402, as discussed for
Thus, referring to
Furthermore, the multiple selection highlight object 413 and associated elements 414, 415, 417 are also repositioned in a mirror image manner with respect to the axis pin 416 as a result of the illustrated vertical flip operation.
It is noted that in contrast to the limitations of existing approaches, the multiple selected objects 401, 402 illustrated in
Turning to
However, in contrast to
The axis pin 516 may be positioned in many manners, which will be apparent to those skilled in the art. For example, the axis pin 516, or possibly the connection line 517, can be selected and dragged using a user interface to reposition the axis pin 516 to a desired location. As discussed above, the axis pin 516 and/or connection line 517 may appear when a user interface is placed in the vicinity of the rotation handle 515. Thus, in some exemplary embodiments, the axis pin 516 may be repositioned by first placing the user interface in the vicinity of the rotation handle 515 to cause the axis pin 516 and/or connection line 517 to appear.
Turning now to
Since the axis 516 was repositioned to the right of the center position of the multiple selection highlight object 513, all of the flipped elements are also positioned at a horizontal offset from the original position of the multiple selection highlight object 513 in
Attention is now directed to
It is noted that, in accordance with some exemplary embodiments of the present invention, an axis pin and connecting line are not visible in the exemplary screen view 600, although they can appear, for example, if a user interface is placed in the vicinity of the rotation handle 615. It is further noted with regard to various exemplary embodiments of the present invention that although an axis pin may not be visible in a screen view of multiple selected objects, the reference provided by the axis pin can still be available and relied upon for operations performed on the multiple selected objects. Thus, the axis pin and/or connection line may be hidden in some instances according to exemplary embodiments of the invention.
Turning now to
Moving then to
In the exemplary resize operations illustrated in
For example, object 702, which is at a nearly diagonal (e.g., 45 degrees) orientation to the multiple selection highlight object 716, is stretched almost equally in both the horizontal and vertical dimensions as a result of the horizontal resizing. In contrast, object 703, which is oriented just slightly out of alignment with the multiple selection highlight object 716, is stretched mostly in the horizontal dimension but also slightly in the vertical dimension, proportionate with the misalignment of the object 703 from the multiple selection highlight object 716. This is another beneficial feature that can be contrasted to the limitations of existing approaches since it reduces or prevents the distortion of the original shape of objects 702, 703, which are not aligned with the multiple selection highlight object 716 during a resize operation. In existing approaches, objects that are not aligned with the direction of resizing are typically distorted, sometimes beyond recognition of the original shapes since these approaches are typically limited to resizing the object in the actual direction of the resize operation (e.g., horizontally or vertically).
Similar to the resize options discussed with respect to
It is noted that any other conceivable operation can be performed on multiple selected objects according to exemplary embodiments of the present invention as if the objects are a single object without the need to perform transformation or grouping operations to the objects. Moreover, although the foregoing examples are presented with respect to two dimensional objects, the concepts may be applied to three dimensional objects in accordance with some exemplary embodiments of the invention.
Exemplary Processes
In the following discussion of exemplary processes according to exemplary embodiments of the present invention, references may be made to elements of
In that regard, reference is now made to
Following step 802, in step 804 of the exemplary process 800, the document view module 202 can create selection objects 206 that can be stored in the selection list module 204. As discussed above for
The exemplary process 800 continues on to step 806 in which the document view module 202 can create highlight objects 311, 312 that can be stored in the highlight list module 208. Then, the exemplary process 800 proceeds to step 808 in which the highlight list module 208 can create at least one multiple selection highlight object 313 that can also be stored in the highlight list module 208. The multiple highlight object 212 can be based on the highlight objects 311, 312. In accordance with the previous discussion for
The exemplary process 800 concludes with step 810 in which the document view module 202 can display the highlight objects 341, 342 and multiple selection highlight object 343 as illustrated, for example, in the exemplary screen view 340 of
In accordance with exemplary embodiments of the present invention, it should be understood that the process of creating and of displaying the highlight objects 341, 342 and multiple selection highlight object 343 can occur in the same step, action, function, etc. Therefore, it should be understood here and throughout this document that the step, action, function, etc. of displaying any objects (e.g., 341, 342, 343) may implicitly include the step, action, function, etc. of creating such objects or the converse.
After step 902, in step 904 of the exemplary process 900, the document view module 202 can create a selection object 206, which can be stored in the selection list module 204, and a highlight object 352 (e.g.,
Following step 906, in step 908 the document view module 202 can create a second selection object 206, which can also be stored in the selection list module 204, and a second highlight object 351 (e.g.,
After step 910, the exemplary process 900 proceeds to step 912 in which the highlight list module 208 modifies the multiple selection highlight object 353 to align it with the orientation of the first selected object 302, which is accordingly the primary selection object 302. The exemplary process 900 then concludes with step 914 in which the document view module 202 can display the highlight objects 351, 352 and multiple selection highlight object 353 as illustrated, for example, in the exemplary screen view 350 of
After step 1104, the exemplary process 1000 proceeds to step 1106 in which the document view module 202 detects the positioning of the axis pin 316. For example, a user may utilize a user interface, such as the mouse 142 and/or the keyboard 140, to select and reposition the axis pin 316. In that regard,
The exemplary process 1100 proceeds from step 1108 to step 1110 in which the document view module 202 signals the highlight list module 208 of the start of a multiple selection rotation operation. As a result of this step 1110, the highlight list module 208 can temporarily update the orientation of the highlight objects 311, 312 and the multiple selection highlight object 313 relative to the movement of the rotation handle 315. This allows the rotation operation to be aborted, thereby automatically returning the highlight objects 311, 312 and the multiple selection highlight object 313 to their original orientation, without the need to perform reverse or “undo” operations. This feature can be beneficial, for example, when a rotation operation is aborted, by reducing the needed operations by the user and/or the highlight list module 208 to restore the highlight objects 311, 312 and the multiple selection highlight object 313 to the original orientation they had before the rotation operation was started.
Following step 1110, in step 1112, the document view module 202 temporarily displays the highlight objects 311, 312 and the multiple selection highlight object 313 in an orientation that is rotated relative to the movement of the rotation handle 315 with respect to the axis pin 316. For example, if the rotation handle 315 is dragged to a 45 degree counter-clockwise position, the document view module 202 can temporarily display the highlight objects 311, 312 and multiple selection highlight object 313 at a 45 degree counter-clockwise orientation from their original orientation as well. During a rotation operation, the document view module 202 may temporarily display the highlight objects 311, 312 and multiple selection highlight object 313 numerous times to provide the user with visual feedback of the position of the objects 311, 312, 313 in response to the movement of the rotation handle 315. Typically, the step 1112 of temporarily displaying the objects 311, 312, 313 can continue until the user indicates the completion of the rotation operation, for example, by disengaging the rotation handle 315. Furthermore, the objects 311, 312, 313 may be temporarily displayed during the rotation operation with respect to a time cycle (e.g., once per millisecond) or the movement (or lack of movement) of the rotation handle 315.
After step 1112, the exemplary process 1100 proceeds to step 1114 in which the document view module 202 detects the disengagement of the rotation handle 315 by the user interface. For example, the user may stop dragging and/or deselect the rotation handle 315 with a user interface such as the mouse 142. Following step 1114, the document view module 202 signals the highlight list module 208 of the end or completion of the multiple selection rotation operation in step 1116. As a result, the highlight list module 202 can update the highlight objects 311, 312 and the multiple selection highlight object 313 to reflect the final rotated orientation of the objects 311, 312, 313 relative to the rotation handle 315 and the axis pin 316.
The exemplary process 1100 then concludes with step 1118 in which the document view module 202 displays the highlight objects 311, 312 and the multiple selection highlight object 313 to reflect the results of the multiple selection rotation operation. For example, the document view module 202 can display the objects 311, 312, 313 as illustrated in
Turning now to
The exemplary process 1200 proceeds from step 1202 to step 1204 in which the selection list module 204 clears the selection objects 206 that it stored. From step 1204, the exemplary process proceeds to step 1206 in which the highlight list module 208 clears the highlight objects 311, 312 and the multiple selection highlight object 313 that it stored. Since the objects 301, 302 were deselected in step 1202, the selection objects 206, highlight objects 311, 312, and multiple selection highlight object 313 no longer need to be stored to assist in displaying the previously multiple selected objects 301, 302.
The exemplary process 1200 concludes with step 1208 in which the document view module displays the deselected objects 301, 302 without the objects 311, 312, 313 previously stored in the highlight list module 208. This step can result in the objects 301, 302 being displayed without the highlight objects 311, 312 and the multiple selection highlight object 313, as illustrated, for example, in
The exemplary process 1300 concludes with step 1304 in which the document view module 202 displays the highlight objects 311, 312 and the multiple selection highlight object 313 flipped according to the flip command and relative to the position of the axis pin 416. Thus, the execution of steps 1302 and 1304 can result in the progression from the exemplary screen view 400 (
The exemplary process 1400 proceeds to step 1406 in which the document view module 202 detects the positioning of the axis pin 516. For example, a user may utilize a user interface, such as the mouse 142 and/or the keyboard 140 to select and reposition the axis pin 516. In that regard,
Following step 1406, the document view module 202 detects the input of a multiple selection flip command in step 1408. As discussed above, the multiple selection flip command may be entered in various manners, which may be known in the art. As a result of this step 1408, the highlight list module 208 can update the highlight objects 511, 512 and the multiple selection highlight object 513 in accordance with the flip command.
The exemplary process 1400 concludes with step 1410 in which the document view module 202 displays the highlight objects 511, 512 and the multiple selection highlight object 513 flipped according to the flip command and relative to the position of the axis pin 416. For example, the execution of the steps 1402-1410 of the exemplary process 1400 can result in the progression from the exemplary screen view 500 (
Turning now to
The exemplary process 1500 concludes with step 1504 in which the document view module 202 displays the highlight objects 611, 612 and the multiple selection highlight object 613 resized relative to the movement of the selection handle 614A, 614C. The execution of the steps 1502, 1504 can result in the progression from the exemplary screen views 600, 620 (
The exemplary process 1600 continues from step 1602 to step 1604 in which the document view module 202 signals the highlight list module 208 of the start of a multiple selection resize operation. As a result of this step 1604, the highlight list module 208 can temporarily update the size of the highlight objects 711, 712, 713 and multiple selection highlight object 716 relative to the movement of the selection handle 714A, 714B. This allows the resize operation to be aborted, thereby automatically returning the highlight objects 711, 712, 713 and the multiple selection highlight object 716 to their original sizes, without the need to perform reverse or undo operations. This feature can be beneficial, for example, when a resize operation is aborted, by reducing the needed operations by the user and/or the highlight list module 208 to restore the highlight objects 711, 712, 713 and the multiple selection highlight object 716 to the original sizes they had before the resize operation was started.
After step 1604, in step 1606, the document view module 202 temporarily displays the highlight objects 711, 712, 713 and the multiple selection highlight object 716 in a size that is relative to the movement of the selection handle 714A, 714B. For example, if the selection handle 714A is dragged toward the interior of the multiple selection highlight object 716, the document view module 202 can temporarily display the highlight objects 711, 712, 713 and the multiple selection highlight object 716 in a size that is horizontally compressed with respect to their original sizes. During a resize operation, the document view module may temporarily display the highlight objects 711, 712, 713 and the multiple selection highlight object 716 numerous times to provide the user with visual feedback of the position of the objects 711, 712, 713, 716 in response to the movement of the selection handle 714A, 714B. Typically, the step 1606 of temporarily displaying the objects 711, 712, 713, 716 can continue until the user indicates the completion of the resize operation, for example, by disengaging the selection handle 714A, 714B. Furthermore, the objects 711, 712, 713, 716 may be temporarily displayed during the resize operation with respect to a time cycle (e.g., once per millisecond) or the movement (or lack of movement) of the selection handle 714A, 714B.
Following step 1606, the exemplary process 1600 proceeds to step 1608 in which the document view module 202 detects the disengagement of the selection handle 714A, 714B by the user interface. For example, the user may stop dragging and/or deselect the selection handle 714A, 714B with a user interface such as the mouse 142. Following step 1608, the document view module 202 signals the highlight list module 208 of the end or completion of the multiple selection resize operation in step 1610. As a result, the highlight list module 202 can update the highlight objects 711, 712, 713 and the multiple selection highlight object 716 to reflect the final resizing of the objects 711, 712, 713, 716 relative to the selection handle 714A, 714B.
The exemplary process 1600 concludes with step 1612 in which the document view module 202 displays the highlight objects 711, 712, 713 and the multiple selection highlight object 716 to reflect the results of the multiple selection resize operation. For example, the document view module 202 can display the objects 711, 712, 713, 716 as illustrated in
It should be understood that the foregoing relates only to illustrative, exemplary embodiments of the present invention. Therefore, it should be further understood that numerous changes may be made therein without departing from the spirit and scope of the invention as defined by the following claims.