BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The present invention relates generally to a graphics displaying apparatus. More particularly, the invention relates to a graphics displaying method and apparatus having an improved operability with respect to a zooming function or panning function for graphics data displayed on a graphics screen.
[0003] 2. Description of the Related Art
[0004] The development of the computer technology has made it possible to display a vast amount of graphics data, such as simulation results or computer aided design (CAD) data, on a graphics screen. Because the display area of each graphics screen is limited, plural pieces of data are displayed in an overlapped manner on the screen. To permit a user or an operator to sufficiently observe the desired graphics data under such a display condition, graphics computers are given a zooming function for enlarging graphics data within a limited partial screen area or a panning display function for moving graphics data to be displayed relative to the screen area.
[0005] FIG. 1 is a flowchart illustrating a sequence of processes in a screen manipulation mode of a conventional graphics displaying apparatus.
[0006] In step 51 , the graphics displaying apparatus awaits the selection of either the zooming function or panning function by an operator. In the zooming function, when the operator designates a start point and an end point on the screen, graphics data in a rectangular area defined by the start point and the end point is enlarged or zoomed up. In the panning function, when the operator designates a point (start point) on the screen, graphics data is shifted relative to the screen so that the designated point becomes the center of the display screen.
[0007] In steps 52 to 57 , the graphics displaying apparatus executes a process according to the function selected by the operator and the designation of the start point and end point by the operator. The start point and end point are designated using a pointing device like a mouse. The pointing device sends three events to the graphics displaying apparatus. The first event indicates that a button of the pointing device has been depressed (indicating the designation of the start point in this case), the second event indicates that this button has been released (indicating the designation of the end point in this case), and the third event indicates that the pointing device has been moved.
[0008] When the zooming function is selected, the graphics displaying apparatus displays a rectangular rubber band, defined by the start point and end point, on the screen to clarify the area to be zoomed up by the operator in step 58 . In step 59 , the graphics displaying apparatus performs a process of redrawing graphics data on the screen in accordance with the selected function and the designated start point and end point.
[0009] According to the conventional method, when the operator performs the operation of zooming up graphics data more than once using the zooming function, for example, it is unnecessary to perform the operation to select the function. However, when the zooming function is switched to the panning function, the operator needs to again perform the operation to select the panning function. Such switching of functions is a burden on the operator who must handle a huge amount of graphics data. In other words, the operator is frequently forced to switch between the zooming function and the panning function. As a result, the conventional method is inefficient and frustrating to the operator given that the switching of one function to the other is needed between the operation to designate the first start point and end point and the operation to designate the next start point and end point.
SUMMARY OF THE INVENTION
[0010] Broadly speaking, the present invention relates to a graphics displaying method and apparatus having an improved operability with respect to the zooming function or panning function of graphics data.
[0011] The present invention can be implemented in numerous ways including as an apparatus, a method, and on computer readable media. Several implementations of the invention are summarized below.
[0012] As a graphics displaying method for displaying a graphical image on a screen of a computer system using a plurality of graphics display functions, an embodiment of the invention includes the operations of: recognizing positions of a start point and an end point on the screen that have been designated by an operator; selecting one of the plurality of graphics display functions based on the positions of the start point and the end point; and executing the selected graphics display function to display the graphical image on the screen.
[0013] As a graphics displaying method for displaying a graphical image on a screen of a computer system using a plurality of graphics display functions including panning and zooming functions, another embodiment of the invention includes the operations of: displaying a graphical image and a cursor movable by an operator on the screen; recognizing a cursor position as a start point on the screen that has been designated by an operator; recognizing either a current position of the cursor before or after designation of the start point or a cursor position as an end point designated by the operator after designation of the start point; selecting either the panning function or the zooming function using one of information on the start point, information on the current position of the cursor, information on the start point and the current position of the cursor, and information on the start point and the end point; and executing the selected one of the panning function and the zooming function in accordance with designation of the end point by the operator and redrawing the graphical image on the screen.
[0014] As a graphics displaying apparatus having a plurality of graphics display functions, an embodiment of the invention includes: a display unit for displaying graphical information on a screen; an input unit operable to designate positions of a start point and an end point on the screen; and a processing unit coupled to the display unit and the input unit, the processing unit recognizes positions of the start point and the end point on the screen that are designated by an operator, selects one of the plurality of graphics display functions using information on the positions of the start point and the end point, and executes the selected graphics display function to alter the displaying of the graphical information on the screen.
[0015] As a graphics displaying apparatus having a plurality of graphics display functions including panning and zooming functions, another embodiment of the invention includes: a display unit for displaying graphical information and a cursor on a screen; an input unit operable to move the cursor and to designate positions of a start point and an end point on the screen by an operator; and a processing unit coupled to the display unit and the input unit, the processing unit operates to recognize a cursor position as a start point on the screen as designated by an operator, recognize either a current position of the cursor before or after designation of the start point or a cursor position as an end point designated by the operator after designation of the start point, select either the panning function or the zooming function using one of information on the start point, information on the current position of the cursor, information on the start point and the current position of the cursor, and information on the start point and the end point, and execute the selected one of the panning function and the zooming function in accordance with designation of the end point by the operator and redrawing the graphical information on the screen.
[0016] As a computer readable medium containing program instructions for displaying graphical data on a screen using a graphics displaying apparatus having a plurality of graphics display functions, an embodiment of the invention includes: computer readable code devices for recognizing positions of a start point and an end point on the screen that have been designated by an operator; computer readable code devices for selecting one of the plurality of graphics display functions based on information on the positions of the start point and the end point; and computer readable code devices for executing the selected graphics display function to display graphical data on the screen.
[0017] As a computer readable medium containing program instructions for displaying a graphical image on a screen of a computer system using a graphics displaying apparatus having a plurality of graphics display functions including panning and zooming functions, another embodiment of the invention includes: computer readable code devices for displaying the graphical image and a cursor movable by an operator on the screen; computer readable code devices for recognizing a cursor position as a start point on the screen that has been designated by an operator; computer readable code devices for recognizing either a current position of the cursor before or after designation of the start point or a cursor position as an end point designated by the operator after designation of the start point; computer readable code devices for selecting either the panning function or the zooming function using one of information on the start point, information on the current position of the cursor, information on the start point and the current position of the cursor and information on the start point and the end point; and computer readable code devices for executing the selected one of the panning function and the zooming function in accordance with designation of the end point by the operator and redrawing the graphical image on the screen according to the selected one of the panning function and the zooming function.
[0018] Other aspects and advantages of the invention will become apparent from the following description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0033] A graphics displaying apparatus according to one embodiment of the present invention will now be described referring to the accompanying drawings. FIG. 2 schematically illustrates a graphics displaying apparatus 10 . The graphics displaying apparatus 10 comprises a Central Processing Unit (CPU) 20 , a memory 30 , a magnetic disk unit 40 , a Cathode Ray Tube (CRT) 50 as a display unit, a keyboard 60 and a mouse 70 as an input unit, which are mutually connected by a system bus 80 . A liquid crystal display or a plasma display may replace the CRT 50 as the display unit.
[0034] The magnetic disk unit 40 reads graphics data and a program for displaying the graphics data on the CRT 50 , both stored on a magnetic disk 40 a . In this embodiment, graphics data is data relating to waveforms which are previously obtained by simulation of a circuit design. The memory 30 stores the graphics data and program read by the magnetic disk unit 40 . In stead of the magnetic disk unit 40 , a hard disk drive may be used.
[0035] The CPU 20 operates to display the graphics data on the CRT 50 in accordance with the program read from the memory 30 . The CPU 20 further performs the panning or zooming of the graphics data according to the program. In the case of panning, the embodiment copes with three panning functions: the first is the X-panning function for moving graphics data horizontally (in the X direction) relative to the screen of the CRT 50 , the second is the Y-panning function for moving graphics data vertically (in the Y direction) relative to the screen, and the third is the XY-panning function for moving graphics data in the X and Y directions relative to the screen. In the case of zooming, the embodiment handles three zooming functions: the first is the X-zooming function for zooming up graphics data only in the X direction of the screen, the second is the Y-zooming function for zooming up graphics data only in the Y direction of the screen, and the third is the XY-zooming function for zooming up graphics data in both the X and Y directions of the screen.
[0036] The zooming function or the panning function is performed using the mouse 70 . An operator manipulates the mouse 70 to designate a start point and an end point. Based on the designated start point and end point, the CPU 20 selects one of the X-panning function, Y-panning function, XY-panning function, X-zooming function, Y-zooming function and XY-zooming function. The CPU 20 then executes a process of moving or zooming up graphics data according to the selected function, and redraws the graphics data on the screen of the CRT 50 .
[0037] The mouse 70 is a pointing device (or input unit) which the operator uses to designate a position on the screen of the CRT 50 . The operator can move a graphic cursor of a predetermined shape displayed on the screen of the CRT 50 by manipulating the mouse 70 . The operator can also designate the position where the graphic cursor should be displayed by operating a button 70 a of the mouse 70 .
[0038] The CPU 20 receives three events from the mouse 70 in accordance with the operator's manipulation of the mouse 70 . The first is a movement event indicating that the mouse 70 has been moved, the second is an operation event indicating that the button 70 a has been depressed, and the third is another operation event indicating that the button 70 a has been released. The CPU 20 inputs the current positional information of the cursor (coordinate values) in accordance with the movement event. Further, the CPU 20 recognizes the coordinate values indicating the current cursor position as the coordinate values of the start point or the end point in accordance with the operation event (depression or releasing). In this embodiment, the CPU 20 recognizes the coordinate values indicating the current cursor position as the coordinate values of the start point in accordance with the depression event and recognizes the coordinate values indicating the current cursor position as the coordinate values of the end point in accordance with the releasing event. The cursor position when the operator depresses the button 70 a of the mouse 70 and then releases it may be recognized as the start point. The cursor position when the operator depresses the button 70 a of the mouse 70 and then releases it after the designation of the start point may be recognized as the end point.
[0039] The CPU 20 executes different processes in accordance with four operational states of the mouse 70 by the operator, namely, (1) the status before the designation of the start point, (2) the status upon designation of the start point, (3) the status until the end point is designated since the designation of the start point, and (4) the status upon designation of the end point.
Before Designation of Start Point
[0040] The CPU 20 performs the selection of the panning function, the display of a mark, the alteration of the graphic cursor and the display of a string of characters by using the coordinate values of the current cursor position that changes as the mouse 70 moves. That is, the CPU 20 selects one of the X-panning function, the Y-panning function and the XY-panning function in accordance with the coordinate values of the current position. The CPU 20 further executes three processes so as to: (1) display the mark representing the selected panning function at the current cursor position, (2) display the graphic cursor whose shape corresponds to the selected function, and (3) display a string of characters representing the selected function in a predetermined area on the screen.
Upon Designation of Start Point
[0041] The CPU 20 recognizes the coordinate values of the current position designated by the operator as the coordinate values of the start point. Based on the coordinate values of the start point, the CPU 20 performs the selection of the panning function, the display of a start point, the alteration of the graphic cursor and the display of a string of characters. Specifically, the CPU 20 selects one of the X-panning function, the Y-panning function and the XY-panning function in accordance with the coordinate values of the start point. The CPU 20 further executes three processes so as to: (1) display the mark representing the selected panning function at the start point, (2) display the graphic cursor whose shape corresponds to the selected function, and (3) display a string of characters representing the selected function in a predetermined area on the screen.
From Designation of Start Point to Designation of End Point
[0042] During this period, the operator leaves the mouse 70 unmoved while depressing the button 70 a or moves the mouse 70 while depressing the button 70 a . By using the coordinate values of the designated start point and the coordinate values of the current cursor position, the CPU 20 performs the selection of the panning function, the determination of whether the panning function or zooming function is desired, the selection of the zooming function, the alteration of the graphic cursor, the display of a rubber band, and the display of a string of characters. If it is assumed that the current position is an end point, the CPU 20 determines whether the panning function or the zooming function should be performed. When it is determined that the panning function is to be executed, the CPU 20 selects one of the X-panning function, the Y-panning function and the XY-panning function. When it is determined that the zooming function is to be executed, the CPU 20 selects one of the X-zooming function, the Y-zooming function and the XY-zooming function. The CPU 20 further executes three processes so as to: (1) display the graphic cursor whose shape corresponds to the selected function, (2) display the rubber band representing the area on which the selected function is to be performed, and (3) display a string of characters representing the selected function in a predetermined area on the screen.
Upon Designation of End Point
[0043] The CPU 20 recognizes the coordinate values of the current position designated by the operator as the coordinate values of the end point. Using the coordinate values of the start point and end point, the CPU 20 establishes the operational function and performs the redrawing process. In accordance with the coordinate values of the start point and end point, the CPU 20 determines whether the panning function or the zooming function should be performed. Based on the result of the determination, either function is selected and the selected function is then marked to be executed. The CPU 20 thereafter performs the marked function using the coordinate values of the start point and the end point.
[0044] In the aforementioned individual states, the simple designation of the start point and the end point by the operator operating the mouse 70 allows the panning function or the zooming function to be automatically selected by the CPU 20 and graphics data to be redrawn on the screen in accordance with the selected function. In other words, the operator can perform the zooming function or the panning function without performing any operation associated with the selection of the function. This feature improves the work efficiency of the operator with respect to the processing and viewing of graphics data. The display of a mark, the graphic cursor, and the string of characters indicating the selected function by the CPU 20 facilitates the confirmation of the selected function by the operator.
[0045] The selection of the panning function, the determination of whether it is the panning function or zooming function, the selection of the zooming function, the alteration of the graphic cursor, the display of the rubber band, and the display of a string of characters will now be discussed one after another.
Selection of Panning Function
[0046] Using plural pieces of screen area data previously separated in association with the X-panning function, the Y-panning function and the XY-panning function, and the positional information (coordinate values) of the current position or the start point, the CPU 20 selects one of the panning functions. Specifically, the CPU 20 determines in which area the coordinate values of the current position or the designated start point are located, and selects one of the X-panning function, the Y-panning function and the XY-panning function based on the area where the coordinate values are located.
[0047] As shown in FIG. 5 , for example, the screen 50 a of the CRT 50 is separated into a plurality of (eight in this embodiment) areas A 1 to A 8 . The panning function corresponding to one of the areas A 1 -A 8 where the current position or the start point is located is selected. If the current position or the start point is located in either the right center area A 1 or the left center area A 2 , the X-panning function is selected. If the current position or the start point is located in either the upper center area A 3 or the lower center area A 4 , the Y-panning function is selected. If the current position or the start point is located in one of the upper right area A 5 , the upper left area A 6 , the lower left area A 7 and the lower right area A 8 , the XY-panning function is selected.
[0048] The sizes of the areas A 1 -A 8 are set in accordance with the size of the screen 50 a (the horizontal width and the height). In this embodiment, “W” denotes the X direction of the screen 50 a or the horizontal direction in FIG. 5 , “h” denotes the height in the Y direction or the up and down direction in FIG. 5 , and (xc, yc) represents the coordinate values of the center point, Pc, of the screen 50 a.
[0049] The areas A 1 and A 2 for which the X-panning function is selected are defined by the following equation (1):
( yc−nh≦y≦yc+nh ) and ( x<xc−nw or x>xc+nw ). (1)
[0050] The areas A 3 and A 4 for which the Y-panning function is selected are defined by the following equation (2):
xc−nw≦x<xc+nw. (2)
[0051] The areas A 5 to A 8 for which the XY-panning function is selected are defined by the following equation (3):
( x<xc−nw or x>xc+nw ) and ( y<yc−nh or y>yc+nh ). (3)
[0052] In those equations, n is a constant greater than 0 and less than 1.
[0053] To determine in which one of the areas A 1 -A 8 the current position or the start point is located, the CPU 20 determines which one of the equations (1) to (3) the coordinate values of the current position or start point satisfy. The CPU 20 selects one of the X-panning function, the Y-panning function and the XY-panning function corresponding to the satisfied one of the equations (1) to (3).
Determination of Panning or Zooming
[0054] The CPU 20 determines whether it is the panning function or the zooming function is desired based on the distance between the start point and end point. Specifically, the CPU 20 computes the distance between the start point and the end point, and determines the panning function is desired when the distance is less than a predetermined threshold value, and determines the zooming function is desired when the distance is equal to or greater than the threshold value.
[0055] A Manhattan distance is used as information on the distance between the start point and the end point. The Manhattan distance is represented by the sum of the X-directional distance and the Y-directional distance between two points. As shown in FIG. 6 , for example, a rhombus area A 11 defined in a part of the screen area is the range for the threshold value with respect to the Manhattan distance. The boundary of the area A 11 is formed by two orthogonal lines (not shown) having lengths of 2 d which cross the start point Ps and respectively extend in the X and Y directions where d is the threshold value. The CPU 20 determines if the end point lies in this area A 11 . Specifically, with (xs, ys) being the coordinate values of the start point Ps and (x, y) being the coordinate values of the end point, it is determined whether the end point lies in the area A 11 according to an equation (4) given below.
| x−xs|+|y−ys|<d (4)
[0056] When the end point lies in the area A 11 , it is determined as “panning,” and when the end point lies out of the area A 11 , it is determined as “zooming”. If the end point, P 1 , is located at the point where the Manhattan distance from the start point Ps is less than the threshold value d, as shown in FIG. 6 , the CPU 20 determines that the end point P 1 lies within the area A 11 and determines that it is “panning”. If the end point, any one of points P 2 -P 5 , is located at the point where the Manhattan distance from the start point Ps is equal to or greater than the threshold value d, the CPU 20 determines that the end point P 2 , P 3 , P 4 or P 5 is located out of the area A 11 and determines that it is “zooming”.
[0057] A Euclidean distance may be used instead of a Manhattan distance to determine if it is zooming or panning. The determination of zooming or panning may also be accomplished by checking if the X-directional distance |x−xs| and the Y-directional distance |y−ys| between the start point and end point meet the following equation:
| x−xs|<m and | y−ys|<n,
[0058] where xs and ys are the coordinate values of the start point, x and y are the coordinate values of the end point, and m and n are arbitrary values. The range which satisfies this equation is expressed by a rectangle whose center is the start point and which has a length of 2×m in the x direction and a length of 2×n in the Y direction.
Selection of Zooming Function
[0059] The CPU 20 selects the zooming function using information on the relative direction of the end point to the start point. As shown in FIG. 6 , eight areas A 12 to A 19 which define the direction of the end point with respect to the start point are previously set on the screen 50 a of the CRT 50 . The CPU 20 determines in which one of the areas A 12 -A 19 the end point lies, and selects the function associated with the area where the end point lies. The CPU 20 displays a string of characters representing the selected function in a predetermined area on the screen 50 a.
[0060] A value t (=|y−ys|÷|x−xs|) which is obtained by dividing the absolute value of the difference between the y coordinates of the start point and the end point by the absolute value of the difference between the x coordinates of the start point and the end point is used as the information on the direction of the end point. That is, the value t is the absolute value of the tangent of an angle 0 between a line passing the start point and parallel to the X axis and a line connecting the start point to the end point. When the difference between the x coordinates of the start point and the end point is 0, the value t goes infinity. In this embodiment, there are two threshold values (t1 and t2: t1<t2) between 0 and infinity. The zooming function is therefore selected by using the value t and those threshold values t1 and t2. Specifically, given that (xs, ys) are the coordinate values of the start point s and (x, y) are the coordinate values of the end point e, the right and left center areas A 12 and A 13 for which X-zooming is selected are defined by the following equation (5):
( x≠xs ) and ( t<t 1). (5)
[0061] The upper and lower center areas A 14 and A 15 for which Y-zooming is selected are defined by an equation (6) given below:
( x=xs ) or ( t>t 2). (6)
[0062] The upper right, upper left, lower left and lower right areas A 16 to A 19 for which XY-zooming is selected are defined by an equation (7) given below:
( x≠xs ) and ( t 1 ≦t≦t 2). (7)
[0063] To determine in which one of the areas A 12 -A 19 the end point is located, the CPU 20 determines which one of the equations (5) to (7) the value t satisfies. Further, the CPU 20 selects one of X-zooming, Y-zooming and XY-zooming which is associated with the determined single area.
[0064] When a start point Ps and an end point P 2 positioned horizontal to, and on the right side to, the start point Ps are designated, as shown in FIG. 6 , the value t becomes smaller than the threshold value t1 and thus satisfies the equation (5). Therefore, the end point P 2 is determined to lie in the area A 12 or A 13 and the X-zooming function is selected.
[0065] When the start point Ps and an end point P 3 positioned vertical to the start point Ps are designated, the coordinate value x3 of the end point P 3 becomes equal to the X coordinate value xs of the start point Ps and the equation (6) is thus met. Therefore, the end point P 3 is determined to lie in the area A 14 or A 15 and the Y-zooming function is selected.
[0066] When the start point Ps and an end point P 4 or P 5 positioned obliquely upper right or lower left to the start point Ps are designated, the value t comes between the values t1 and t2 and thus satisfies the equation (7). The end point P 4 (P 5 ) is therefore determined to lie in any one of the areas A 16 to A 19 and the XY-zooming function is selected.
Display of Mark
[0067] By using the coordinate values of the current position or the start point, the CPU 20 displays a mark representing the selected panning function at the current position or the start point. When the current position is located in the upper right area A 5 as shown in FIG. 5 , for example, the CPU 20 displays a mark M 5 representing the XY-panning function selected in the area A 5 at that current position. Next, when the operator moves the graphic cursor to the right center area Al from the upper right area A 5 , the CPU 20 receives the movement event of the mouse 70 . As a result, the current position is shifted to the area A 1 . The CPU 20 determines that the current position is in the area A 1 , and selects the X-panning function associated with the area A 1 . Further, the CPU 20 displays a mark M 1 representing the selected X-panning function at the current position. That is, the mark indicating the function selected at the current position is displayed at that position. By displaying the mark the operator is able to visually check the panning function which is selected at the current position.
Alteration of Graphic Cursor
[0068] When the panning function or the zooming function is changed in the “state before the designation of the start point” or the “state from designation of the start point to the designation of the end point”, the CPU 20 displays the graphic cursor that represents the changed function. When one function is changed to the X-panning function or X-zooming function, the CPU 20 alters the display of the graphic cursor indicating the one function to the display of a graphic cursor GC 1 indicating the X-panning function or X-zooming function, as shown in FIG. 7A . When one function is changed to the Y-panning function or Y-zooming function, the CPU 20 alters the displayed graphic cursor to a graphic cursor GC 2 as shown in FIG. 7B . When one function is changed to the XY-panning function or XY-zooming function, the CPU 20 alters the displayed graphic cursor to a graphic cursor GC 3 as shown in FIG. 7C .
[0069] When the current position lies in the area A 5 shown in FIG. 5 , for example, the CPU 20 displays the graphic cursor GC 3 (see FIG. 7C ) indicating the XY-panning function selected in that area A 5 . When the current position is moved to the area A 1 from the area A 5 , the CPU 20 determines that the current position is in the area A 1 according to the received movement event, and changes the XY-panning function to the X-panning function associated with the area A 1 . The CPU 20 then changes the graphic cursor GC 3 to the graphic cursor GC 1 (see FIG. 7A ) representing the selected X-panning function.
[0070] In this manner, the graphic cursor which represents the currently selected panning function or zooming function is always displayed. The alteration of the display of the graphic cursor permits the operator to visually check the currently selected panning function or zooming function. Instead of altering the shape of the graphic cursor according to the selected function, the color of the graphic cursor may be changed. Further, the shape and color of the graphic cursor may both be changed.
[0071] In FIGS. 7A to 7 C, actually, the mark which indicates the panning function associated with any one of the areas A 1 -A 8 where the start point Ps is located should be displayed at the start point Ps. In this embodiment, however, a black dot is displayed at the start point Ps to emphasize the alteration of the graphic cursor representing the zooming function.
Display of Rubber Band
[0072] When the zooming function is selected during the period from the designation of the start point to the designation of the end point, the CPU 20 displays a rubber band RB 1 , RB 2 or RB 3 connecting the start point to the current position (or the end point). When the X-zooming function is selected, the CPU 20 displays the rubber band RB 1 indicated by the straight line connecting the start point Ps to the graphic cursor GC 1 , as shown in FIG. 7A . This rubber band RB 1 indicates the range for graphics data to be displayed, zoomed up in the X direction. In the X-zooming function, graphics data is enlarged in the X direction in such a way that the start point or the end point, whichever has a smaller X coordinate value, is located at the left end of the display 50 a and the point having a larger X coordinate value is located at the right end thereof.
[0073] When the Y-zooming function is selected, the CPU 20 displays the rubber band RB 2 indicated by the straight line connecting the start point Ps to the graphic cursor GC 2 , as shown in FIG. 7B . This rubber band RB 2 indicates the range for graphics data to be displayed, zoomed up in the Y direction. In the Y-zooming function, graphics data is enlarged in the Y direction in such a way that the start point or the end point, whichever has a smaller Y coordinate value, is located at the lower end of the display 50 a and the point having a larger Y coordinate value is located at the upper end thereof.
[0074] When one function is changed to the XY-panning function or XY-zooming function, the CPU 20 displays the rectangular rubber band RB 3 whose one orthogonal line is defined by the straight line connecting the start point Ps to the graphic cursor GC 3 , as shown in FIG. 7C . This rubber band RB 3 indicates the range for graphics data to be displayed, zoomed up both in the X and Y directions. In the XY-zooming function, graphics data is enlarged in the X and Y directions in such a way that the start point or the end point, whichever has a smaller X coordinate value, is located at the left end of the display 50 a , the point having a larger X coordinate value is located at the right end thereof, the start point or the end point, whichever has a smaller Y coordinate value, is located at the lower end of the display 50 a and the point having a larger Y coordinate value is located at the upper end thereof. The display of such rubber bands RB 1 -RB 3 permits the operator to easily check the area for graphics data to be displayed in enlargement. That is, the operator has only to designate the start point and end point in such a manner that graphics data to be displayed in enlargement overlaps the associated rubber band RB 1 , RB 2 or RB 3 . Further, the rubber bands RB 1 -RB 3 make it easier for the operator to determine the range of graphics data to be displayed in enlargement before the designation of the end point. Functions to be selected may be made distinguishable by changing the color of the rubber band. Furthermore, the color and shape of the rubber band may be altered.
Display of String of Characters
[0075] The CPU 20 displays a string of characters indicating the selected panning or zooming function in a predetermined area on the screen 50 a . As shown in FIG. 8 A, for example, a string of characters is displayed in an upper right area 50 b on the screen 50 a . It is preferable that this area 50 b should be provided at the position which does not interfere with the display of graphics data and is easily seen by the operator.
[0076] In this embodiment, “X-pan” corresponding to “X-panning”, “Y-pan” corresponding to “Y-panning”, and “XY-pan” corresponding to “XY-panning” are previously stored as strings of characters indicating the panning functions. Likewise, “X-zoom” corresponding to “X-zooming”, “Y-zoom” corresponding to “Y-zooming”, and “XY-zoom” corresponding to “XY-zooming” are previously stored as strings of characters indicating the zooming functions.
[0077] As mentioned above, the marks M 1 -M 5 to be displayed at the current position, the graphic cursors GC 1 -GC 3 and those character strings can allow the operator to easily recognize the panning or zooming function which is selected by designating the start point and end point. This prevents the operator from making an erroneous selecting operation. The display of a string of characters may be designed to be selectable by the operator as needed.
[0078] The operation of the above-described graphics displaying apparatus 10 will now be discussed referring to the accompanying drawings. As shown in FIG. 3 , the CPU 20 waits for the selection of the “end of mode” or any event of the mouse 70 in step 1 . The “end of mode” is selected by the operator manipulating the keyboard 60 or the mouse 70 to click the “end of mode” (not shown) displayed on the screen 50 a.
[0079] In step 2 , the CPU 20 determines whether or not the “end of mode” has been selected. When the “end of mode” has been selected, the CPU 20 terminates the screen operation mode for panning. When an event is input through the mouse 70 , the CPU 20 moves to step 3 from step 2 .
[0080] In step 3 , the CPU 20 determines the panning function to be selected in accordance with the coordinate values of the current cursor position. In the next step 4 , the CPU 20 displays the mark indicating the selected panning function at the current position. When the current position is determined to lie in the area A 1 as shown in FIG. 7 A, for example, the X-panning function associated with that area A 1 is selected and the mark M 1 representing the X-panning function is displayed.
[0081] Referring again to FIG. 3 , the CPU 20 determines in step 5 if the selected panning function has been changed. When the panning function has been changed, the CPU 20 executes processes in steps 6 and 7 and goes to step 8 . When the panning function has not been changed, the CPU 20 proceeds to step 8 from step 5 .
[0082] In step 6 , the CPU 20 displays a string of characters indicating the altered panning function in the predetermined area 50 b on the screen of the CRT 50 . In the subsequent step 7 , the CPU 20 displays the graphic cursor indicating the altered panning function. In this embodiment, either one of the mark and the graphic cursor is displayed in FIGS. 7A, 7B , 8 A and 8 B since the simultaneous display of the mark and the graphic cursor makes it difficult to see the graphics data.
[0083] In step 8 , the CPU 20 determines if the input event indicates a start point. When the event does not indicate the start point, the CPU 20 returns to step 1 , whereas when the event indicates the start point, the CPU 20 proceeds to step 9 .
[0084] In step 9 , the CPU 20 stores the coordinate values of the current position as the coordinate values of the start point. The CPU 20 further temporarily stores the type of the panning function to be selected in accordance with the coordinate values of the current position. In the next step 10 , the CPU 20 displays the mark indicating the selected panning function at the position of the start point.
[0085] As shown in FIG. 4 , the CPU 20 waits for the next event from the mouse 70 in step 11 . When the CPU 20 receives a movement event indicating the movement of the mouse 70 or an operation event indicating the release of the button 70 a , the CPU 20 proceeds to step 12 . In step 12 , the CPU 20 computes the Manhattan distance between the start point and the end point by using the coordinate values of the start point and the coordinate values of the current position or the coordinate values of the end point. The CPU 20 further determines if the Manhattan distance is smaller than the predetermined threshold value d, i.e., if the coordinate values of the current position or the end point lies in the threshold area A 11 . Through this determination, it is determined whether the function is panning or zooming.
[0086] When the zooming function is determined in step 13 , the CPU 20 performs a sequence of processes in steps 14 to 18 . When the panning function is determined, on the other hand, the CPU 20 performs a sequence of processes in steps 19 to 21 . The sequence of processes in steps 19 - 21 will be discussed first.
[0087] In step 19 , the CPU 20 determines if the function to be selected has been changed to another function using the coordinate values of the start point and the coordinate values of the current position or the end point. When the current position is shifted into the area A 11 by the operator's manipulation of the mouse 70 after the temporary selection of the zooming function, for example, the zooming function is changed to the panning function. Specifically, after designation of the start point, the operator moves the graphic cursor to an area outside the area A 11 to execute the zooming function. This cursor movement causes the string of characters, the graphic cursor and the rubber band all representing the zooming function to be displayed through processes in steps 16 to 18, which will be discussed later. When the XY-zooming function is selected, for example, the character string “XY-zoom”, the graphic cursor GC 3 and the rubber band RB 3 are displayed.
[0088] In this situation, however, the operator may need to perform the panning function, not the zooming function. In this case, to execute the panning function, the operator should move the graphic cursor into the area A 11 while depressing the button 70 a of the mouse 70 . Then, the CPU 20 displays the string of characters and the graphic cursor which represent the panning function. When the X-panning function is selected, for example, the CPU 20 displays the character string “X-pan” in the area 50 b in step 20 and displays the graphic cursor GC 1 in step 21 .
[0089] In step 22 , the CPU 20 determines if the input event indicates an end point. When the input event does not indicate the end point and the operator keeps moving the graphic cursor, the CPU 20 returns to step 11 . When the input event indicates the end point, the CPU 20 fixes the function to be selected in accordance with the coordinate values of the end point in step 23 .
[0090] In the subsequent step 24 , the CPU 20 executes the fixed function and redraws graphics data on the screen. When the start point and end point are designated at the display position of the mark M 1 as shown in FIG. 8 A, for example, the CPU 20 fixes the X-panning function in step 23 . The CPU 20 further executes the X-panning function and redraws graphics data so that the X coordinate value of the mark Ml becomes the center coordinate value of the screen 50 a (see FIG. 8B ) in step 24 .
[0091] The sequence of processes in steps 14 - 18 will now be discussed.
[0092] In step 14 , the CPU 20 determines the zooming function to be selected using the coordinate values of the current position or the end point. In the next step 15 , the CPU 20 determines if the zooming function to be selected has been changed to another zooming function. The CPU 20 displays a string of characters representing the altered zooming function in the area 50 b in step 16 . In step 17 , the CPU 20 displays the graphic cursor which represents the altered zooming function. In the subsequent step 18 , the CPU 20 displays the rubber band which connects the start point to the graphic cursor in accordance with the selected or changed zooming function.
[0093] When the mark M 4 is displayed at the position of the start point as shown in FIG. 9 A, for example, the CPU 20 stores the Y-panning function associated with the start point. Suppose that the operator has moves the graphic cursor to the upper right area of the screen 50 b . Since the current position lies in the upper right area with respect to the start-point mark M 4 , the CPU 20 determines that the function to be selected is “XY-zooming”, and displays the graphic cursor GC 3 and the string of characters “XY-zoom” both representing the XY-zooming function. The CPU 20 further displays the rectangular rubber band RB 3 whose one orthogonal line is the straight line connecting the start-point mark M 4 to the graphic cursor GC 3 .
[0094] Referring again to FIG. 4 , after the execution of the process in step 18 , the aforementioned processes in steps 22 to 24 are performed. When the mark M 4 indicates the start point and the graphic cursor GC 3 indicates the end point as shown in FIG. 9 A, the CPU 20 fixes the XY-zooming function in step 23 . In step 24 , the CPU 20 executes XY-zooming and redraws graphics data in such a manner that the coordinate values of the start-point mark M 4 is positioned at the lower left end of the screen 50 a and the coordinate values of the end-point graphic cursor GC 3 is positioned at the upper right end of the screen 50 a (see FIG. 9B ).
[0095] Although only one embodiment of the present invention has been described herein, it should be apparent to those skilled in the art that the present invention may be embodied in many other specific forms without departing from the spirit or scope of the invention. Particularly, it should be understood that the invention may be embodied in the following forms.
[0096] The mouse may be replaced with another pointing device, such as a tablet, a track ball, a write pen, a touch panel or a joystick. Further, the keyboard may be used instead of such a pointing device.
[0097] This invention may be adapted not only to the graphics displaying apparatus for displaying simulation results but also to ordinary CAD systems to design LSIS, printed circuit boards and the like.
[0098] Therefore, the present examples and embodiment are to be considered as illustrative and not restrictive and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalence of the appended claims.