US20120256960A1 - Defining motion in a computer system with a graphical user interface - Google Patents

Defining motion in a computer system with a graphical user interface Download PDF

Info

Publication number
US20120256960A1
US20120256960A1 US13/526,462 US201213526462A US2012256960A1 US 20120256960 A1 US20120256960 A1 US 20120256960A1 US 201213526462 A US201213526462 A US 201213526462A US 2012256960 A1 US2012256960 A1 US 2012256960A1
Authority
US
United States
Prior art keywords
gui
shadow
angular position
cursor
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/526,462
Inventor
Imran Chaudhri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US13/526,462 priority Critical patent/US20120256960A1/en
Publication of US20120256960A1 publication Critical patent/US20120256960A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Definitions

  • the present invention relates to defining motion in a computer system with a graphical user interface.
  • CAD computer aided design
  • Applying shadows to text is an example of a feature that some computer systems provide. However, most systems do not allow a user to customize their application of shadow effects to text. For instance, most systems do not allow their users to define the location of the shadow relative to the text and/or to modify the appearance of the shadow.
  • Some embodiments of the invention provide a method that defines movement in a graphical user interface (GUI) of a computer system. This method detects an interaction between a cursor and a first object in the GUI. Based on this interaction, the method moves a second object in the GUI.
  • the movement of the second object is a rotational movement within the GUI.
  • the second object's movement is a translation movement, such as a rectilinear translation movement or a curvilinear translation movement.
  • the second object relates to a special effect that is applied to another object in the GUI. For instance, the second object is a shadow of a third object in the GUI in some embodiments.
  • FIG. 1 illustrates of an embodiment of the invention that correlates a cursor movement across one object in the GUI to rectilinear translation movement of another object in the GUI.
  • FIG. 2 illustrates a cursor movement along a rectilinear direction that results in a rectilinear movement of a cursor.
  • FIG. 3 illustrates a cursor movement along another rectilinear direction that results in another rectilinear movement of the cursor.
  • FIG. 4 illustrates an embodiment of the invention that correlates cursor movements across one object in the GUI to curvilinear translation movements of another object in the GUI.
  • FIG. 5 illustrates an embodiment of the invention that correlates cursor movements across one object in the GUI to curvilinear rotational movements of another object in the GUI.
  • FIG. 6 illustrates a block diagram of a GUI for applying and modifying shadow on a text.
  • FIG. 7 illustrates a block diagram of a GUI showing a cursor before enabling the shadow option.
  • FIG. 8 illustrates a block diagram of a GUI with a shadow option selected.
  • FIG. 9 illustrates a block diagram of a GUI showing a cursor selecting a cursor interface.
  • FIG. 10 illustrates a flow chart of a process for applying and modifying shadow effects.
  • FIG. 11 illustrates a block diagram of a GUI showing a method for defining a cursor position.
  • FIG. 12 illustrates a block diagram of a GUI showing the path of a cursor while modifying a shadow on a text.
  • FIG. 13 illustrates a block diagram of a GUI showing a cursor before selecting a cursor interface under an embodiment of the invention.
  • FIG. 14 illustrates a block diagram of a GUI showing a cursor selecting a cursor interface under an embodiment of the invention.
  • FIG. 15 illustrates a block diagram of a GUI showing the path of a cursor while modifying a shadow on a text under an embodiment of the invention.
  • FIG. 16 illustrates a block diagram of a GUI with multiple cursor interfaces.
  • FIG. 17 illustrates a block diagram of a computer system.
  • FIG. 18 illustrates an application with an embodiment of the invention.
  • FIG. 19 illustrates a block diagram of a GUI with stops on the cursor interface.
  • GUI graphical user interface
  • a GUI is an interface of a computer system that allows users to interact with the computer system through images and text.
  • a GUI allows users of the computer system to interact with the computer system in an intuitive graphical manner. Instead of learning and writing complex command languages, users can perform many operations by simply interacting with the visual components of a GUI, which are often easy to understand.
  • a GUI often includes a cursor pointer, icons, desktop, windows, etc.
  • the cursor pointer (the “cursor”) is a pointer that a user can move across the GUI through the operation of a cursor controller, such as a mouse, a trackpad, trackball, etc.
  • a user can use the cursor to select objects in the GUI. For instance, the user can select an object by directing the cursor to the object and performing a click operation (e.g., through a button of the cursor controller).
  • Icons are examples of selectable objects in a GUI. Icons are used to represent folders, files, commands, etc. in the GUI. An icon can be represented by a text component, an image component, or both text and image components.
  • the desktop refers to the contents on a display screen below any windows.
  • a window is an area on the display screen that displays its own file, message, application, etc. independently of other windows that are displayed on the display screen.
  • text includes any computer data that represents alphabets, words, numbers, symbols, mathematical signs, strings and other typographical characters, or any combination thereof.
  • an effect that is applied to text modifies attributes, characteristics, features, display, etc. of the text.
  • Some embodiments of the invention provide a method that defines movement in a graphical user interface (GUI) of a computer system. This method detects an interaction between a cursor and a first object in the GUI. Based on this interaction, the method moves a second object in the GUI.
  • the movement of the second object is a rotational movement within the GUI.
  • the second object's movement is a translation movement, such as a rectilinear translation movement or a curvilinear translation movement.
  • FIG. 1 illustrates an example of an embodiment of the invention that correlates a cursor movement across one object in the GUI to a rectilinear translation movement of another object in the GUI.
  • this figure illustrates a portion of a GUI 100 that includes a display section 110 , an object 120 in the display section 110 , and a cursor-interface icon 130 . All these elements are part of the same window in some embodiments, while they are parts of two or more windows in other embodiments.
  • Cursor-interface icon 130 allows a user to modify the position of the object 120 in the display section 110 .
  • FIG. 1 illustrates a translation motion of a cursor 105 across the icon 130 along a translation vector 170 .
  • a user can define such a motion through a click-and-drag operation, e.g., by clicking on the icon 130 at the position 175 and dragging the cursor to the position 180 .
  • some embodiments capture the translation motion across the icon 170 , and correlate this motion to a movement of the object 120 from a position 140 to a position 150 in the display section along a translation vector 160 .
  • the cursor-interface icon 130 can capture rectilinear cursor movements along non-parallel, non-collinear rectilinear directions.
  • FIGS. 2 and 3 illustrate cursor movements along two other rectilinear directions 270 and 370 , which result in the movement of object 120 in two other rectilinear directions 260 and 360 .
  • the captured cursor directions 170 , 270 , and 370 are neither parallel nor collinear to each other.
  • the resulting directions 160 , 260 , and 360 of moving the object 120 are also neither parallel nor collinear to each other, as shown in FIGS. 1-3 .
  • Cursor-interface icon 430 allows a user to modify the angular position of the object 420 within a coordinate system 425 of the display section 410 .
  • FIG. 4 illustrates a curvilinear path 465 of a cursor 405 across the icon 430 .
  • a user can define such a motion through a click-and-drag operation, e.g., by clicking on the icon 430 at the position 475 and dragging the cursor to the position 480 through the curvilinear path 465 .
  • the curvilinear path 465 defines an angular displacement 455 within a coordinate system 415 of the icon 430 .
  • some embodiments correlate the displacement angle 455 to an angular displacement angle 435 in the display section 410 .
  • This angular displacement 435 defines a rotation of the object 420 from a position 440 to a position 450 within the coordinate system 425 of the display section.
  • FIG. 5 illustrates an example of an embodiment of the invention that correlates cursor movements across one object in the GUI to rotational movements of another object in the GUI.
  • this figure illustrates a portion of a GUI 500 that includes a display section 510 , an object 520 in the display section 510 , and a cursor-interface icon 530 .
  • the elements of the GUI 500 are all part of the same window in some embodiments, while they are parts of two or more windows in other embodiments.
  • Cursor-interface icon 530 allows a user to modify the rotational position of the object 520 with respect a coordinate system 525 of the object 520 .
  • FIG. 5 illustrates a curvilinear path 565 of a cursor 505 across the icon 530 .
  • a user can define such a motion through a click-and-drag operation, e.g., by clicking on the icon 530 at the position 575 and dragging the cursor to the position 580 through the curvilinear path 565 .
  • the curvilinear path 565 defines an angular displacement 555 within a coordinate system 515 of the icon 530 .
  • some embodiments correlate the displacement angle 555 to an angular rotation angle 535 within the coordinate system 525 of the object 520 .
  • This rotation angle 535 defines a rotation of the object 520 that is illustrated in FIG. 5 .
  • the cursor-movement detection operation commences when a user clicks on a cursor-interface icon. Some embodiments, however, commence such an operation (i.e., start detecting the cursor movement) when a user clicks somewhere in the vicinity of the cursor-interface icon (i.e., clicks on a region that encompasses the cursor-interface icon and a boundary region surrounding this icon).
  • Examples of objects in the GUI that can be moved through the invention's cursor-interface icon include characters, images, icons, etc. Such objects also include objects associated with special effects that are applied to other objects in the GUI.
  • the invention is used to apply an effect to a text in a graphical user interface of a computer system. Some of these embodiments identify cursor interactions with a cursor-interface icon and correlate these interactions with modification of an effect that is applied to the text. For example, some embodiments redefine a position attribute associated with an effect based on the cursor movement along the cursor-interface icon.
  • the effect defines a shadow for the text, and the movement of the effect entails redefining the position of the shadow.
  • FIGS. 6-18 illustrate several embodiments of the invention that relate to the application of shadow effects to text.
  • GUI elements e.g., boxes, circular sliders, etc.
  • FIGS. 6-18 illustrate several embodiments of the invention that relate to the application of shadow effects to text.
  • the text field 610 is a location in the GUI where a user can view text. For instance, in the example illustrated in FIG. 6 , “HELLO” is displayed in this field. In some embodiments, the user can enter text into this field. In the embodiments described below, this field is also the location where the user can view the application of a shadow effect to the text and can view modifications to this effect.
  • the text field 610 is only a box within a window in some embodiments, while it is its own separate window in other embodiments.
  • the shadow-enable box 620 is a component of the GUI 600 that allows a user to enable the shadow effect for a text that is represented in the text field 610 .
  • a user enables the shadow effect by placing a mark within this box.
  • a mark can be placed within this box in a number of different ways.
  • FIG. 7 illustrates that the box can be marked by moving the cursor 710 of the GUI over the box and performing a click operation.
  • the shadow effect is applied to the text displayed in the text field 610 .
  • FIG. 8 illustrates the result of this application to the text “HELLO” in the text field 610 .
  • this figure illustrates the word “HELLO” as having a shadow 810 .
  • This shadow appears directly below the text “HELLO”.
  • this position is based on a position angle that is specified by the cursor-interface icon 630 at the moment that the user has selected the shadow-enable box 620 .
  • the cursor-interface icon 630 is another component of the GUI 600 .
  • the cursor-interface icon 630 allows the user to modify the position of the shadow relative to the text, once the user selects the shadow option through the shadow-enable box 620 . Specifically, at any time after the selection of the shadow option, this element specifies an angle, which corresponds to the relative angle of the shadow 810 with respect to the text. A user can modify the relative angle between the shadow 810 and the text in the text field 610 by changing the angle specified by the cursor-interface icon 630 .
  • the user changes the angle that the cursor-interface icon 630 specifies by performing a click-and-drag operation that selects the cursor-interface icon 630 and that correlates the cursor movement captured after the selection to a change of the angle.
  • FIG. 9 illustrates an example of this functionality.
  • the operation in this figure follows the operation and result illustrated in FIGS. 7 and 8 , i.e., follows the selection of the shadow option as illustrated in FIG. 7 and the ensuing application of the shadow 810 as illustrated in FIG. 8 .
  • FIG. 9 illustrates that moving the cursor 710 from a position 900 in a clockwise direction to a position 910 moves the shadow 810 from a position directly below the text “HELLO” to a position that is left of the text “HELLO”.
  • the knob icon 640 is yet another component of the GUI 600 .
  • the knob icon 640 allows the user to see the orientation of the cursor-interface icon 630 . Accordingly, in some embodiments, the knob icon 640 allows the user to see the orientation and movement of the cursor-interface icon 630 as changes are made to the angle that the cursor-interface icon 630 specifies when a click-and-drag operation is performed that selects the cursor-interface icon 630 and that correlates the cursor movement captured after the selection to a change of the angle.
  • FIG. 10 illustrates a process 1000 that a GUI performs in some embodiments.
  • the GUI performs this process each time that a user interacts with the cursor-interface icon 630 after enabling the shadow effect through the shadow-enable box 620 .
  • the process 1000 starts (at 1010 ) when the user selects the cursor-interface icon 630 after enabling the shadow effect.
  • a user can select the cursor-interface icon 630 by clicking on or near the cursor-interface icon 630 (i.e., on a region that encompasses the cursor-interface icon and a boundary region around the cursor-interface icon 630 ).
  • the process next (at 1020 ) identifies the position of the cursor within a coordinate system of the cursor-interface icon and associates this position with a position of the shadow with respect to the text displayed in the text field 610 . Some embodiments express this position within a coordinate system that is defined at the center of the cursor-interface icon 630 .
  • FIG. 11 illustrates an example of one such manner of defining the cursor position.
  • this figure illustrates a coordinate system 1100 of the cursor-interface icon.
  • This coordinate system includes an x-axis 1105 and a y-axis 1110 that intersect at an origin 1115 at the center of the cursor-interface icon 630 .
  • This figure also illustrates a cursor location 1120 on the cursor-interface icon 630 . This location is at a ⁇ 45° angle in the coordinate system 1100 (i.e., cursor location 1120 is at a ⁇ 45° angle with respect to the x-axis of this coordinate system).
  • the process 1000 correlates (at 1020 ) the location 1120 with the ⁇ 45° angular position of the cursor in the coordinate system 1100 of the cursor-interface icon 630 .
  • the process also associates (at 1020 ) the ⁇ 45° angular position of the cursor to a ⁇ 45° angular position of the shadow.
  • the process 1000 displays (at 1030 ) the shadow of the text at the position of the shadow that it identified at 1020 . For instance, in the example illustrated in FIG. 11 , the process displays (at 1030 ) the shadow of the text at a ⁇ 45° position with respect to the text.
  • the process determines whether the user is moving the cursor while still maintaining the selection of the cursor (e.g., whether the user is moving the cursor while still pressing the cursor controller button that led to the selection of the cursor). If so, the process identifies (at 1060 ) the new cursor position relative to the cursor-interface icon 630 and associates this position with a position of the shadow with respect to the text displayed in the text field 610 .
  • FIG. 12 illustrates an example of this operation. Specifically, this figure illustrates the movement of the cursor from the ⁇ 45° angle illustrated in FIG. 11 to a ⁇ 270° angle. At 1060 , the process 1000 would associate this position to a ⁇ 270° position of the shadow.
  • the process 1000 returns to 1030 to display the shadow of the text at the position of the shadow that it identified at 1060 .
  • the process displays (at 1030 ) the shadow of the text to be at a ⁇ 270° position with respect to the text.
  • the process loops through 1030 , 1040 , and 1060 until it determines (at 1040 ) that the user is no longer moving the cursor. When the process makes this determination, it transitions to 1050 .
  • the process determines whether the user is no longer selecting the cursor-interface icon 630 (e.g., whether the user has terminated the cursor controller click operation that led to the selection of the cursor-interface icon 630 ). If so, the process terminates. Otherwise, the process returns to 1040 , which was described above.
  • the process 1000 starts when it detects a click operation on the cursor-interface icon. In other embodiments, however, this process only starts after it has detected a click-and-drag operation on the cursor-interface icon. In some of these embodiments, the process does not modify the position of the shadow until the cursor-interface icon 630 has captured a cursor movement.
  • the process 1000 performs the shadow-modification operation 1020 right after it detects the selection of the cursor-interface icon 630 . This operation immediately “snaps” the shadow to the shadow position associated with the position of the cursor at the time of the selection.
  • FIGS. 13-15 illustrate an example of such an approach. Specifically, FIG. 13 illustrates a ⁇ 90° position of shadow with respect to a text before the selection of the cursor-interface icon 630 .
  • FIG. 14 then illustrates the selection of the cursor-interface icon 630 by placing the cursor 710 at position 1400 and performing a click operation. As shown in this figure, this selection does not modify the position of the shadow 810 .
  • FIG. 15 illustrates the movement of the cursor 710 from position 1400 to position 1500 .
  • this cursor movement is a 180° movement in the counterclockwise direction across the coordinate system of the cursor-interface icon 630 . Accordingly, as shown in FIG. 15 , this movement results in a 180° movement in the counterclockwise direction of the shadow from a position that is below the text to a position that is above the text.
  • the process identifies the movement of the cursor since the selection of the cursor-interface icon 630 . In each subsequent iteration of the process through 1060 , the process identifies the movement of the cursor from the immediately prior iteration of the process through 1060 .
  • FIG. 16 illustrates a GUI 1605 that includes two cursor-interface icons 630 and 1600 .
  • the cursor-interface icon 1600 detects a movement of the cursor and correlates that cursor movement into a movement of a shadow effect.
  • the icon 1600 captures linear displacements of the cursor that are translated to radial displacements of the shadow of the text.
  • FIG. 16 illustrates an example of the capture of the linear displacement of a cursor and the translation of this displacement to such an embodiment.
  • FIG. 16 illustrates a selection of the cursor-interface icon 1600 by placing the cursor 710 at position 1610 and performing a click operation. Furthermore, FIG. 16 illustrates the movement of the cursor 710 from position 1610 to position 1620 .
  • the cursor-interface icon 1600 has a knob 1630 that moves horizontally. Accordingly, the movement of the cursor from position 1610 to the position 1620 moves the knob 1630 from position 1610 to position 1620 , which is translated in the movement of the shadow 810 in the radial direction 1640 from position 1650 to position 1660 .
  • the movement of the knob 1630 modifies the radial distance between the text and its shadow (i.e., the distance from the text to the shadow).
  • This control of the radial distance of the shadow complements the angular displacement of the shadow that is provided through the cursor-interface control 630 .
  • FIG. 18 shows an application that illustrates an embodiment of the invention, and its corresponding GUI.
  • the GUI includes a text field 610 , a shadow-enable box 620 , a cursor-interface icon 630 , and a knob icon 640 .
  • the text field 610 is a window that displays the text to which a shadow can be applied. In this example, the text field 610 is its own separate window. In other embodiments, the text field 610 , the shadow-enable box 620 , the cursor-interface icon 630 , and the knob icon 640 are part of the same window.
  • the shadow-enable box 620 is a selectable rectangular icon that allows a user to enable the shadow option. To enable the shadow option, a user moves a cursor over the shadow-enable box 620 and selects it by performing a click operation.
  • the cursor-interface icon 630 is a circular slider that allows the user to rotate the shadow about the text in the window.
  • the user can change the angle of the shadow relative to the text by selecting the circular slider (or an area that is near the boundary of the circular slider) and maintaining the selection, then moving the cursor in such a way as to correlate the position of the cursor to the desired position of the shadow relative to the text.
  • the knob icon 640 is an object that indicates the orientation of the cursor-interface icon 630 and accordingly the position of the shadow relative to the text. In this instance, the knob icon 640 is oriented roughly towards the top of the page. As such, if the shadow option is enabled, then the shadow would be located above the text.
  • FIG. 17 presents a computer system with which one embodiment of the invention is implemented.
  • Computer system 1700 includes a bus 1705 , a processor 1710 , a system memory 1715 , a read-only memory 1720 , a permanent storage device 1725 , input devices 1730 , and output devices 1735 .
  • the bus 1705 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system 1700 .
  • the bus 1705 communicatively connects the processor 1710 with the read-only memory 1720 , the system memory 1715 , and the permanent storage device 1725 .
  • the processor 1710 retrieves instructions to execute and data to process in order to execute the processes of the invention.
  • the read-only-memory (ROM) 1720 stores static data and instructions that are needed by the processor 1710 and other modules of the computer system.
  • the permanent storage device 1725 is read-and-write memory device.
  • This device is a non-volatile memory unit that stores instruction and data even when the computer system 1700 is off.
  • Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 1725 .
  • the system memory 1715 is a read-and-write memory device.
  • the system memory is a volatile read-and-write memory, such as a random access memory.
  • the system memory stores some of the instructions and data that the processor needs at runtime.
  • the invention's processes are stored in the system memory 1715 , the permanent storage device 1725 , and/or the read-only memory 1720 .
  • the bus 1705 also connects to the input and output devices 1730 and 1735 .
  • the input devices enable the user to communicate information and select commands to the computer system.
  • the input devices 1730 include alphanumeric keyboards and cursor-controllers.
  • the output devices 1735 display images generated by the computer system.
  • the output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD).
  • bus 1705 also couples computer 1700 to a network 1765 through a network adapter (not shown).
  • the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet) or a network of networks (such as the Internet).
  • LAN local area network
  • WAN wide area network
  • Intranet a network of networks
  • the Internet a network of networks
  • the shadow-enable box 620 and the cursor-interface icon 630 are separate elements of the GUI 600 .
  • the shadow-enable box 620 and the cursor-interface icon 630 are separate because it facilitates the indication that the shadow option has been selected by the user.
  • other embodiments combine the functions of both the shadow-enable box 620 and the cursor-interface icon 630 into a single component.
  • the cursor interface icon 630 movement is restricted by stops.
  • FIG. 19 illustrates a cursor interface icon 630 that includes lower bound limit 1900 and an upper bound limit 1910 .
  • the movement of the cursor interface icon 630 is limited to a range 1930 . This range limit angular displacements or translational or rotational motions that are defined through the cursor interface icon 630 .
  • the cursor interface icon 630 generates numerical values when a cursor interacts with it.
  • this icon can generate a set of values that is essentially unbounded (i.e., can produce a large set of values that for all intents and purposes is an “infinite” set of values). For instance, when cursor interface 630 is unbounded, the movements of the cursor are compounded for every full rotation of the cursor around the cursor interface icon 630 . In this instance, when each rotation is associated with a value of 1000, two rotations of the cursor around the cursor interface icon 630 would produce a value of 2000 in some embodiments.
  • the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Abstract

Some embodiments of the invention provide a method that defines movement in a graphical user interface (GUI) of a computer system. This method detects an interaction between a cursor and a first object in the GUI. Based on this interaction, the method moves a second object in the GUI. In some embodiments, the movement of the second object is a rotational movement within the GUI. In other embodiments, the second object's movement is a translation movement, such as a rectilinear translation movement or a curvilinear translation movement. Also, in some embodiments, the second object relates to a special effect that is applied to another object in the GUI. For instance, in some embodiments, the second object is a shadow of a third object in the GUI.

Description

    FIELD OF THE INVENTION
  • The present invention relates to defining motion in a computer system with a graphical user interface.
  • BACKGROUND OF THE INVENTION
  • Today, computer programs allow users to perform many tasks and functions. Some of the most popular computer programs include word processing and computer aided design (“CAD”) programs. These programs allow users to create various text and drawings with ease. These programs also have many different features that allow users to create very complex and intricate text and drawings.
  • Applying shadows to text is an example of a feature that some computer systems provide. However, most systems do not allow a user to customize their application of shadow effects to text. For instance, most systems do not allow their users to define the location of the shadow relative to the text and/or to modify the appearance of the shadow.
  • Therefore, there is a need in the art for a method that allows a user to customize the application of shadow effects to text. There is also a need for a method that allows a user to apply a shadow effect to text in a more intuitive manner, and to provide real-time feedback of the changes to the user. Ideally, such methods can be used to apply other effects and/or to define motion of other objects in a GUI.
  • SUMMARY OF THE INVENTION
  • Some embodiments of the invention provide a method that defines movement in a graphical user interface (GUI) of a computer system. This method detects an interaction between a cursor and a first object in the GUI. Based on this interaction, the method moves a second object in the GUI. In some embodiments, the movement of the second object is a rotational movement within the GUI. In other embodiments, the second object's movement is a translation movement, such as a rectilinear translation movement or a curvilinear translation movement. Also, in some embodiments, the second object relates to a special effect that is applied to another object in the GUI. For instance, the second object is a shadow of a third object in the GUI in some embodiments.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates of an embodiment of the invention that correlates a cursor movement across one object in the GUI to rectilinear translation movement of another object in the GUI.
  • FIG. 2 illustrates a cursor movement along a rectilinear direction that results in a rectilinear movement of a cursor.
  • FIG. 3 illustrates a cursor movement along another rectilinear direction that results in another rectilinear movement of the cursor.
  • FIG. 4 illustrates an embodiment of the invention that correlates cursor movements across one object in the GUI to curvilinear translation movements of another object in the GUI.
  • FIG. 5 illustrates an embodiment of the invention that correlates cursor movements across one object in the GUI to curvilinear rotational movements of another object in the GUI.
  • FIG. 6 illustrates a block diagram of a GUI for applying and modifying shadow on a text.
  • FIG. 7 illustrates a block diagram of a GUI showing a cursor before enabling the shadow option.
  • FIG. 8 illustrates a block diagram of a GUI with a shadow option selected.
  • FIG. 9 illustrates a block diagram of a GUI showing a cursor selecting a cursor interface.
  • FIG. 10 illustrates a flow chart of a process for applying and modifying shadow effects.
  • FIG. 11 illustrates a block diagram of a GUI showing a method for defining a cursor position.
  • FIG. 12 illustrates a block diagram of a GUI showing the path of a cursor while modifying a shadow on a text.
  • FIG. 13 illustrates a block diagram of a GUI showing a cursor before selecting a cursor interface under an embodiment of the invention.
  • FIG. 14 illustrates a block diagram of a GUI showing a cursor selecting a cursor interface under an embodiment of the invention.
  • FIG. 15 illustrates a block diagram of a GUI showing the path of a cursor while modifying a shadow on a text under an embodiment of the invention.
  • FIG. 16 illustrates a block diagram of a GUI with multiple cursor interfaces.
  • FIG. 17 illustrates a block diagram of a computer system.
  • FIG. 18 illustrates an application with an embodiment of the invention.
  • FIG. 19 illustrates a block diagram of a GUI with stops on the cursor interface.
  • DETAILED DESCRIPTION OF THE INVENTION
  • In the following detailed description of the invention, numerous details, examples and embodiments of the invention are set forth and described. However, it will be clear and apparent to one skilled in the art that the invention is not limited to the embodiments set forth and that the invention may be practiced without some of the specific details and examples discussed.
  • I. Definitions
  • A graphical user interface (“GUI”) is an interface of a computer system that allows users to interact with the computer system through images and text. A GUI allows users of the computer system to interact with the computer system in an intuitive graphical manner. Instead of learning and writing complex command languages, users can perform many operations by simply interacting with the visual components of a GUI, which are often easy to understand. A GUI often includes a cursor pointer, icons, desktop, windows, etc. The cursor pointer (the “cursor”) is a pointer that a user can move across the GUI through the operation of a cursor controller, such as a mouse, a trackpad, trackball, etc. A user can use the cursor to select objects in the GUI. For instance, the user can select an object by directing the cursor to the object and performing a click operation (e.g., through a button of the cursor controller).
  • Icons are examples of selectable objects in a GUI. Icons are used to represent folders, files, commands, etc. in the GUI. An icon can be represented by a text component, an image component, or both text and image components. The desktop refers to the contents on a display screen below any windows. A window is an area on the display screen that displays its own file, message, application, etc. independently of other windows that are displayed on the display screen.
  • In some embodiments, text includes any computer data that represents alphabets, words, numbers, symbols, mathematical signs, strings and other typographical characters, or any combination thereof. Also, in some embodiments, an effect that is applied to text modifies attributes, characteristics, features, display, etc. of the text.
  • In this document, a translation movement of an object is a movement of the object where every point in the object moves in the same direction. A rectilinear translation movement is when every point in the object moves in a straight line. A curvilinear translation movement is when every point in the object moves along a curved path. Curvilinear translation movement is different than rotational movement of an object. In rotational movement, each point of an object moves in a curvilinear direction about a rotation axis, except the set of points of the object that are on the rotation axis. In rotational movement, the object's point or points that are on the rotation axis do not move. On the other hand, in curvilinear translation motion, every point of an object moves within a coordinate system that is used to define the object.
  • II. Overview
  • Some embodiments of the invention provide a method that defines movement in a graphical user interface (GUI) of a computer system. This method detects an interaction between a cursor and a first object in the GUI. Based on this interaction, the method moves a second object in the GUI. In some embodiments, the movement of the second object is a rotational movement within the GUI. In other embodiments, the second object's movement is a translation movement, such as a rectilinear translation movement or a curvilinear translation movement.
  • FIG. 1 illustrates an example of an embodiment of the invention that correlates a cursor movement across one object in the GUI to a rectilinear translation movement of another object in the GUI. Specifically, this figure illustrates a portion of a GUI 100 that includes a display section 110, an object 120 in the display section 110, and a cursor-interface icon 130. All these elements are part of the same window in some embodiments, while they are parts of two or more windows in other embodiments.
  • Cursor-interface icon 130 allows a user to modify the position of the object 120 in the display section 110. Specifically, FIG. 1 illustrates a translation motion of a cursor 105 across the icon 130 along a translation vector 170. A user can define such a motion through a click-and-drag operation, e.g., by clicking on the icon 130 at the position 175 and dragging the cursor to the position 180. As shown in FIG. 1, some embodiments capture the translation motion across the icon 170, and correlate this motion to a movement of the object 120 from a position 140 to a position 150 in the display section along a translation vector 160.
  • The cursor-interface icon 130 can capture rectilinear cursor movements along non-parallel, non-collinear rectilinear directions. For instance, FIGS. 2 and 3 illustrate cursor movements along two other rectilinear directions 270 and 370, which result in the movement of object 120 in two other rectilinear directions 260 and 360. As shown in FIGS. 1-3, the captured cursor directions 170, 270, and 370 are neither parallel nor collinear to each other. The resulting directions 160, 260, and 360 of moving the object 120 are also neither parallel nor collinear to each other, as shown in FIGS. 1-3.
  • FIG. 4 illustrates an example of an embodiment of the invention that correlates cursor movements across one object in the GUI to curvilinear translation movements of another object in the GUI. Specifically, this figure illustrates a portion of a GUI 400 that includes a display section 410, an object 420 in the display section 410, and a cursor-interface icon 430. Like the elements of the GUI 100 of FIG. 1, the elements of the GUI 400 are all part of the same window in some embodiments, while they are parts of two or more windows in other embodiments.
  • Cursor-interface icon 430 allows a user to modify the angular position of the object 420 within a coordinate system 425 of the display section 410. Specifically, FIG. 4 illustrates a curvilinear path 465 of a cursor 405 across the icon 430. A user can define such a motion through a click-and-drag operation, e.g., by clicking on the icon 430 at the position 475 and dragging the cursor to the position 480 through the curvilinear path 465. As shown in FIG. 4, the curvilinear path 465 defines an angular displacement 455 within a coordinate system 415 of the icon 430. As further shown in this figure, some embodiments correlate the displacement angle 455 to an angular displacement angle 435 in the display section 410. This angular displacement 435 defines a rotation of the object 420 from a position 440 to a position 450 within the coordinate system 425 of the display section.
  • FIG. 5 illustrates an example of an embodiment of the invention that correlates cursor movements across one object in the GUI to rotational movements of another object in the GUI. Specifically, this figure illustrates a portion of a GUI 500 that includes a display section 510, an object 520 in the display section 510, and a cursor-interface icon 530. Like the elements of the GUI's 100 and 400 of FIGS. 1 and 4, the elements of the GUI 500 are all part of the same window in some embodiments, while they are parts of two or more windows in other embodiments.
  • Cursor-interface icon 530 allows a user to modify the rotational position of the object 520 with respect a coordinate system 525 of the object 520. Specifically, FIG. 5 illustrates a curvilinear path 565 of a cursor 505 across the icon 530. A user can define such a motion through a click-and-drag operation, e.g., by clicking on the icon 530 at the position 575 and dragging the cursor to the position 580 through the curvilinear path 565. As shown in FIG. 5, the curvilinear path 565 defines an angular displacement 555 within a coordinate system 515 of the icon 530. As further shown in this figure, some embodiments correlate the displacement angle 555 to an angular rotation angle 535 within the coordinate system 525 of the object 520. This rotation angle 535 defines a rotation of the object 520 that is illustrated in FIG. 5.
  • In the examples presented in FIGS. 1-5, the cursor-movement detection operation commences when a user clicks on a cursor-interface icon. Some embodiments, however, commence such an operation (i.e., start detecting the cursor movement) when a user clicks somewhere in the vicinity of the cursor-interface icon (i.e., clicks on a region that encompasses the cursor-interface icon and a boundary region surrounding this icon).
  • III. Applying Effects
  • Examples of objects in the GUI that can be moved through the invention's cursor-interface icon include characters, images, icons, etc. Such objects also include objects associated with special effects that are applied to other objects in the GUI. For instance, in some embodiments, the invention is used to apply an effect to a text in a graphical user interface of a computer system. Some of these embodiments identify cursor interactions with a cursor-interface icon and correlate these interactions with modification of an effect that is applied to the text. For example, some embodiments redefine a position attribute associated with an effect based on the cursor movement along the cursor-interface icon.
  • In some embodiments, the effect defines a shadow for the text, and the movement of the effect entails redefining the position of the shadow. Several embodiments relating to the application of shadow effects to text are described below. However, one of ordinary skill will realize that other embodiments of the invention are used in conjunction with other effects that are applied to text.
  • FIGS. 6-18 illustrate several embodiments of the invention that relate to the application of shadow effects to text. These figures and the description of these figures present numerous specific GUI elements (e.g., boxes, circular sliders, etc.) for implementing several embodiments of the invention. However, one of ordinary skill will realize that the invention can be practiced without these specific elements.
  • FIG. 6 illustrates a portion of a GUI 600 that includes a text field 610, a shadow-enable box 620, a cursor-interface icon 630, and a knob icon 640. All these elements are part of the same window in some embodiments, while they are parts of two or more windows in other embodiments.
  • The text field 610 is a location in the GUI where a user can view text. For instance, in the example illustrated in FIG. 6, “HELLO” is displayed in this field. In some embodiments, the user can enter text into this field. In the embodiments described below, this field is also the location where the user can view the application of a shadow effect to the text and can view modifications to this effect. The text field 610 is only a box within a window in some embodiments, while it is its own separate window in other embodiments.
  • The shadow-enable box 620 is a component of the GUI 600 that allows a user to enable the shadow effect for a text that is represented in the text field 610. Specifically, in some embodiments, a user enables the shadow effect by placing a mark within this box. A mark can be placed within this box in a number of different ways. For instance, FIG. 7 illustrates that the box can be marked by moving the cursor 710 of the GUI over the box and performing a click operation. When the shadow-enable box is checked, the shadow effect is applied to the text displayed in the text field 610. FIG. 8 illustrates the result of this application to the text “HELLO” in the text field 610. Specifically, this figure illustrates the word “HELLO” as having a shadow 810. This shadow appears directly below the text “HELLO”. As further described below, this position is based on a position angle that is specified by the cursor-interface icon 630 at the moment that the user has selected the shadow-enable box 620.
  • The cursor-interface icon 630 is another component of the GUI 600. The cursor-interface icon 630 allows the user to modify the position of the shadow relative to the text, once the user selects the shadow option through the shadow-enable box 620. Specifically, at any time after the selection of the shadow option, this element specifies an angle, which corresponds to the relative angle of the shadow 810 with respect to the text. A user can modify the relative angle between the shadow 810 and the text in the text field 610 by changing the angle specified by the cursor-interface icon 630. In some embodiments, the user changes the angle that the cursor-interface icon 630 specifies by performing a click-and-drag operation that selects the cursor-interface icon 630 and that correlates the cursor movement captured after the selection to a change of the angle.
  • FIG. 9 illustrates an example of this functionality. The operation in this figure follows the operation and result illustrated in FIGS. 7 and 8, i.e., follows the selection of the shadow option as illustrated in FIG. 7 and the ensuing application of the shadow 810 as illustrated in FIG. 8. FIG. 9 illustrates that moving the cursor 710 from a position 900 in a clockwise direction to a position 910 moves the shadow 810 from a position directly below the text “HELLO” to a position that is left of the text “HELLO”.
  • The knob icon 640 is yet another component of the GUI 600. The knob icon 640 allows the user to see the orientation of the cursor-interface icon 630. Accordingly, in some embodiments, the knob icon 640 allows the user to see the orientation and movement of the cursor-interface icon 630 as changes are made to the angle that the cursor-interface icon 630 specifies when a click-and-drag operation is performed that selects the cursor-interface icon 630 and that correlates the cursor movement captured after the selection to a change of the angle.
  • FIG. 10 illustrates a process 1000 that a GUI performs in some embodiments. The GUI performs this process each time that a user interacts with the cursor-interface icon 630 after enabling the shadow effect through the shadow-enable box 620. As shown in FIG. 10, the process 1000 starts (at 1010) when the user selects the cursor-interface icon 630 after enabling the shadow effect. In some embodiments, a user can select the cursor-interface icon 630 by clicking on or near the cursor-interface icon 630 (i.e., on a region that encompasses the cursor-interface icon and a boundary region around the cursor-interface icon 630).
  • The process next (at 1020) identifies the position of the cursor within a coordinate system of the cursor-interface icon and associates this position with a position of the shadow with respect to the text displayed in the text field 610. Some embodiments express this position within a coordinate system that is defined at the center of the cursor-interface icon 630.
  • FIG. 11 illustrates an example of one such manner of defining the cursor position. Specifically, this figure illustrates a coordinate system 1100 of the cursor-interface icon. This coordinate system includes an x-axis 1105 and a y-axis 1110 that intersect at an origin 1115 at the center of the cursor-interface icon 630. This figure also illustrates a cursor location 1120 on the cursor-interface icon 630. This location is at a −45° angle in the coordinate system 1100 (i.e., cursor location 1120 is at a −45° angle with respect to the x-axis of this coordinate system). Accordingly, if a user selects the cursor-interface icon 630 while the cursor is at location 1120, the process 1000 correlates (at 1020) the location 1120 with the −45° angular position of the cursor in the coordinate system 1100 of the cursor-interface icon 630. The process also associates (at 1020) the −45° angular position of the cursor to a −45° angular position of the shadow.
  • After 1020, the process 1000 displays (at 1030) the shadow of the text at the position of the shadow that it identified at 1020. For instance, in the example illustrated in FIG. 11, the process displays (at 1030) the shadow of the text at a −45° position with respect to the text.
  • Next, at 1040, the process determines whether the user is moving the cursor while still maintaining the selection of the cursor (e.g., whether the user is moving the cursor while still pressing the cursor controller button that led to the selection of the cursor). If so, the process identifies (at 1060) the new cursor position relative to the cursor-interface icon 630 and associates this position with a position of the shadow with respect to the text displayed in the text field 610. FIG. 12 illustrates an example of this operation. Specifically, this figure illustrates the movement of the cursor from the −45° angle illustrated in FIG. 11 to a −270° angle. At 1060, the process 1000 would associate this position to a −270° position of the shadow.
  • After 1060, the process 1000 returns to 1030 to display the shadow of the text at the position of the shadow that it identified at 1060. For instance, in the example illustrated in FIG. 12, the process displays (at 1030) the shadow of the text to be at a −270° position with respect to the text.
  • The process loops through 1030, 1040, and 1060 until it determines (at 1040) that the user is no longer moving the cursor. When the process makes this determination, it transitions to 1050. At 1050, the process determines whether the user is no longer selecting the cursor-interface icon 630 (e.g., whether the user has terminated the cursor controller click operation that led to the selection of the cursor-interface icon 630). If so, the process terminates. Otherwise, the process returns to 1040, which was described above.
  • One of ordinary skill will realize that numerous other processes can be used to associate cursor interactions with the cursor-interface icon 630 to modifications of the shadow effect. For instance, in some embodiments, the process 1000 starts when it detects a click operation on the cursor-interface icon. In other embodiments, however, this process only starts after it has detected a click-and-drag operation on the cursor-interface icon. In some of these embodiments, the process does not modify the position of the shadow until the cursor-interface icon 630 has captured a cursor movement.
  • Also, the process 1000 performs the shadow-modification operation 1020 right after it detects the selection of the cursor-interface icon 630. This operation immediately “snaps” the shadow to the shadow position associated with the position of the cursor at the time of the selection.
  • Other embodiments, however, might not “snap” the shadow to a new position at the time of the selection. Instead, these embodiments might simply associate the position of the shadow at the time of the selection with the position of the cursor at the time of the selection. These embodiments then modify the shadow position based on the movement of the cursor position relative to the cursor position at the time of the selection.
  • FIGS. 13-15 illustrate an example of such an approach. Specifically, FIG. 13 illustrates a −90° position of shadow with respect to a text before the selection of the cursor-interface icon 630. FIG. 14 then illustrates the selection of the cursor-interface icon 630 by placing the cursor 710 at position 1400 and performing a click operation. As shown in this figure, this selection does not modify the position of the shadow 810.
  • Next, FIG. 15 illustrates the movement of the cursor 710 from position 1400 to position 1500. As shown in this figure, this cursor movement is a 180° movement in the counterclockwise direction across the coordinate system of the cursor-interface icon 630. Accordingly, as shown in FIG. 15, this movement results in a 180° movement in the counterclockwise direction of the shadow from a position that is below the text to a position that is above the text.
  • In the first iteration of the process through 1060, the process identifies the movement of the cursor since the selection of the cursor-interface icon 630. In each subsequent iteration of the process through 1060, the process identifies the movement of the cursor from the immediately prior iteration of the process through 1060.
  • Furthermore, in some embodiments, there may be multiple control elements that apply a shadow effect to a text. FIG. 16 illustrates a GUI 1605 that includes two cursor- interface icons 630 and 1600. Much like the cursor-interface icon 630, the cursor-interface icon 1600 detects a movement of the cursor and correlates that cursor movement into a movement of a shadow effect. However, unlike the icon 630 which captures angular displacement of the cursor that are translated to angular displacements of the shadow of a text, the icon 1600 captures linear displacements of the cursor that are translated to radial displacements of the shadow of the text.
  • FIG. 16 illustrates an example of the capture of the linear displacement of a cursor and the translation of this displacement to such an embodiment. FIG. 16 illustrates a selection of the cursor-interface icon 1600 by placing the cursor 710 at position 1610 and performing a click operation. Furthermore, FIG. 16 illustrates the movement of the cursor 710 from position 1610 to position 1620. As shown in this figure, the cursor-interface icon 1600 has a knob 1630 that moves horizontally. Accordingly, the movement of the cursor from position 1610 to the position 1620 moves the knob 1630 from position 1610 to position 1620, which is translated in the movement of the shadow 810 in the radial direction 1640 from position 1650 to position 1660. In other words, the movement of the knob 1630 modifies the radial distance between the text and its shadow (i.e., the distance from the text to the shadow). This control of the radial distance of the shadow complements the angular displacement of the shadow that is provided through the cursor-interface control 630.
  • FIG. 18 shows an application that illustrates an embodiment of the invention, and its corresponding GUI. The GUI includes a text field 610, a shadow-enable box 620, a cursor-interface icon 630, and a knob icon 640. The text field 610 is a window that displays the text to which a shadow can be applied. In this example, the text field 610 is its own separate window. In other embodiments, the text field 610, the shadow-enable box 620, the cursor-interface icon 630, and the knob icon 640 are part of the same window.
  • The shadow-enable box 620 is a selectable rectangular icon that allows a user to enable the shadow option. To enable the shadow option, a user moves a cursor over the shadow-enable box 620 and selects it by performing a click operation.
  • The cursor-interface icon 630 is a circular slider that allows the user to rotate the shadow about the text in the window. The user can change the angle of the shadow relative to the text by selecting the circular slider (or an area that is near the boundary of the circular slider) and maintaining the selection, then moving the cursor in such a way as to correlate the position of the cursor to the desired position of the shadow relative to the text.
  • The knob icon 640 is an object that indicates the orientation of the cursor-interface icon 630 and accordingly the position of the shadow relative to the text. In this instance, the knob icon 640 is oriented roughly towards the top of the page. As such, if the shadow option is enabled, then the shadow would be located above the text.
  • IV. Computer System
  • FIG. 17 presents a computer system with which one embodiment of the invention is implemented. Computer system 1700 includes a bus 1705, a processor 1710, a system memory 1715, a read-only memory 1720, a permanent storage device 1725, input devices 1730, and output devices 1735. The bus 1705 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system 1700. For instance, the bus 1705 communicatively connects the processor 1710 with the read-only memory 1720, the system memory 1715, and the permanent storage device 1725.
  • From these various memory units, the processor 1710 retrieves instructions to execute and data to process in order to execute the processes of the invention. The read-only-memory (ROM) 1720 stores static data and instructions that are needed by the processor 1710 and other modules of the computer system.
  • The permanent storage device 1725, on the other hand, is read-and-write memory device. This device is a non-volatile memory unit that stores instruction and data even when the computer system 1700 is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 1725.
  • Other embodiments use a removable storage device (such as a floppy disk or zip® disk, and its corresponding disk drive) as the permanent storage device. Like the permanent storage device 1725, the system memory 1715 is a read-and-write memory device. However, unlike storage device 1725, the system memory is a volatile read-and-write memory, such as a random access memory. The system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the invention's processes are stored in the system memory 1715, the permanent storage device 1725, and/or the read-only memory 1720.
  • The bus 1705 also connects to the input and output devices 1730 and 1735. The input devices enable the user to communicate information and select commands to the computer system. The input devices 1730 include alphanumeric keyboards and cursor-controllers. The output devices 1735 display images generated by the computer system. The output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD).
  • Finally, as shown in FIG. 17, bus 1705 also couples computer 1700 to a network 1765 through a network adapter (not shown). In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet) or a network of networks (such as the Internet). Any or all of the components of computer system 1700 may be used in conjunction with the invention. However, one of ordinary skill in the art would appreciate that any other system configuration may also be used in conjunction with the present invention.
  • While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. For example, some of the figures illustrate the shadow-enable box 620 and the cursor-interface icon 630 as two separate elements of the GUI 600. In some embodiments, the shadow-enable box 620 and the cursor-interface icon 630 are separate because it facilitates the indication that the shadow option has been selected by the user. However, other embodiments combine the functions of both the shadow-enable box 620 and the cursor-interface icon 630 into a single component.
  • In some embodiments, the cursor interface icon 630 movement is restricted by stops. FIG. 19 illustrates a cursor interface icon 630 that includes lower bound limit 1900 and an upper bound limit 1910. When the lower bound limit 1900 and the upper bound limit 1910 are positioned on the cursor interface 630, the movement of the cursor interface icon 630 is limited to a range 1930. This range limit angular displacements or translational or rotational motions that are defined through the cursor interface icon 630.
  • In some embodiments, the cursor interface icon 630 generates numerical values when a cursor interacts with it. In some of these embodiments, this icon can generate a set of values that is essentially unbounded (i.e., can produce a large set of values that for all intents and purposes is an “infinite” set of values). For instance, when cursor interface 630 is unbounded, the movements of the cursor are compounded for every full rotation of the cursor around the cursor interface icon 630. In this instance, when each rotation is associated with a value of 1000, two rotations of the cursor around the cursor interface icon 630 would produce a value of 2000 in some embodiments. Thus, one of ordinary skill in the art would understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Claims (22)

1-32. (canceled)
33. A method for defining movement in a graphical user interface (GUI) of a computer system, the method comprising:
detecting a translation movement of a directional user gesture input across a first object in the GUI from a first angular position of the first object to a second angular position of the first object; and
defining, simultaneous with the corresponding detected translation movement of the directional user gesture input, a same relative angular movement of a second object in the GUI from a third angular position of the second object to a fourth angular position of the second object, wherein the first angular position is different from the third angular position and the second angular position is different from the fourth angular position.
34. The method of claim 33, wherein defining the same relative angular movement of the second object comprises determining an angular distance between the first angular position and the second angular position.
35. The method of claim 33, wherein an angular distance between the first angular position and the third angular position is 180°.
36. The method of claim 33, wherein the first object is associated with a first coordinate system of the GUI and the first and second angular positions are positions defined in the first coordinate system, wherein the second object is associated with a second coordinate system of the GUI and the third and fourth angular positions are defined in the second coordinate system.
37. The method of claim 36, wherein detecting the translation movement of the directional user gesture input comprises:
identifying the first angular position and the second angular position based on coordinate axes of the first coordinate system; and
determining an angular movement between the first angular position and the second angular position in the first coordinate system.
38. The method of claim 37, wherein defining the same relative angular movement of the second object comprises:
identifying the third angular position based on the position of the second object in a second coordinate system of the GUI; and
identifying the fourth angular position by applying the determined angular movement at the third angular position in the second coordinate system.
39. The method of claim 33, wherein each angular movement of the second object moves every point in the second object along the same angular path.
40. The method of claim 33, wherein the second object is a shadow of a text object and the third and fourth angular positions are angles of the shadow relative to the text object.
41. A method for defining movement in a graphical user interface (GUI), the method comprising:
displaying a first GUI object having an associated shadow in the GUI; and
displaying a two dimensional shape that is a second GUI object having a surface area and a region surrounding the two-dimensional shape in the GUI for detecting translation movements of a directional user gesture input, wherein (i) a first translation movement of the directional user gesture input within the surface area from a first angular position to a second angular position corresponds to a first curvilinear translation movement of the shadow along a first curvilinear path about the GUI object and (ii) a second translation movement of the directional user gesture input outside of the surface area and within the surrounding region from a third angular position to a fourth angular position corresponds to a second curvilinear translation movement of the shadow along a second curvilinear path about the GUI object.
42. The method of claim 41, wherein the curvilinear translation movements of the shadow move every point of the shadow along a same curvilinear path.
43. The method of claim 41, wherein the second curvilinear path of the shadow about the GUI object comprises an angular distance that is the same as the angular distance between the third angular position and the fourth angular position of the second translation movement of the directional user gesture input.
44. The method of claim 41, wherein a third translation movement of the directional user gesture input from the first angular position within the surface area to the fourth angular position outside of the surface area and within the surrounding region corresponds to a third curvilinear translation movement of the shadow along the first and second curvilinear paths about the GUI object.
45. The method of claim 41, wherein a selection of a point at a particular angular position outside of the surface area and within the surrounding region causes a particular curvilinear translation movement of the shadow to the particular angular position.
46. The method of claim 41, wherein the second GUI object is a circular slider, the method further comprising displaying a third GUI object for defining a radial distance between the first GUI object and the associated shadow.
47. The method of claim 41, wherein the first and second GUI objects are displayed in the same display area of the GUI.
48. The method of claim 41, wherein first and second GUI objects are displayed in separate display areas of the GUI.
49. The method of claim 41, wherein the first GUI object is a text object and the associated shadow is a shadow of the text object.
50. A computer readable storage medium storing a computer program comprising a graphical user interface (GUI), the GUI comprising:
a first object having a corresponding shadow; and
a second selectable object comprising a surface area of a two-dimensional shape for defining curvilinear movements of the shadow about the first object, wherein the second object is selected by interactions with a directional user gesture input within the surface area and within a region surrounding the surface area, wherein (i) a first translation movement of the directional user gesture input within the surface area from a first angular position to a second angular position corresponds to a first curvilinear translation movement of the shadow about the first object and (ii) a second translation movement of the directional user gesture input outside of the surface area and within the surrounding region from a third angular position to a fourth angular position corresponds to a second curvilinear translation movement of the shadow about the first object.
51. The computer readable storage medium of claim 50, wherein the GUI further comprises a tool for toggling display of the shadow corresponding to the first object.
52. The computer readable storage medium of claim 50, wherein each curvilinear translation movement of the shadow about the first object moves every point in the shadow along the same curvilinear path about the first object.
53. The computer readable storage medium of claim 50, wherein the first object is a text object in the GUI.
US13/526,462 2004-06-22 2012-06-18 Defining motion in a computer system with a graphical user interface Abandoned US20120256960A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/526,462 US20120256960A1 (en) 2004-06-22 2012-06-18 Defining motion in a computer system with a graphical user interface

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/874,788 US8230358B1 (en) 2004-06-22 2004-06-22 Defining motion in a computer system with a graphical user interface
US13/526,462 US20120256960A1 (en) 2004-06-22 2012-06-18 Defining motion in a computer system with a graphical user interface

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/874,788 Continuation US8230358B1 (en) 2004-06-22 2004-06-22 Defining motion in a computer system with a graphical user interface

Publications (1)

Publication Number Publication Date
US20120256960A1 true US20120256960A1 (en) 2012-10-11

Family

ID=46513184

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/874,788 Active 2029-10-02 US8230358B1 (en) 2004-06-22 2004-06-22 Defining motion in a computer system with a graphical user interface
US13/526,462 Abandoned US20120256960A1 (en) 2004-06-22 2012-06-18 Defining motion in a computer system with a graphical user interface

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/874,788 Active 2029-10-02 US8230358B1 (en) 2004-06-22 2004-06-22 Defining motion in a computer system with a graphical user interface

Country Status (1)

Country Link
US (2) US8230358B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150154785A1 (en) * 2013-11-25 2015-06-04 Autodesk, Inc. Animating sketches via kinetic textures
US20200210636A1 (en) * 2018-12-29 2020-07-02 Dassault Systemes Forming a dataset for inference of solid cad features
US10884592B2 (en) 2015-03-02 2021-01-05 Apple Inc. Control of system zoom magnification using a rotatable input mechanism
US11402968B2 (en) 2014-09-02 2022-08-02 Apple Inc. Reduced size user in interface
US11922573B2 (en) 2018-12-29 2024-03-05 Dassault Systemes Learning a neural network for inference of solid CAD features

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8698844B1 (en) 2005-04-16 2014-04-15 Apple Inc. Processing cursor movements in a graphical user interface of a multimedia application
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US10313505B2 (en) 2006-09-06 2019-06-04 Apple Inc. Portable multifunction device, method, and graphical user interface for configuring and displaying widgets
US8519964B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
US8619038B2 (en) 2007-09-04 2013-12-31 Apple Inc. Editing interface
US20090199087A1 (en) * 2008-02-04 2009-08-06 Microsoft Corporation Applying rich visual effects to arbitrary runs of text
US10007393B2 (en) * 2010-01-19 2018-06-26 Apple Inc. 3D view of file structure
US10788976B2 (en) 2010-04-07 2020-09-29 Apple Inc. Device, method, and graphical user interface for managing folders with multiple pages
US8423911B2 (en) 2010-04-07 2013-04-16 Apple Inc. Device, method, and graphical user interface for managing folders
US8773473B2 (en) * 2010-11-29 2014-07-08 Microsoft Corporation Instantaneous panning using a groove metaphor
US10642444B2 (en) * 2011-12-28 2020-05-05 Panasonic Intellectual Property Management Co., Ltd. Image display control device, and image display control method
US9098516B2 (en) * 2012-07-18 2015-08-04 DS Zodiac, Inc. Multi-dimensional file system
CN108664188B (en) * 2013-03-25 2020-12-18 联想(北京)有限公司 Processing method and device
EP3063608B1 (en) 2013-10-30 2020-02-12 Apple Inc. Displaying relevant user interface objects
CN104699400B (en) * 2015-03-06 2017-12-12 惠州Tcl移动通信有限公司 Track based on touch-screen surrounds icon central point angle detecting method and system
DK201670595A1 (en) 2016-06-11 2018-01-22 Apple Inc Configuring context-specific user interfaces
US11816325B2 (en) 2016-06-12 2023-11-14 Apple Inc. Application shortcuts for carplay
CN106354418B (en) * 2016-11-16 2019-07-09 腾讯科技(深圳)有限公司 A kind of control method and device based on touch screen
USD884724S1 (en) * 2018-08-30 2020-05-19 Google Llc Electronic device display screen with graphical user interface
US11675476B2 (en) 2019-05-05 2023-06-13 Apple Inc. User interfaces for widgets
AU2021202282B2 (en) * 2020-04-21 2022-04-07 Canva Pty Ltd Systems and methods for applying effects to design elements

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581670A (en) * 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
US5835693A (en) * 1994-07-22 1998-11-10 Lynch; James D. Interactive system for simulation and display of multi-body systems in three dimensions
US5835692A (en) * 1994-11-21 1998-11-10 International Business Machines Corporation System and method for providing mapping notation in interactive video displays
US6144381A (en) * 1997-05-14 2000-11-07 International Business Machines Corporation Systems, methods and computer program products for compass navigation of avatars in three dimensional worlds
US6281903B1 (en) * 1998-12-04 2001-08-28 International Business Machines Corporation Methods and apparatus for embedding 2D image content into 3D models
US20030043209A1 (en) * 2001-08-31 2003-03-06 Pearson Douglas J. Directional shadowing user interface
US20030058241A1 (en) * 2001-09-27 2003-03-27 International Business Machines Corporation Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface
US20050091604A1 (en) * 2003-10-22 2005-04-28 Scott Davis Systems and methods that track a user-identified point of focus
US20050231512A1 (en) * 2004-04-16 2005-10-20 Niles Gregory E Animation of an object using behaviors
US6961060B1 (en) * 1999-03-16 2005-11-01 Matsushita Electric Industrial Co., Ltd. Virtual space control data receiving apparatus,virtual space control data transmission and reception system, virtual space control data receiving method, and virtual space control data receiving program storage media
US7016824B2 (en) * 2001-02-06 2006-03-21 Geometrix, Inc. Interactive try-on platform for eyeglasses
US7298385B2 (en) * 2003-02-11 2007-11-20 Kuka Roboter Gmbh Method and device for visualizing computer-generated informations
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
US7543239B2 (en) * 2004-06-04 2009-06-02 Stereotaxis, Inc. User interface for remote control of medical devices
US7814436B2 (en) * 2003-07-28 2010-10-12 Autodesk, Inc. 3D scene orientation indicator system with scene orientation change capability
US8448083B1 (en) * 2004-04-16 2013-05-21 Apple Inc. Gesture control of multimedia editing applications

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583946A (en) * 1993-09-30 1996-12-10 Apple Computer, Inc. Method and apparatus for recognizing gestures on a computer system
US5511157A (en) 1993-12-13 1996-04-23 International Business Machines Corporation Connection of sliders to 3D objects to allow easy user manipulation and viewing of objects
US5861889A (en) 1996-04-19 1999-01-19 3D-Eye, Inc. Three dimensional computer graphics tool facilitating movement of displayed object
US6407749B1 (en) 1999-08-04 2002-06-18 John H. Duke Combined scroll and zoom method and apparatus
CA2370766C (en) 2000-10-18 2003-09-09 Chipworks Design analysis workstation for analyzing integrated circuits
JP4215549B2 (en) * 2003-04-02 2009-01-28 富士通株式会社 Information processing device that operates in touch panel mode and pointing device mode

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581670A (en) * 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
US5835693A (en) * 1994-07-22 1998-11-10 Lynch; James D. Interactive system for simulation and display of multi-body systems in three dimensions
US5835692A (en) * 1994-11-21 1998-11-10 International Business Machines Corporation System and method for providing mapping notation in interactive video displays
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
US6144381A (en) * 1997-05-14 2000-11-07 International Business Machines Corporation Systems, methods and computer program products for compass navigation of avatars in three dimensional worlds
US6281903B1 (en) * 1998-12-04 2001-08-28 International Business Machines Corporation Methods and apparatus for embedding 2D image content into 3D models
US6961060B1 (en) * 1999-03-16 2005-11-01 Matsushita Electric Industrial Co., Ltd. Virtual space control data receiving apparatus,virtual space control data transmission and reception system, virtual space control data receiving method, and virtual space control data receiving program storage media
US7016824B2 (en) * 2001-02-06 2006-03-21 Geometrix, Inc. Interactive try-on platform for eyeglasses
US20030043209A1 (en) * 2001-08-31 2003-03-06 Pearson Douglas J. Directional shadowing user interface
US7439975B2 (en) * 2001-09-27 2008-10-21 International Business Machines Corporation Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface
US20030058241A1 (en) * 2001-09-27 2003-03-27 International Business Machines Corporation Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface
US7298385B2 (en) * 2003-02-11 2007-11-20 Kuka Roboter Gmbh Method and device for visualizing computer-generated informations
US7814436B2 (en) * 2003-07-28 2010-10-12 Autodesk, Inc. 3D scene orientation indicator system with scene orientation change capability
US8132123B2 (en) * 2003-07-28 2012-03-06 Autodesk, Inc. 3D scene orientation indicator system with scene orientation change capability
US20050091604A1 (en) * 2003-10-22 2005-04-28 Scott Davis Systems and methods that track a user-identified point of focus
US20050231512A1 (en) * 2004-04-16 2005-10-20 Niles Gregory E Animation of an object using behaviors
US8448083B1 (en) * 2004-04-16 2013-05-21 Apple Inc. Gesture control of multimedia editing applications
US7543239B2 (en) * 2004-06-04 2009-06-02 Stereotaxis, Inc. User interface for remote control of medical devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANDREWS, Phillip. Advanced Photoshop Elements for Digital Photographers. Chapters 7.04-7.05 [retrieved from Safari Books Online on 4/21/14]. 20 February 2004. 12 pages. *
Van Verth et al. Essential Mathematics for Games and Interactive Applications. A Programmer's Guide. Morgan Kaufmann. 2004, various pages. *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150154785A1 (en) * 2013-11-25 2015-06-04 Autodesk, Inc. Animating sketches via kinetic textures
US10600225B2 (en) * 2013-11-25 2020-03-24 Autodesk, Inc. Animating sketches via kinetic textures
US11402968B2 (en) 2014-09-02 2022-08-02 Apple Inc. Reduced size user in interface
US10884592B2 (en) 2015-03-02 2021-01-05 Apple Inc. Control of system zoom magnification using a rotatable input mechanism
US20200210636A1 (en) * 2018-12-29 2020-07-02 Dassault Systemes Forming a dataset for inference of solid cad features
US11514214B2 (en) * 2018-12-29 2022-11-29 Dassault Systemes Forming a dataset for inference of solid CAD features
US11922573B2 (en) 2018-12-29 2024-03-05 Dassault Systemes Learning a neural network for inference of solid CAD features

Also Published As

Publication number Publication date
US8230358B1 (en) 2012-07-24

Similar Documents

Publication Publication Date Title
US20120256960A1 (en) Defining motion in a computer system with a graphical user interface
US9996176B2 (en) Multi-touch uses, gestures, and implementation
EP2699998B1 (en) Compact control menu for touch-enabled command execution
US7555731B2 (en) System and method of navigating and creating electronic hierarchical documents
US7966573B2 (en) Method and system for improving interaction with a user interface
KR101720356B1 (en) Bi-modal multiscreen interactivity
JP4028031B2 (en) Method for transforming curve of arbitrary shape link and method for maintaining topology of node link diagram
US11010032B2 (en) Navigating a hierarchical data set
US20080313538A1 (en) Visual Feedback Display
EP2743825A1 (en) Dynamical and smart positioning of help overlay graphics in a formation of user interface elements
EP3491506B1 (en) Systems and methods for a touchscreen user interface for a collaborative editing tool
KR20040086544A (en) Dynamic feedback for gestures
KR19990062562A (en) Computer system and method for manipulating multiple graphical user interface components on a computer display having an access pointer
JP2005259148A (en) Method and program for selecting element
US20060082597A1 (en) Systems and methods for improved graphical parameter definition
US11061529B2 (en) Generating contextual guides
US20060010402A1 (en) Graphical user interface navigation method and apparatus
US10169493B2 (en) Method for manipulating a computer aided design (CAD) model, computer program product and server therefore
US20170242568A1 (en) Target-directed movement in a user interface
JP2016173703A (en) Method of supporting input operation using touch display unit
US10073612B1 (en) Fixed cursor input interface for a computer aided design application executing on a touch screen device
EP2669783A1 (en) Virtual ruler for stylus input
EP0825558A2 (en) Method and apparatus for displaying free-form graphic objects
US20210349625A1 (en) Using a touch input tool to modify content rendered on touchscreen displays
JP3008840B2 (en) Compound document processing device

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION