Not Applicable
Not Applicable
The present invention relates to graphical user interfaces, and more particularly to methods of combining user interfaces, such as zooming in/out, panning, rotating, drawing, selecting, manipulating, etc., for a graphics display.
Within the prior art, a user may zoom in a graphical display by drawing a rectangle around an area of interest. A common “zoom-in” function is to click-and-hold to define the position of one corner of the rectangle; drag the mouse, pen, trackball, or finger to stretch the opposite corner to the desired shape and size; then drop or un-click to complete the action. The mentioned sequence results in the magnification of the graphical objects inside the rectangle. That is, the area of interest fills the entire display.
In order to increase productivity, and to help avoid repetitive strain type injures, there remains a need to zoom out without requiring the user to activate a separate zoom-out function, such as an action involving a keyboard, menu, tool bar icon, or click of alternate buttons on the mouse or pen.
There remains a need to pan, zoom in/out by alternate methods, rotate, adjust image attributes, sectional cut positions, time axis, or data sets displayed in a graph, etc., without requiring the user to activate a separate function by an additional click, drag, or keyboard press action.
In the present invention, after positioning the cursor and pressing-and-holding a mouse button (left or right) to begin a drag, the user continues to drag the cursor within regions that are defined relative to the starting point of the drag. Each region has an associated function that typically utilizes the starting point of the drag and the current position of the cursor, as well as, the held state of the mouse's button or whether the button was released once or multiple times.
Utilizing the methods in the present invention, combination zoom and pan; zoom and rotate; zoom and draw; zoom and pan and rotate; type tools may be created with multiple active regions that have borders defined relative to the starting point of a drag. While the cursor is drug within one of the large regions, the associated function may be effecting the displayed graphical information in a particular way. One region may zoom, a second region may dynamically pan, and a third region may rotate the viewpoint of the display. A graphic depicting some of the active regions appears and may be substantially translucent to allow the user to see the graphics on the display screen. To avoid distraction, an advanced user may utilize a setting that prevents the mentioned graphic from appearing immediately; the graphic will appear if the user presses-and-holds without dragging for a short duration, such as one second.
Some functions that effect the displayed information in a particular way are zooming in, zooming out, panning, rotating, stretching, skewing, adjusting image attributes (such as contrast and hue), adjusting 3d section cut positions, displayed animation/video frame, graphed data, drawing circles/lines/curves/rectangles/text, selecting, copying, etc. The mentioned list is intended to increase understanding and not to limit the number of possible functions.
In addition to the regions defined relative to the starting point of a drag, stationary regions defined relative to the display windows origin and boundaries may be specified. Such fixed regions may pan one screen width, pan all the way, rotate the viewpoint (rotate in 3d) by 90 degrees, etc.
In another aspect of the present invention, the method involves dynamically zooming in/out about the point defined at the start of the drag rather than the center of the display.
In another aspect of the present invention, the method involves double releasing at the end of a drag to achieve alternate results.
Further utilizing methods in the present invention, the user may drag and “roll-out” (vs. “roll-off”) of a particular function's region to “lock” the function “on” for the rest of the drag; The user may then continue the same drag backward through previously defined regions, while the initially activated function effects the displayed graphical information in a particular way.
A possible function may be a another combination tool with new functions and regions that, after activated and displayed at the reference point, the user may continue to drag the cursor back over and then “roll-out” of, or release the button on top of, one of the new function's regions to activate another function.
Further in the present invention, if, during a drag, the cursor becomes motionless for a long duration (5 seconds) within any function's region, a pop-up menu of additional functions appears; The user then continues the drag and releases the mouse button within the pop-up menu on a desirable-new-function. The mentioned desirable-new-function then replaces the original function in that region; thereby, the next time the user presses the mouse button, the combination tool now comprises the desirable-new-function. Alternately, if the user “rolled-out” of the pop-up menu's desirable-new-function, the desirable-new-function immediately activates with the current drag and does not replace the original function the next time the user presses-and-holds the mouse button.
Other novel features of the present invention are apparent from the summary, detailed description, claims, and attached drawings, hereinbelow.
In drawings which help illustrate the present invention,
In all figures, like reference numerals represent the same or identical components of the present invention.
According to one aspect of the present invention, the user defines two points with the input device 13. In
In an example of five functions in two groups,
Further, in
Defining a function's boundaries on a distance 32 and angular bearing 33 is not required. Any arbitrarily shaped region, such as a polygon or peanut like shape, may be defined for each function. A linear system of ten rectangles stacked on top of each other also fits within this definition. A particular function is selected and activates when the selection-point 31 is contained within one of that function's associated regions.
Referring to
Regions 51, 52, 53, 54 that are defined relative to the display window's 20 origin 55 and boundaries 56, 57 override other regions 46, 47, 48, 48, 49, 50 that are defined relative to the drag's reference-point 30. The fixed regions 51, 52, 53, 54, if any, may typically be located substantially close to the boundaries 56, 57 of the display window 20.
A function often comprises a number of actions that effect the displayed information in a particular way. Which one of the function's actions activates, depends on the state of the input device's 13 button, and whether at the end of a drag the button was released, released-pressed-released in quick succession (namely double-released or R-P-R), released-pressed-released-pressed-released (namely triple-released or R-P-R-P-R), or released-pressed-released-pressed-released-pressed-released (namely quadruple-released or R-P-R-P-R-P-R).
The flowchart shown in
In Step 208, referring back to
A typical “Rolled-out” action may set the selected-function to none, and then start and complete an entire procedure which includes multiple clicks and drags, such as drawing a rectangle and then picking and dragging it to select and move a graphical object inside. Another “Rolled-out” action may do nothing or set the selected-function to a new function name such as dynamic-pan, or dynamic-rotate; resulting in, the user utilizing the entire display window 20 for the selected-function's “Held”, and “Released”, etc., actions. In summary, the user may touch and drag a stylus to “Roll-out” of a functions region; the flow then loops through steps 205, 206, 207, 210, and 211, as the user continues to drag the stylus to any location on the screen 11, during which time, the graphical objects 21, 22 may re-display (such as pan, zoom, rotate) and/or be altered by the selected-function's “Held” action.
Another typical “Rolled-out” action may activate a new combination tool that uses the existing reference-point 30. In an example combination tool comprising Select, Line, Rectangle, Circle, Zoom, Pan, and Rotate functions; the user may drag and “Roll-out” of “Select” to cause another combination tool comprised of Box-select, Pick-Select, Move, Copy, Zoom, Pan, and Rotate, to appear and activate. The user may continue the drag into and “Roll-out” of the Box-select function, then continue the same drag to draw a rectangle around graphical objects 21, 22 in the display window 20, and then remove the stylus contact with the screen 11 to complete the selection.
In step 210, if the input device's 13 button is no longer “Held” or the stylus is no longer touching the screen 11, then the flow branches to step 214 as depicted in
A typical function may perform actions, such as (but not limited to) remove or show a graphic representing all or part of the possible distance ranges and angular bearing ranges or other regions over top of other graphics on the display screen; change the cursor icon to one that indicates the selected function's characteristics; change a graphic for one region to one that depicts selected, activated, rolled off, rolled out, etc; do nothing; activate a new combination tool with the same said reference-point 30; select and activate the previous or next combination tool in a list; cancel the combination tool and pass control to a thread that started it; change the repeat-mode flag; change the select-new-function flag; draw text, lines, circles, rectangles, or other geometric shapes or images; effect the displayed graphics in a particular way and may utilize the reference-point's 30 and/or selection-point's 31 co-ordinates to do so;
Prior art of U.S. Pat. No. 6,052,110, describes a zoom function with two regions; the first region zooms in at a velocity and the second region performs the negative of zoom in at a velocity, that is, zoom out at a velocity. A standard dynamic pan function may have one region with a pan function or four regions with substantially the same pan function in each. The present invention utilizes two or more substantially different functions that have regions defined relative to the reference-point 30 of a drag operation. That is, two or more functions behave substantially different from each other, such as pan the display and zoom in with a rectangle. In addition, “zoom in with a rectangle” is considered substantially different from a “dynamic zoom in” that is proportional to the length of the drag. The result for both functions is zooming in; however, each function's behavior is substantially different.
In the preferred embodiment of the present invention, the combination tool described hereinbelow has characteristics that create a very powerful yet simple to use zoom combination function, namely rectangle-zoom-in/out-and-point-zoom-out.
Referring to
The first group, namely Grp1, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 0 to 5 pixels. The Grp1 group contains only a function named Zoom-out-point which is selected and activated when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 0 to 360 degrees. The resulting first region 63 is a circle as shown in
The second group, namely Grp2, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within another predetermined range, such as 6 to 20 pixels. The Grp2 group contains only a function named Zoom-out-variable which is selected and activates when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 0 to 360 degrees. The resulting second region 64 is a ring as shown in
The third group, namely Grp3, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within another predetermined range, such as 21 to 5000 pixels. Notice that the maximum value for the Grp3 range is larger than the diagonal of the display window 20. The Grp3 group contains two functions, Zoom-in-rectangle and Zoom-out-rectangle. The function Zoom-in-rectangle is selected and activates when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 0 to 179 degrees. The resulting third region 65 is a portion of a ring with areas inside and outside of the display window 20, and is shown in
This particular combination tool fills the entire display; therefore, it is not possible to “roll-out” (vs. roll-off) of a function's region. The repeat mode is set to “many” unless overridden. No graphic depicting possible selection ranges appears overtop of the other graphics in the display window 20.
The function, named Zoom-out-point, does nothing when the mouse button is held. The function Zoom-out-point zooms the display window 20 out by a predetermined amount, such as thirty percent, when the mouse button is released. The function Zoom-out-point zooms the display window 20 out to show the entire graphical universe when the mouse button is released-pressed-released. The function Zoom-out-point undoes a previous display window 20 update, such as zoom or pan, when the mouse button was released-pressed-released-pressed-released. The function Zoom-out-point overrides the current combination tool's repeat mode to once when the mouse button was released-pressed-released-pressed-released-pressed-released thereby exiting the current combination tool.
The function, named Zoom-out-variable, displays a dashed line 60, from the reference-point 30 through the selection-point 31 and terminating on the region's outer border 61, while the mouse button is being held. Upon the mouse button being released, the function Zoom-variable zooms the display window 20 out by an amount that is proportional to the distance between the reference-point 30 and the selection-point 31. That is, the entire graphical universe is shown when the selection point 31 is coincident with the outer border 61, and the display window 20 zoom level is not changed when the selection-point 31 is coincident with the inner border 62. The function Zoom-out-variable does nothing when the mouse button is released-pressed-released. The function Zoom-out-variable overrides the combination tool's repeat mode to once when the mouse button is released-pressed-released-pressed-released, thereby, exiting the current combination tool.
The function, named Zoom-in-rectangle, displays a dashed-line rectangle on the display window 20, with one corner located at the reference-point 30 and the opposite corner located at the selection-point 31, when the mouse button is held. The function Zoom-in-rectangle also changes the cursor 14 graphic to one that depicts a plus sign within a magnifying glass when the mouse button is held. The function Zoom-in-rectangle zooms the display in by magnifying the graphics contained within the rectangle to fill the entire display window 20 when the mouse button is released. The function Zoom-in-rectangle does nothing when the mouse button is released-pressed-released. The function Zoom-in-rectangle overrides the combination tool's repeat mode to “once” when the mouse button is released-pressed-released-pressed-released, thereby, exiting the current combination tool.
The function, named Zoom-out-rectangle, displays a dashed rectangle on the display window 20, with one corner located at the reference-point 30 and the opposite corner located at the selection-point 31, when the mouse button is held. The function Zoom-out-rectangle also changes the cursor 14 graphic to one that depicts a minus sign within a magnifying glass when the mouse button is held. When the mouse button is released, the function Zoom-out-rectangle zooms the display window 20 out by shrinking all graphics shown within the display window 20 to fit inside the location of the rectangle and graphics previously not shown filling in the rest of the display window 20. The function Zoom-out-rectangle does nothing when the mouse button is released-pressed-released. The function Zoom-out-rectangle overrides the combination tool's repeat mode to once when the mouse button is released-pressed-released-pressed-released, thereby, exiting the current combination tool.
In contrast to the conventional technique of clicking an icon or pop-up menu to activate a new function, once activated, the combination tool “rectangle-zoom-in/out-and-point-zoom-out” allows a user to zoom in or zoom out by a number of substantially different methods by only pressing, dragging, and releasing, an input device 13. The user may continue zooming until a new command activates by the user clicking on a tool-bar or pull-down menu.
In a second preferred embodiment of the present invention, the combination tool described hereinbelow has characteristics that create a very powerful zoom and pan combination function, namely rectangle-zoom-in/out-and-point-zoom-out-and-dynamic-pan. In addition, the user may also activate a new combination tool or function.
Referring to
The first group, namely Grp1, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 0 to 5 pixels. The Grp1 group contains only the function Zoom-out-point which is selected and activated when the angular bearing 33 between the reference-point and the selection-point is within a predetermined range, such as 0 to 360 degrees. The resulting first region 80 is a circle as shown in
The second group, namely Grp2, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within another predetermined range, such as 6 to 20 pixels. The Grp2 group contains seven functions, pan-combination-tool-button, zoom-combination-tool-button, rotate-combination-tool-button, select-combination-tool-button, draw-combination-tool-button, back-button, and dimension-combination-tool-button. The functions are evenly spaced and are selected and activate when the angular bearings 33 between the reference-point 30 and the selection-point 31 are within predetermined ranges for each. The resulting regions 81, 82, 83, 84, 85, 86, 87 are segments of a ring as shown in
The third group, namely Grp3, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within another predetermined range, such as 21 to 5000 pixels. Notice that the maximum value for the Grp3 range is larger than the diagonal of the display window 20. The Grp3 group contains three functions, Zoom-in-rectangle, Zoom-out-rectangle, and Dynamic-pan. The function Zoom-in-rectangle is selected and activates when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within predetermined ranges, such as 35 to 55, and 125 to 145 degrees. The resulting regions 88, 89 are segments of a ring with areas inside and outside of the display window 20. The function Zoom-out-rectangle is selected and activates when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within predetermined ranges, such as 215 to 235, and 305 to 325 degrees. The resulting regions 90, 91 are segments of a ring with areas inside and outside of the display window 20. The function Dynamic-pan is selected and activates when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within predetermined ranges, such as 326 through 359 to 34, 56 to 124, 146 to 214, and 236 to 304 degrees. The resulting regions 92, 93, 94, 95 are segments of a ring with areas inside and outside of the display window 20.
In addition to the regions that are defined relative to the reference-point 30, four more regions 96, 97, 98, 99 are defined relative to the display window's 20 origin 55 and boundaries. These fixed regions 96, 97, 98, 99 are narrow, such as ten pixels, rectangles that are the approximate length of, and substantially close to, each of the four boundaries of the display window 20, as shown in
The functions' “rolled-out” actions are not possible to activate in this particular combination tool because the Grp3 range is larger than the display. That is, it is not possible to “roll-out” (vs. roll-off) of any regions. The repeat mode is set to “many” unless overridden. A graphic, as shown in
A function named Dynamic-pan, temporarily pans (previews) the graphics in the display window 20 from the reference-point 30 to the selection-point 31 when the mouse button is held. The function Dynamic-pan permanently pans the graphics in the display window 20 from the reference-point 30 to the selection-point 31, when the mouse button is released. The function Dynamic-pan permanently pans the graphics in the display window 20 from the reference-point 30 to the selection-point 31 plus the width (or height) of the window when the mouse button is released-pressed-released. The said function Dynamic-pan does nothing when the mouse button was released-pressed-released-pressed-released, thereby, not accepting the previewed pan. The said function Dynamic-pan overrides the current combination tool's repeat mode to once when the mouse button was released-pressed-released-pressed-released-pressed-released, thereby, exiting the current combination tool.
The function named Pan-max-left/right/up/down changes the cursor 14 icon to depict a double arrow, and temporarily pans the graphics in the display window 20 from the reference-point 30 to the selection-point 31 when the mouse button is held. When the mouse button is released, the function Pan-max-left/right/up/down pans the display window 20 left (right/up/down) at a predetermined velocity until the mouse button is pressed-released. The function Pan-max-left/right/up/down pans the display window 20 as far left (right/up/down) as possible when the mouse button is released-pressed-released
A function named Pan-combination-tool-button changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to a graphic that depicts panning, while the mouse button is held. The function Pan-combination-tool-button's “Rolled-out” action sets the combination tool's selected-function to “Dynamic-pan”. The function Pan-combination-tool-button activates the combination tool “rectangle-zoom-in/out-and-point-zoom-out-and-dynamic-pan” when the mouse button is released.
The function named Zoom-combination-tool-button changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to a graphic that depicts zooming, while the mouse button is held. The function Zoom-combination-tool-button's “Rolled-out” action sets the combination tool's selected-function to nothing, and activates the combination tool “rectangle-zoom-in/out-and-point-zoom-out-dynamic-pan-dominent-zoom”. The function Zoom-combination-tool-button activates the combination tool “rectangle-zoom-in/out-and-point-zoom-out-dynamic-pan-dominent-zoom” when the mouse button is released.
The function named rotate-combination-tool-button changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to a graphic that depicts rotating, while the mouse button is held. The function rotate-combination-tool-button's “Rolled-out” action sets the combination tool's selected-function to “Dynamic-rotate-3d-view”. The function rotate-combination-tool-button activates the combination tool “rectangle-zoom-in/out-and-point-zoom-out-and-dynamic-rotate-3d-view” when the mouse button is released.
The function named Select-combination-tool-button, changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to a graphic that depicts selecting, while the mouse button is held. The function Select-combination-tool-button's “Rolled-out” action sets the combination tool's selected-function to nothing, and activates a combination tool that deals with selecting, moving, copying, and altering. The function Select-combination-tool-button activates a combination tool that deals with selecting, moving, copying, and altering, when the mouse button is released.
The function named Draw-combination-tool-button, changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to one that depicts drawing, while the mouse button is held. The function Draw-combination-tool-button's “Rolled-out” action sets the combination tool's selected-function to nothing, and activates a combination tool that deals with drawing. The function Draw-combination-tool-button activates a combination tool that deals with drawing when the mouse button is released.
The function named Dimension-combination-tool-button, changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to one that depicts Dimensioning, while the mouse button is held. The function Dimension-combination-tool-button's “Rolled-out” action sets the combination tool's selected-function to nothing, and activates a combination tool that deals with dimensioning. The function Dimension-combination-tool-button activates a combination tool that deals with dimensioning when the mouse button is released.
The function named Back-combination-tool-button, changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to one that depicts go-back, while the mouse button is held. The function Back-combination-tool-button's “Rolled-out” action sets the combination tool's repeat-mode to “Once”, thereby, ending the current combination tool so that a previous combination tool will be active. Upon releasing the mouse button, the function Back-combination-tool-button sets the combination tool's repeat-mode to “Once”, thereby, ending the current combination tool so that a previous combination tool will be active.
Further,
In contrast to the conventional technique of clicking an icon to activate a new function, once activated, the combination tool “rectangle-zoom-in/out-and-point-zoom-out-dynamic-pan” allows a user to zoom in, or zoom out by two methods, as well as pan the display window by a number of methods, by only pressing-dragging-and-releasing an input device 13. The user may continue zooming and panning until a new function activates by the user releasing a drag with the selection-point 31 at a location 109 on a combination-tool button in the inner ring, or by clicking a pull-down menu or tool bar.
If the primary purpose of the mentioned combination tool is to zoom instead of pan, namely “rectangle-zoom-in/out-and-point-zoom-out-dynamic-pan-dominent-zoom”, then regions 92, 93, 94, 95 associated with Dynamic-pan may be reduced, such as spanning twenty degrees, and the zoom-in/out-rectangle regions 88, 89, 90, 91 may be enlarged, such as spanning seventy degrees.
Similarly, a unique combination tool is created when one or more of the selection/activation regions 88, 89, 90, 91, 92, 93, 94, 95 defined for functions, zoom-out-point, dynamic-pan, zoom-in-rectangle, or zoom-out-rectangle, alternatively selects and activates one or more of dynamic-zoom-center, dynamic-zoom-ref-point, zoom-in-rectangle, zoom-out-rectangle, dynamic-pan, dynamic-rotate-3d-view, functions as defined herein, as well as other useful functions not explicitly defined such as, dynamic-2d-rotate, dynamic-rotate-3d-object, section-cut-position-adjust, time-scale-move, animation-frame-forward-rev, move, copy, etc.
The mentioned Grp2 range may be split into any number of regions that activate other functions, commands, settings, or combination tools, etc. As well, groups may be added to provide more rings for additional regions. Alternatively, the Grp2 range and functions may be deleted to provide more space and less of a distraction for the user.
Another combination tool can be created by bisecting the angular ranges of some of the regions 92, 93, 94, 95. The new regions may be associated with dynamic-pan or dynamic-rotate-3d-view. The resulting combination tool, namely “rectangle-zoom-in/out-and-point-zoom-out-dynamic-pan-dynamic-rotate-3d-view”, is a zoom and pan and rotate combination tool.
In a third preferred embodiment of the present invention, the combination tool described hereinbelow, namely roll-out-draw-zoom-pan-rotate, has characteristics that allows a user to press-and-drag and “Roll-out” of a function's region, then continue the same drag backward or elsewhere while the activated function effects the displayed information in a particular way.
A typical function may zoom, pan, rotate, draw shapes, fill areas, choose a color, dimension, select objects, move, copy, alter attributes, activate a procedure, or activate another combination tool, etc.
Referring to
The first group, namely Grp1, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 0 to 5 pixels. The Grp1 group contains only the function advance/undo/back-combination-tool-button, which is selected and activates when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 0 to 360 degrees. The resulting first region 120 is a circle, as shown in
The second group, namely Grp2, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within another predetermined range, such as 6 to 20 pixels. The Grp2 group contains four functions, freehand-draw-combination-tool-button, fill-combination-tool-button, freehand-erase-combination-tool-button, and color-combination-tool-button. The function's are selected and activate when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within predetermined ranges for each, such as 316 through 359 to 45 degrees, and 46 to 135, 136 to 225, 225 to 315, degrees respectively. The resulting regions 121, 122, 123, 124 are segments of a ring, as shown in
The third group, namely Grp3, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within another predetermined range, such as 21 to 30 pixels. The Grp2 group contains twelve functions, dynamic-zoom-reference-point, rectangle-zoom-in, dynamic-pan, rotate-3d-view, rectangle-zoom-out, dynamic-zoom-center, move-copy-combination-tool-button, select-box-combination-tool-button, draw-text-box, draw-circle-arc, draw-rectangle, and draw-line-curve. The functions are selected and activate when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within predetermined ranges for each, such as 0 to 29, 30 to 59, 60 to 90, 91 to 120, 121 to 150, 151 to 180, 181 to 210, 211 to 240, 241 to 270, 271 to 300, 301 to 330, and 331 to 360 degrees respectively. The resulting regions 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136 are segments of a ring, as shown in
The function named advance/undo/back-combination-tool-button changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to a graphic that depicts “advance to the next combination-tool and undo and back”, while the mouse button is held. The function advance/undo/back-combination-tool-button activates the next combination tool in a list when the mouse button is released. The function advance/undo/back-combination-tool-button undoes the last completed command such as, draw, zoom, copy, etc. when the mouse button is released-pressed-released. The function advance/undo/back-combination-tool-button sets the combination tool's repeat-mode to “once” when the mouse button is released-pressed-released-pressed-released, thereby, exiting the current combination tool and continuing with a previous combination tool if applicable.
The function named freehand-draw-combination-tool-button changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to one that depicts a “pencil and brush and spray”, while the mouse button is being held. The function freehand-draw-combination-tool-button activates a point draw procedure when the mouse button is released. The function freehand-draw-combination-tool-button activates a paintbrush draw procedure when the mouse button is released-pressed-released. The function freehand-draw-combination-tool-button activates a spray-paint draw procedure when the mouse button is released-pressed-released-pressed-released. The mentioned draw procedures draw their shapes at the cursor 14 position during new press-drag-releases to form freehand curves, or mist patterns. The user may press-and-release-and-press-and-release (double-click) without dragging to end the procedure and return to the combination tool.
The function named freehand-erase-combination-tool-button changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to one that depicts an eraser, while the mouse button is held. The function freehand-erase-combination-tool-button activates a small square erase procedure when the mouse button is released. The function freehand-erase-combination-tool-button activates a large square erase procedure when the mouse button is released-pressed-released. The mentioned erase procedure, erases graphics within their shapes at the cursor 14 position during new press-drag-releases to freehand erase pixels. The user may press-and-release-and-press-and-release (double-click) without dragging to end the procedure and return to the combination tool.
The function named fill-combination-tool-button changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to one that depicts a paint-can, while the mouse button is held. The function fill-combination-tool-button fills an area, within the displayed graphical information, that contains the reference-point 30 when the mouse button is released.
The function named color-combination-tool-button changes the region's graphic to one that depicts the icon is pressed, and changes the cursor's 14 icon to one that depicts a rainbow, while the mouse button is held. The function color-combination-tool-button activates a standard “choose color” dialog box when the mouse button is released. After the dialog box is closed, the combination tool re-activates.
The function named Dynamic-zoom-center changes the cursor's 14 icon to one that depicts a magnifying glass beside an up-and-down arrow, and temporarily zooms the display window 20 in or out by an amount proportional to the y-co-ordinate of the reference-point 30 minus the y-co-ordinate of the selection-point 31, while the mouse button is held. The function dynamic-zoom-center permanently zooms the display window 20 in or out by an amount proportional to the y-co-ordinate of the reference-point 30 minus the y-co-ordinate of the selection-point 31, if the mouse button was released. The function dynamic-zoom-center does nothing if the mouse button was released-pressed-released, thereby, undoing the preview zoom. The function dynamic-zoom-center sets the combination tool's repeat-mode to “Once” if the mouse button was released-pressed-released-pressed-released, thereby, undoing the preview zoom and re-activating a previous combination tool, if applicable.
The function named Dynamic-zoom-reference-point changes the cursor's 14 icon to one that depicts a dot within a magnifying glass beside an up-and-down arrow, and temporarily zooms the display window 20 in or out by an amount proportional to the y-co-ordinate of the reference-point 30 minus the y-co-ordinate of the selection-point 31, while the mouse button is held. In addition to zooming, the graphics in the display window 20 dynamically pan such that the original pixel of data under the reference-point 30 progressively moves to the center of the display window 20 with each increase in zoom level. The function dynamic-zoom-reference-point permanently zooms and pans the display as mentioned above if the mouse button was released. The function dynamic-zoom-reference-point does nothing if the mouse button was released-pressed-released, thereby, undoing the preview zoom. The function dynamic-zoom-reference-point sets the combination tool's repeat-mode to “Once” if the mouse button was released-pressed-released-pressed-released, thereby, undoing the preview zoom and re-activating a previous combination tool, if applicable.
The function named draw-text-box displays a rectangle on the display window 20, with one corner located at the reference-point 30 and the opposite corner located at the selection-point 31, when the mouse button is held. The function draw-text-box also changes the cursor 14 graphic to one that depicts a capital T when the mouse button is held. The function draw-text-box waits for keyboard presses to fill the created rectangle if the mouse button was released. The function draw-text-box creates a rectangle then dynamically rotates the rectangle parallel to the angular bearing 33 of the original reference-point 30 to the new selection-point 31 if the mouse button was released-pressed-dragged, and ends the rotation and waits for keyboard presses to fill the rectangle when the mouse button is finally released. The function draw-text-box does nothing if the mouse button was released-pressed-released-pressed-released.
The function named draw-rectangle temporarily displays a rectangle on the display window 20, with one corner located at the reference-point 30 and the opposite corner located at the selection-point 31, when the mouse button is held. The function draw-rectangle also changes the cursor 14 graphic to one that depicts a rectangle when the mouse button is held. The function draw-rectangle permanently draws the rectangle if the mouse button was released. The function draw-rectangle dynamically rotates the created rectangle parallel to the angular bearing 33 of the original reference-point 30 to the new selection-point 31 if the mouse button was released-pressed-dragged, and ends the rotation, and permanently creates the rectangle when the mouse button is finally released. The function draw-rectangle does nothing if the mouse button was released-pressed-released-pressed-released.
The function named draw-circle-arc temporarily displays a circle on the display window 20, with the center located at the reference-point 30 and the radius located at the selection-point 31, when the mouse button is held. The function draw-circle-arc also changes the cursor 14 graphic to: one that depicts a circle and arc when the mouse button is held. The function draw-circle-arc permanently draws the circle if the mouse button was released. The function draw-circle-arc dynamically draws an arc with a center point at the original reference-point 30 and one end terminating at the location of the selection-point 31 at the time if the mouse button was released-pressed-dragged and the other end of the arc terminates at the virtual line between the original reference-point 30 and the current selection-point 31; the arc becomes permanent when the mouse button is finally released. The function draw-circle-arc does nothing if the mouse button was released-pressed-released-pressed-released.
The functions move-copy-combination-tool-button, and select-box-combination-tool-button, will change the region's graphic to one that depicts the icon is pressed, and change the cursor's 14 icon to a graphic that depicts the characteristics of the function, while the mouse button is being held. The mentioned functions will activate the appropriate combination tool when the selection-point 31 is “Rolled-out” of the function's region, thereby continuing with the drag to roll into then roll-out of a function on the new combination tool. The functions will activate the appropriate combination tool, if the mouse button was released, thereby, the next time the user presses-and-holds the mouse button the new combination tool appears.
The function draw-line-curve will temporarily draw a dashed line between the reference-point 30 and the selection-point 31 while the mouse button is held. The function draw-line-curve permanently draws a solid line between the reference-point 30 and the selection-point 31 if the mouse button was released. The function draw-line-curve permanently draws a solid straight curve between the reference-point 30 and the selection-point 31 then activates a warp-curve procedure if the mouse button was released-pressed-released. The function draw-line-curve permanently draws a dashed center-line between the reference-point 30 and the selection-point 31 if the mouse button was released-pressed-released-pressed-released. The procedure warp-curve allows the user to press-and-drag close to a straight curve to cause it to bend near the reference-point 30 by an amount that is proportional to the distance 32 between the reference-point 30 and selection-point 31. This press-drag-release action repeats twice before the procedure ends and returns the thread to the combination tool that activated it.
The function named Dynamic-rotate-3d-view temporarily rotates (previews) the viewpoint angle of the display window 20 proportional to the reference-point 30 to the selection-point 31, when the mouse button is held. The function Dynamic-rotate-3d-view permanently rotates the viewpoint angle of the display window 20 proportional to the reference-point 30 to the selection-point 31, if the mouse button was released. The function Dynamic-rotate-3d-view permanently snaps (rotates) the viewpoint to be parallel to the closest graphical universe positive or negative x/y/z axis, if the mouse button was released-pressed-released. The said function Dynamic-rotate-3d-view snaps the original viewpoint (not the previewed viewpoint) by ninety degrees in the direction of the closest display screen axis to line between the reference-point 30 to the selection-point 31 if the mouse button was released-pressed-released-pressed-released. The said function Dynamic-rotate-3d-view overrides the current combination tool's repeat mode to once if the mouse button was released-pressed-released-pressed-released-pressed-released, thereby, exiting the current combination tool.
Alternatively, in
Alternatively, in
Alternatively, in
Alternatively, in
In contrast to the conventional technique of clicking an icon to activate a new function, once activated, the combination tool “roll-out-draw-zoom-pan-rotate” allows a user to zoom in or out by four different methods, pan, rotate the view in 3d, draw shapes and text, select objects, and move or copy, by only pressing and dragging out of a region to activate a function, then releasing after the desired effect is achieved. The user may also undo the last command, jump to the next combination-tool, jump to the previous combination-tool, freehand draw and erase, as well as, choose a new color, or fill an area in the graphics, by pressing-dragging and releasing on top of one of the internal regions of the combination tool. The user may continue performing the mentioned actions until a new command/function activates, by the user clicking a pull-down menu or tool bar.
Further in the present invention, if during a drag, the selection-point 31 becomes motionless for a long duration (5 seconds) within any function's region, a pop-up menu of additional functions appears. The user then continues the drag and releases the mouse button within the pop-up menu on a desirable-new-function. The mentioned desirable-new-function then replaces the original function in that region; thereby, the next time the user presses the mouse button the combination tool now comprises the desirable-new-function. Alternately, if the user “rolled-out” of the pop-up menu's desirable-new-function, the desirable-new-function immediately activates with the current drag and does not replace the original function the next time the user presses-and-holds the mouse button.
In another preferred embodiment of the present invention, a combination-tool, namely “roll-out-navigate-existing”, occupies approximately one quadrant and is used in conjunction with existing tools. The mentioned combination-tool toggles “always-on” or “off” by a menu pick or click of a tool-bar icon outside the edge of the window. The user may then activate regular existing tools, such as line, erase, copy, move, edit, text, dimension, as usual by pull-down menu or tool-bar icon, while the combination-tool is in the toggled on state. If the combination-tool comprises functions such as dynamic-pan, zoom-in-rectangle, dynamic-rotate-3d-view, and zoom-out-point, then the user may release within or “roll-out of” to activate these navigation functions while working with a specific tool that was previously activated, such as draw text, lines, move, copy, rotate objects, select, stretch, pan, drag and drop, etc.
The combination-tool “roll-out-navigate-existing” is shown in
The second group, namely Grp2, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within another predetermined range, such as 6 to 15 pixels. The Grp2 group contains only the function Zoom-out-point, which is selected and activates when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 180 to 270 degrees. The resulting second region 171 is a segment of a ring, as shown in
The third group, namely Grp3, is selected when the distance 32 between the reference-point 30 and the selection-point 31 is within another predetermined range, such as 16 to 25 pixels. The Grp3 group contains three functions, Dynamic-zoom-reference-point, Zoom-in-rectangle, and Dynamic-pan. The function Dynamic-zoom-reference-point is selected and activates when the angular bearing 33 between the reference-point 30 and the selection-point 31 is within a predetermined range, such as 180 to 210 degrees. The resulting third region 172 is a portion of a ring, as shown in
The repeat mode is set to “many” unless overridden. A graphic depicting possible selection regions appears translucent overtop of the other graphics in the display window 20.
The function Utilize-existing-tool allows an existing active tool to behave normally by doing nothing when the mouse button is held; thereby, the display window 20 is effected by the existing active tool. The function Utilize-existing-tool causes the combination-tool's possible-regions graphic to disappear when the selection-point 31 is “rolled-out” of the region associated with this function, and the existing active tool may now utilize the entire display window 20. The function Utilize-existing-tool allows an existing active tool to behave normally by doing nothing when the mouse button was Released, R-P-R, R-P-R-P-R, or R-P-R-P-R-P-R; thereby, the display is effected by the existing active tool's action for releasing a mouse button.
Further in
In summary, a user may activate a number of navigation, or other, tools while working with a repeating pre-activated tool-bar tool, by only pressing-and-dragging the cursor 14 out of a small region relative to the start of the drag. Pressing-and-releasing without moving, as well as, the majority of the area to drag out of, takes on the usual actions associated with the standard pre-activated tool. The mentioned combination-tool is very simple and therefore quick to learn and adopt for both advanced and novice users.
In another preferred embodiment of the present invention, a user may create their own customized combination tool through a dialog box where the number of groups, sizes, and number of regions for each group, are defined. The borders of the regions are drug to the desired size and position. In each region, function's actions for each method of activation (held, released, R-P-R, etc.) are chosen from a list box or dragged and dropped from a group of icons. The default repeat-mode may be selected as “Once” or “Many”, as well as the translucency of the graphic that depicts the regions. Short-cut keyboard presses to activate the combination tool may be defined, such as pressing-and-holding the shift key to activate a combination tool dealing with selection of graphical objects, then releasing the shift key to return to a previous combination-tool that deals with effecting selected objects by moving, copying, patterning, mirroring, altering hue, contrast, line thickness, zooming, panning, rotating, etc.
The “rolled-out” definition described hereinabove, behaves similarly to a “clone-function” that emulates characteristics of a previously selected function associated with the region from which the selection-point 31 came, therefore, regions associated with clone-functions are considered within the spirit of the “Rolled-out” concept.
Specific preferred embodiments of the present invention are described hereinabove; it is to be understood that the invention is not limited to those particular embodiments, and one skilled in the art may make various changes and modifications without departing the form the scope or the spirit of the invention as it is defined in the attached claims.
This application claims the benefit of PPA Ser. No. 60/541,015, filed 2004 Feb. 3 by the present inventor.
Number | Name | Date | Kind |
---|---|---|---|
5528289 | Cortjens et al. | Jun 1996 | A |
5615384 | Allard | Mar 1997 | A |
6052110 | Sciammarella | Apr 2000 | A |
6356256 | Leftwich | Mar 2002 | B1 |
6618063 | Kurtenbach | Sep 2003 | B1 |
20040100479 | Nakano et al. | May 2004 | A1 |
20050144567 | Kurtenbach et al. | Jun 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20050168488 A1 | Aug 2005 | US |
Number | Date | Country | |
---|---|---|---|
60541015 | Feb 2004 | US |