DYNAMICALLY RE-SIZABLE 3D ICONS FOR WINDOWING, BROWSER, OR GRAPHICAL USER INTERFACES
BACKGROUND OF THE INVENTION
1. Technical Field:
The present invention generally relates to computer systems with graphical user interfaces and m particular to icon representation in a computer system with a graphical user interface. Still more particularly, the present invention relates to the manipulation of three-dimensional icons n a computer system with a graphical user interface.
2. Description of the Related Art:
In recent years, virtually all personal computers and workstations have adopted a graphical user interface (GUI) environment, which allows the user to manage the system and execute applications using a "point-and-click" method on objects shown on the computer display. Tne mam GUI background is commonly referred to as the "desktop", and these objects typically include graphic icons, which represent some software application or function, and windows, which divide the desktop into different areas on the display for different applications.
Even more recently, as graphics processing systems have become more robust and less expensive, 3-dιmensιonal (3D) graphics are becoming more commonplace. Originally found only m computer-aided design systems, some modelling systems, and some advanced gaming systems, 3D graphics are now seen on internet web pages, spreadsheets, and other common applications. Further, GUI computer interfaces are beginning to move from a common
2-dιmensιonal (2D) perspective to a more visually stunning 3D perspective.
A 3D GUI interface allows different windows to appear to be actually in front of or behind one another, instead of simply overlapping as in conventional systems. Further, the 3D desktop can be "rotated in space" on the computer display. The icons n such a system are no longer a simple 2D picture, but are instead 3D objects.
Unfortunately, current systems with 3D GUI interfaces do not allow for any real manipulation of the icons. Of course, they may be moved around on the desktop, but more sophisticated manipulation is not available. It would be desirable to have a system which allows the user to manipulate
the size, shape, ana orientation cf the icons, to ta .e full advantage of the 3D G I interface.
SUMMARY OF THE INVENTION
It is therefore one obj ectEmbodiments of the present invention seek to provide a computer system with an improved graphica- user interface.
It is anotner OD ectEmDoαiments cf the present invention also seek to provide improved icon representation in a computer system with a graphical user interface.
It is yet another obj ectEmbodiments of the present invention seek furtner to provide improveα manipulation of tnree-a rensional icons in a computer system witn a graphical user interlace.
The foregoing objects are achieved as is now αescribed. According to one aspect of the present invention a method for displaying icons on a computer system, comprises the steps of: Displaying an graphic icon on a computer display; when the icon is selected, displaying a manipulation graphic corresponding to the icon; and as tne manipulation grapnic is altered by a user, altering the size, shape, and rotation of the icon on tne display accordingly, wherein tne manipulation graphic is altered in tnree dimensions.
According to a second aspect of the present invention a metnod foi displaying icons on a computer system, comprises tne steps of: displaying an graphic icon on a computer display; when the icon is selected, displaying a manipulation graphic corresponding to the icon; as the manipulation graphic is altered by a user, altering the size, shape, and rotation of the manipulation graphic accordingly; ana when the user has finished altering tne manipulation graphic, altering the size, shape, and rotation of the icon to correspond to the modified size, shape, and rotation of the manipulation graphic, and displaying the altered icon, wherein the manipulation graphic is altered in tnree dimensions.
According to a third aspect of the present invention a data processing system, comprises: a microprocessor;
a memory connected to De written to and read from by the microprocessor; a display operatively connected to be written to by the microprocessor; and a user input device connected to be read py tne microprocessor, wherein a three-dimensional user interface and three-dimensional icons are displayed on tne display, and the size and shape of the icons can oe manipulated m three dimensions using the user input device.
According to a fourth aspect of the present invention a computer program product within a computer usable medium, comprising: instructions for displayirg an graphic icon on a computer display; instructions for enabling the icon to oe selected by a user; instructions for displaying a manipulation grapnic corresponding to the icon when a user has selected the icon; instructions for modifying the size, shape, and rotation of the manipulation graphic according to how the manipulation grapnic is manipulated by a user; instructions for modifying the size, shape, and rotation of the icon to correspond to the modified size, shape, and rotation of the manipulation graphic, wnen the user has finished manipulating the manipulation graphic; and instructions for displaying the modified icon, wherein the manipulation graphic is manipulated in three dimensions.
A system and method is provided which allow each 3D icon on the desktop to be dynamically transformed, resized, or resnaped using a mouse or any other input device availaϋle to the user. The 3D icons may be bitmapped-based or vector-based, and when the user desires to manipulate the icon, a framework of "handles" is used to transform the icon as desired.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.
BRIEF DESCRIPTION OF THE DRAWINGS
The novel features oelieved characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment wnen read m conjunction witnFor a better
understanding of the present invention rererence will now be ~ιade, cy a of example to tne accompanying drawings, wherein:
Figure 1 depicts a data processing system m accordance w_.tnwn__cr a preferred emoooiment of tne present invention may be implemented;
Figure 2 is a flowchart of a process in accordance with a oreferreda embodiment of the present invention;
Figure 3 depicts an exemplary 3D icon in accordance with a preferredan embodiment of the present invention;
Figure 4 is a manipulation grapnic in accordance witn a prererreaan embodiment of tne oresert invention, ana
Figures 5-11 depict exemplary icon-manipulation actions ιr accordance with a preferredn embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
With reference now to the figures, and in particular with reference to Figure 1, a block diagram of a data processing system in which a prererred embodiment of the present invention may be implemented is dep_.cted Data processing system 100 may be, for example, one of the computers ava_lable from International Business Machines Corporation of Armonk, New Yor..
Data processing system 100 includes processors 101 and 102, w-ich _" the exemplary embodiment are each connected to level two (L2) cacnes 1CT and 104, respectively, which are connected in turn to a system bus 106.
Also connected to system bus 106 is system memory 108 and Primary Host
Bridge (PHB) 122. PHB 122 couples an I/O bus 112 to system bus 106, relaying and/or transforming data transactions from one bus to the otner In the exemplary embodiment, data processing system 100 includes a graphics adapter 118 connected to I/O bus 112, for receiving user interface information for display 120. Peripheral devices such as nonvolatile storage 114, which may be a hard disk drive, and keyboard/pointing device 116, which may include a conventional mouse, _- trackball, or the like, are connected via an Industry Standard Architecture (ISA) bridge 121 to I/O bus 112. PHB 122 is also connecteα to PCI slots 124 via the I/O bus 112.
O 00/73888 -- PCT/GBOO/01802
The exemplary embodiment snown m Figure 1 is prcideα solely for tne purposes of explaining the invention and those skilled m tne art will recognize that numerous variations are possible, botn m form and function. For instance, data processing system 100 mιght also include a compact disk read-only memory (CD-ROM) or digital video disk (DVD) drive, a sound card ana audio speakers, and numerous other optional components. All such variations are believed to oe within the sp__rιt and scope of the present invention. Data processing system 100 and t'-e exemplary icon figures below are provided solely as examples for tne purposes of explanation and are not intended to imply arcnitectural limitations.
The preferred embodiment of the invention comprises a system and method for a user to αynamically transform, resize, or reshape 3D icons using any input device available to tne user, such as but not _ mιteα to, a mouse. The 3D icons may be bitmapped-based or vector-based.
Referring now to Figure 3, m a 3D graphical user interface, tne user sees windows or a virtual desktop tnat stretch into tne third dimension or "Z" axis. Upon these windows or desktops there are 2D or 3D icons. The 3D icons are either bitmapped graphics or vector-based grapnics. Users can re-size the icons so that they protrude or "stιc out/behind" the window onto which they are placed, and so that as the windows or desktops are rotated around their z-axis, some of the icons appear to protrude from the plane m which they are anchored. Figure 3 shows an exemplary 3D icon 300, which for the sake of simplicity is a pyramid, with an "eye" graphic on one face to αifferentiate it from the other faces of the icon. Of course, m practice, the icon could be of any shape, and would typically be coloured.
With reference now to Figure 4, the preferred embodiment of the invention provides the ability for a user to transform and rotate the 3D icon by designing the icons with built-in edge lines and point "handles" that can be selected and pulled on in order to stretch the icon. The edge lines and the handles, which are small movable cubes along the edge lines and at junctures between them, are normally not vιsιp_e when the icon is in its normal state.
Figure 4 shows a cubic frame 405 formed around icon 400. The frame 405 is formed of multiple edgelinesedge lines 410, and each visible edgelmeedge l ne juncture has a block handle 415. In Figure 4 (and following figures), one side of the cube formed by tne frame is labelled "icon front" to distinguish it from the other sides, to aiα in showing
icon manipulation It should be noted that the αesignation of one side as the "iront" is aroitrary, and _s purely for illustrative purposes.
In Figure 4, rrarre 405 is show" as transparent with regard tc icon 400 (altnougn no edge_mesedge lines from the "hidde-" faces of cube 405 are shown) . This is merely a preferred means for showing the icon manipulation frame 405; in practice, all eαgelinesedge lines (including those from nidden faces) can be shown, or the frame can form a solid cube, and the icon 400 hidden from sight, as describee below. In the following figures, for the sake of clarity, the icon inside the frame/cube is not shown .
The user can activate tne ice re-size mode or state for that icon via a selection mechanism, e.g., by clicking the παh~ mouse button, and selecting a 3D re-size option fror a context men. According to the preferred embodiment, this will form a 3D dimensional frame or shape around the icon, such as a cube, cone, or 3D rectangle, but can also be an irregular shape. As shown in Figures 4-11, a cube (e.g. 400) is used here as an illustrative example. Note that as the dimensions of the shape are manipulated, it will, of course, no longer represent a cube.
According to an alternate method for stretching a 2D or 3D icon, and with reference now to Figure 5, tne user can activate the icon re-size mode for that icon via a selection mechanism, e.g., by clicking the right mouse button, and selecting a 3D re-size option from a context menu. A 3D cube of a visible colour (compareα with the background colours) will appear around (but not necessarily totally containing) the icon with handles on each of its corners, ana it will appear in the same orientation that as the current orientation of the selected icon. Figure 5 shows a cube 500, as n the cubic frame of Figure 4, with one side 510 labelled "icon front, " to correspond with tne front side of the icon to be manipulated. Of course, any solid object representation can be used in place of a cube to allow the icon manipulation.
Figure 5 is also used to illustrate some of the basic manipulations which can be performed on the cube 500 and in turn on the icon itself (not shown in these figures) . Arrows 530 and 540 indicate two of the directions m which the user can "drag" handle 520, and would not actually appear on the display.
If, for example, handle 520 is dragged "up and over" cube 500, as indicated by arrow 530, tne cube 500 will be rotated in the direction of
the arrow. If, for example, the user draggeα tne nanα.e 520 90 degrees "up," tne cuoe would be left laying "face up," as shown _n Figure 6.
As another examρ--e, handle 520 can oe dragged to tre left of cube 500, as indicated by arrow 540, the cuoe 500 would De rotated m the direction of the arrow. If, for example, the user dragged the ha αle 520 90 deqrees left, the cube would be face left, as shoi.'n l"1 Figure ~" .
Figures 8-11 show examples of sizing manipulations performed on the manipulation cube shown m Figure 5. Figure 8 shows a clock figure 800 as the manipulation cube would appear after a user has dragαed handle 810 in the direction of arrow 820, nere designated as the Y-ax_s, to reduce tne depth of the figure. Figure 9 shows a block figure 900 as the manipulation cube would appear after a user has draggeα nandle 910 in the direction of arrow 920, here designated as tne Z-axis, to reduce the height or tre figure. Figure 10 shows a DIOC-. figure 10^0 as the manipulation cube would appear after a user has dragged nandle 1010 in the direction of arrow 1020, here designated as tne X-axis, to reduce the width of the figure.
Of course, these manipulations can be combined, as snown in Figure 11. Here, block figure 1100 represents the result of shrinking Y-axis of the manipulation block of Figure 5 by one-half, and increasing the X-axis cy one thirα. Of course, other manipulations may also oe co omed with other rotation or transformation operations.
Each time the shape or orientation cf tne icon is manipulated, by manipulating the manipulation frame or cuoe, tne icon must be redrawn i" accordance with the user's changes. On fast processors, the redraw car occur m real-time, as the icon is being manipulated; en other systems, the icon can be redrawn after manipulation is complete. The logic that will re-paint the icon can be self-contained m an icon oo ect or class, or the graphical user interface can handle tne re-pamtmg based on vector information that the icon object or class provides. Tne actual drawing and painting of the icons are done by any conventional means, well within the abilities of one of skill in the art.
2D icons will be able to be stretched on tneir x, y, and z axis as well, which would effectively turn a 2D icon into a 3D icon. The user can point to one of the handles, and drag the hanαle to a new position, and in the same manner m which tne cube (or other outline shape) rotates or is re-sizeα, the icon will oe rotated or re-sizeα on all 3 axis. Anchci
points within tre icon cntc tne plane onto wnicn tney are connected snoulα be respected. Tre user can click on anotner αesKtop oo ect or select fror a context sens:._''e menu m order to indicate to tre syste" tnat t e re-size action is completed and the nandles, a_ong with the -ines indicating the eoges of the re-size mode shape, will disappear leaving the transformed icon. The graphical user interface will repaint the icon with ts new orientation/ size. According to the preferred embodiment, the operating environment cr icon op ect itself preserves the new setting for future use.
Witt reference now to Figure 2, a flowcnart of the oasic process described above _s shown. A system according to the preferred embedment will display icons in a 3D environment on the computer "desktop" (ster 200) . When the user desires to edit the icon, r.e selects t for eαit, e.g., by a pop-up menu 'step 210, . The manipulation handles are then displayed (step 220), and can be accompanied D_* edgelmes anα/or a default solid shape, to snow how the icon is being man-pulated. Using a mouse or other device to move the manipulation handles, the user resizes and reshapes the icon according to his preference (step 230) . Finally, the icon is redrawn to its new size and shape (step 240) . Of course, tne redrawing step may take place as the manipulation nandles are being moved, so that the icon is resized/reshaped m real time.
It is important to note that while the present invention has been described in the context of a fully functional data processing system and/or network, those skilled in the art will appreciate that the mechanism of the present invention is capable of being distriouted m the form of a computer usaole medium of instructions m a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing medium used to actually carry out tne distribution. Examples of computer usable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), recordable type mediums such as floppy disks, hard disk drives and CD-ROMs, and transmission type mediums such as digital and analog communication links.
While the invention nas been particularly snown and described with reference to a preferred embodiment, it will be understood oy those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention . For example, while the preferred embodiment is presented m the context of icons on a GUI αesktop, tne same principles can oe advantageously applieα
to otner cpjects cr, tr- αesKtop, cr icons ana oo^ects in an. Internet browser ,.*ιnαo... Further, wnile i tne preferrec e_r.ocain.ent tne user uses a mouse to manipulate tne icon, this manipulation can oe done by any user input means, including (put not limited to; a mouse, keyboard, trackball, toucnpaα, toucr.-sensitive display, or stylus.