1. Field of the Invention
The present invention relates to an information processing apparatus and control method thereof, and a computer program.
2. Description of the Related Art
Conventionally, an information processing system, which can simultaneously execute a plurality of applications with user interfaces, can display a plurality of windows corresponding to the applications at the same time, and can control the respective windows to serve as independent user interfaces.
In such a case, the information processing system can display the plurality of windows by one of the following methods. A method of overlapping the windows at arbitrary locations according to the rule of a predetermined priority order upon displaying the respective windows is available (overlap method). Also, a method of tiling the windows without overlapping each other upon displaying the respective windows is available (tiling window method). In general, when many windows need to be displayed within a limited display screen, the overlap method is more effective.
Most of windows allow modification of their sizes and locations in the X and Y directions independently or simultaneously. When the overlap method is used, the windows need to be moved or resized to avoid completely covered windows as a result of window overlap.
When a plurality of applications run in parallel, and corresponding windows are displayed at the same time, a display controller of an information processing apparatus displays a window to be prioritized or a window selected by the user for access in front of all other windows in each case. The whole area of the window displayed in front of all other windows is displayed, and partial areas of other windows are displayed based on their overlapping states.
However, in this situation, when the user wants to frequently access a window hidden by other windows or to refer to its contents, the user needs to make a predetermined operation for windows. This operation includes that of switching display to locate a desired window in front of all other windows and that of downsizing or moving the windows located in front of the target window.
In general, upon resizing a window (e.g., to reduce its size), it becomes difficult to display all the contents displayed before resizing within the resized window. For this reason, only partial contents to be prioritized are displayed. The sequence for determining such part to be prioritized is executed either automatically or manually.
A window is resized by dragging one border or corner of the window. The window is moved by dragging a specific region which is not used for resizing.
Upon resizing a window, there is a specification prepared in advance for each window type, and display control upon resizing is performed based on the specification. More specifically, a specification that moves the display contents upon dragging when a window is resized by dragging one border or corner is available. Also, a specification that does not move the display contents irrespective of dragging is available. Furthermore, a specification that moves the display contents to have a predetermined ratio with respect to dragging or reduces or modifies them is available.
These specifications are determined in advance for respective window types or for respective places to be dragged even on one window. Note that in the present specification, moving the display contents of a window upon resizing the window will be referred to as “scrolling”.
A general display control method upon resizing a window will be described below.
FIG. 21 shows the configuration of a window to be displayed on a display device. FIG. 21 shows a window that displays a document. FIGS. 22A to 22D and FIGS. 23A to 23D are explanatory views of popular display control methods upon resizing a window.
FIGS. 22A to 22D are views showing cases in which the window shown in FIG. 21 is resized by dragging one of the four borders.
In general, upon resizing the window by moving the right or bottom border of the four borders, the display contents near the border opposite to the border to be moved remain unchanged, and those near the border to be moved are changed. FIGS. 22A and 22C show the cases in which the window size is reduced by moving the right or bottom border. In these cases, the display contents near the border to be moved are gradually hidden.
Upon resizing the window by moving the left or top border of the four borders, the display contents near the border to be moved remain unchanged, and those near the border opposite to the border to be moved are changed. FIGS. 22B and 22D show the cases in which the window size is reduced by moving the left or top border. In these cases, the display contents near the right or bottom border opposite to the border to be moved are gradually hidden.
FIGS. 23A to 23D show cases in which the window shown in FIG. 21 is resized by dragging the corners of the window. Note that the corners of the window mean the intersections of the respective borders that define the window.
As shown in FIGS. 23A to 23D, when the window is resized by dragging the upper left, upper right, lower left, and lower right corners of the window, the display contents near the upper left corner remain unchanged, and those near other corners are gradually hidden.
The concept of the display control shown in FIGS. 22A to 22D and FIGS. 23A to 23D is to basically preferentially display the left and up directions of the display contents of a window. On the other hand, many windows which aim at the drawing function and display of general figures do not always preferentially display the left and up directions, and different specifications are determined in advance for respective window types.
Many specifications associated with resizing of a window are designed to naturally locate the contents to be prioritized at a display position if the user normally makes a resizing operation. However, a part that the user wants to display does not always move to the display position, and an operation for individually shifting the position of the display contents after resizing is often required.
Most windows have scroll bars to shift the position of the display contents. In general, the user can move the contents that the user wants to display or access to the position within the window by operating the scroll bar.
The inventions that improve the operations for resizing a window by dragging, for example, a predetermined part of the window are disclosed in Japanese Patent Nos. 2765615 and 3431795.
On the other hand, a certain window often configures parent and child windows defined by predetermined specifications so as to prevent related windows from being uneasy to see due to overlap display or to prevent correspondence between the related windows from confusing.
The inventions that relate to a method of controlling the relationship between the parent and child windows upon resizing a window are disclosed in Japanese Patent Laid-Open No. 9-185480 and Japanese Patent No. 3586351.
In order to resize (especially, reduce) a window and to preferentially display a desired part, use of the display control specification determined in advance for each window type does not suffice. In many cases, the user needs to perform two operations step by step in such a manner that the user is required to scroll the display contents by a predetermined amount in a predetermined direction after resizing. Such requirement results in inefficiency upon making various operations on a computer, thus decreasing productivity accordingly.