TECHNICAL FIELD The present invention relates to an information processing apparatus, an information processing program, a storage medium storing an information processing program, and a window controlling method. More specifically, the present invention relates to an information processing apparatus, an information processing program, a storage medium storing an information processing program, and a window controlling method which display a plurality of windows on a first display area and a second display area.
PRIOR ART One example of a controlling technique of a plurality of windows is disclosed in the document 1 (Japanese Patent Laying-open No. 5-204581) laid-open on Aug. 13, 1993. In the window displaying method described in thedocument 1, a plurality of windows are displayed in an overlapping manner on a screen, and a plurality of icons are displayed on the same screen. Then, the window corresponding to the icon on which a mouse input is performed is displayed on the forefront in an active state.
Furthermore, another example of a controlling technique of a plurality of windows is disclosed in the document 2 (Japanese Patent Laying-open No. 8-83160) laid-open on Mar. 26, 1996. In the multi-window displaying method described in thedocument 2, a plurality of windows are displayed in an overlapping manner on a display (first display) out of a plurality of displays. To each of the plurality of displays, a mouse and an operation key (reproduction destination key, moving destination key or copy destination key) are provided. When a second display is designated with an operation key provided on the first display, and a window is selected with a mouse provided thereto, the selected window is displayed on the designated second display through reproducing, moving, or copying.
In the technique described in thedocument 1, in response to an icon being selected with the mouse, a corresponding window is. displayed in an active state, eliminating a need for performing a complicated operation, such as moving the overlapping windows. However, in the technique described in thedocument 1, a window intended to be rendered an active window out of the plurality of windows overlapping on one screen is merely selected by the icon on the same screen. Furthermore, the selected window is merely displayed at the forefront in the same position on the same screen. In thedocument 1, the technique of controlling the plurality of windows between the plurality of display areas or between the plurality of display screens is nowhere disclosed.
Furthermore, in the technique described in thedocument 2, a selected window out of the plurality of windows displayed on one display in an overlapping manner is displayed on another designated display, capable of improving visibility. However, in the technique described in thedocument 2, for making an input to a screen of each display, each mouse, etc. has to be utilized, causing a bother in operation. That is, one of the plurality of windows displayed on the first display can be displayed on the second display by operating a mouse, etc. provided on the first display, but for inputting to the window displayed on the second display, a mouse, etc. provided on the second display has to be operated. Also, even when the mouse, etc. provided on the second display is operated, it is impossible to display a window displayed on the first display on the second display.
SUMMARY OF THE INVENTION Therefore, it is a primary object of the present invention to provide a novel information processing apparatus, information processing program, storage medium storing an information processing program, and window controlling method.
Another object of the present invention is to provide an information processing apparatus, an information processing program, a storage medium storing an information processing program, and a window controlling method which are able to improve operability with respect to a window control among a plurality of display areas.
An information processing apparatus of a first invention according to the present invention comprises a storing means, a display means, a detecting means, and a first display controlling means. The storing means stores data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows. The display means includes a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner, and a second display area on which the plurality of selection areas are displayed. The detecting means detects an input to display positions of the plurality of selection areas. The first display controlling means displays, when it is determined that a first predetermined input is performed within a selection area corresponding to a window displayed on the first display area or a window displayed on a forefront by the detecting means, the window corresponding to the selection area on the second display area.
More specifically, the information processing apparatus (10: reference numeral designating a portion corresponding in the embodiments) of the first invention includes a storing means (28a,48), and the storing means stores data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows. In the embodiment, window image data, upper screen window tab number data, lower screen window tab number data, tab data, tab position data, etc. are stored. A display means (12,14) includes a first display area (12) and a second display area (14). The first display area displays a predetermined (forefront in depth, for example) window out of a plurality of windows (110,114,118), or displays the plurality of windows in an overlapping manner. The second display area displays a plurality of selection areas (112,116,120). A detecting means (42, S5, S7, S131, S133, S135, S137, S143, S145, S161, S163, S189, S211, S213, S227)detects an input to display positions of the plurality of selection areas. A first display controlling means (42,50,52,60, S181, S183, S241, S243) displays, when it is determined that a first predetermined input is performed within a selection area corresponding to a window displayed on the first display area or a window displayed on a forefront by the detecting means, the window corresponding to the selection area on the second display area. The predetermined input is an input with a one-click operation, a two-click operation, a downward-sliding operation, or the like in the embodiment.
More specifically, for example, the storing means may includes a table storing means (80) for storing table data (tab data) to bring the respective selection areas into the respective windows. The first display controlling means determines a window corresponding to the selection area on which a predetermined input is performed on the basis of the table storing means, and displays the window on the second display area. In addition, the storing means may include the identification information storing means (80) for storing identification information (tab number) to be applied to each of the windows and a second display area identification information storing means (84) for storing identification information of the window to be displayed on the second display area. The first display controlling means, when a predetermined input is performed within a selection area, stores identification information of the window corresponding to the selection area on the second display area identification information storing means (S181, S241), and displays the window to which the stored identification information applied on the second display area (S185, S243).
According to the information processing apparatus, the plurality of selection areas which are respectively corresponded to the plurality of windows are displayed on the second display area, and therefore, a user performs a first predetermined input to the selection area of the second display area to thereby display a window displayed on the first display area or a window displayed on the forefront (active window) on the second display area. Thus, it becomes possible to perform an operation or input to the window by means of an input means, for example. Therefore, even the window displayed on the first display area can be displayed so as to be set to an inputable state on the second display area through movement or copying by performing a predetermined operation on the selection area of the second display area, capable of improving operability.
In one aspect, an information processing apparatus further comprises a second display controlling means for displaying, when it is determined that a first predetermined input is performed within a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on the forefront on the first display area by the detecting means, the window corresponding to the selection areas on the first display area or on the forefront on the first display area.
More specifically, the second display controlling means (42,50,52,60, S185, S187), displays when it is determined that a first predetermined input is performed within a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on the forefront on the first display area (inactive window) by the detecting means, the window corresponding to the selection area on the first display area or on the forefront on the first display area. The first predetermined input is an input by the one-click operation in the embodiment. In this case, the user temporarily displays the inactive window on the first display area or displays it on the forefront of the first display area by the first predetermined input, and thus he or she can confirm the content of the window by the first display area, for example. Then, after the confirmation, by performing a predetermined input operation as necessary, it is possible to display the window on the second display area. Accordingly, it is possible to improve operability.
In another aspect, an information processing apparatus further comprises a third display controlling means for displaying, when it is determined that a second predetermined input is performed within a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on the forefront on the first display area by said detecting means, the window corresponding to the selection area on the second display area.
More specifically, the third display controlling means (42,50,52,60, S241, S243), displays when it is determined that a second predetermined input is performed within a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on the forefront on the first display area (inactive window) by the detecting means, the window corresponding to the selection area on the second display area. The second predetermined input is an input by a two-click operation or a downward-sliding operation in the embodiment. In this case, by the second predetermined input different from the first predetermined input to display an active window on the second display area, an inactive window can be directly displayed on the second display area, capable of directly setting the window to an operational inputable state, and allowing a quick input. For example, it is extremely advantageous in a case that the content of the inactive window needs not to be confirmed. Accordingly, it is possible to improve operability. In addition, the user uses different input operations on the selection area corresponding to the inactive window to thereby differentiate the display control of the inactive window. For example, in a case that the content of an inactive window needs to be confirmed, by performing a first predetermined input, it is possible to temporarily display the inactive window on the forefront on the first display area.
An information processing apparatus of the second invention according to the present invention comprises a storing means, a display means, a detecting means, and a first display controlling means. The storing means stores data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows. The display means includes a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner and a second display area on which the plurality of selection areas are displayed. The detecting means detects an input to display positions of the plurality of selection areas. The third display controlling means displays, when it is determined that a second predetermined input is performed at a display position of a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on a forefront on the first display area by the detecting means, the window corresponding to the selection area on the second display area.
More specifically, the information processing apparatus of the second invention is the same as the above-described information processing apparatus of the first invention except for a difference in operation of the display controlling means, and therefore, a duplicated description will be omitted. Also, a third display controlling means in the second invention is equivalent to the third display controlling means in the first invention, and displays when it is determined that a second predetermined input is performed at a display position of a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on the forefront on the first display area by the detecting means, the window corresponding to the selection area on the second display area. The second predetermined input may be an input by the one-click operation, a two-click operation, a downward-sliding operation, or the like. According to the information processing apparatus of the second invention, the user performs a second predetermined input on the selection area corresponding to the inactive window to thereby directly display the inactive window on the second display area, and can directly set the window to an operational inputable state, allowing a quick input. For example, it is extremely advantageous in a case that the content of the inactive window needs not to be confirmed. Accordingly, by performing a predetermined operation in the selection area of the second display area, even the inactive window can be displayed on the second display area so as to be set to an inputable state, capable of improving operability.
In one aspect, an information processing apparatus of the second invention further comprises a first display controlling means for displaying, when it is determined that a first predetermined input is performed within a selection area corresponding to a window displayed on the first display area or the window displayed on the forefront by said detecting means, the window corresponding to the selection area on the second display area. The first display controlling means is equivalent to the first display controlling means in the first invention, and displays, when it is determined that a first predetermined input is performed within a selection area corresponding to the active window of the first display area by the detecting means, the window corresponding to the selection area on the second display area. The first predetermined input is set so as to be different from the second predetermined input, for example, and in the embodiment, the first predetermined input is an input by a one-click operation, and the second predetermined input is an input by a two-click operation, a downward-sliding operation, or the like. In this case, by performing the first predetermined operation different from the second predetermined input within the selection area corresponding to the window displayed on the first display area, it is possible to display the window on the second display area through moving or copying or the like.
Also, in the above-described first and second invention, in one aspect, the detecting means detects an input to an arbitrary position of the second display area. The information processing apparatus further comprises a setting means (42, S181, S183, S241, S243) for setting, when a window is displayed on the second display area by the first display controlling means or the third display controlling means, the window to an inputable state from the detecting means. In the embodiment, when a tab number is stored in the lower screen windowtab storing area84, and the window corresponding to the stored tab number is displayed, the window is set to an inputable state. Accordingly, by performing a predetermined input on the selection area, it is possible to perform an input operation on the window displayed on the second display area.
In another aspect, an information processing apparatus comprises a fourth display controlling means for displaying, when it is determined that a predetermined input is performed within a selection area corresponding to the window displayed on the second display area, the window corresponding to the selection area of the forefront on the first display area.
More specifically, the fourth window controlling means (42,50,52,60, S185, S187, S215, S217) displays, when it is determined that a predetermined input is performed within a selection area corresponding to the window displayed on the second display area on the basis of the coordinates data detected by the coordinates detecting means, the window corresponding to the selection area of the forefront on the first display area. In this case, if an input operation to the window displayed on the second display area is not required, the window can be moved from the second display area to the first display area, capable of improving operability.
In the other aspect, the information processing apparatus further comprises a fifth display controlling means for displaying, in a case that the window is displayed on the second display area and when it is determined that other window is being displayed on the second display area, the other window on the forefront on the first display area.
More specifically, a fifth display controlling means (42,50,52,60, S165, S167, S175, S223, S225, S235) displays, in a case that the window is intended to be displayed on the second display area by the first display controlling means or the third display controlling means and when it is determined that other window is being displayed on the second display area, the other window on the forefront on the first display area. For more detail, for example, the storing means may include a first display area identification information storing means (82) for storing identification information of the window to be displayed on the first display area. The fifth display controlling means, when it is determined that other window is being displayed on the second display area (S165, S223), stores the identification information of the other window on the first display area identification information storing means (S167, S225), and displays the window to which the stored identification information is applied on the first display area (S175, S235). In this case, the window to be input from now and the window which has been an object to be operated by now are switched by only a predetermined input, capable of improving operability.
In one embodiment, the detecting means detects the predetermined input on the basis of the input data from a touch panel (22) which is not set on the first display area but set on the second display area. In this case, it is possible to operate it as if the player touches the selection area of the second display area, and similarly, it is possible to operate the window displayed on the second display area as if the player touches it. Accordingly, it is possible to control the window with an intuitive operation. Also, since the touch panel is an input means, a window as an operational object can be displayed on the second display area which exists within a range touchable by a user, that is, reachable by the user. Accordingly, it is possible to further improve operability.
In another aspect, the storing means stores data to display a basic input window (input window image data) to be displayed on the second display area, and the information processing apparatus further comprises a basic display controlling means (42,50,52,60, S189, S191, S193, S213, S219, S221, S277, S279, S281) for displaying the basic input window on the second display area when no window to be displayed on the second display area is present. Accordingly, in a case that no window to be displayed on the second display area out of the plurality of windows is present, the basic input window is displayed on the second display area, and therefore, it becomes possible to prompt the user to input, and to respond to an input operation required for the progress of the application, etc. Furthermore, this makes it possible for the user to smoothly perform an input operation without inhibiting the input operation by the user.
In the other aspect, an information processing apparatus comprises a generating means for, when a predetermined coordinates input is performed to the window displayed on the second display area, generating data to display a new window and data to display a new selection area, and storing the generated data in the storing means by bring them correspondence with each other, and a selection area display controlling means for displaying the selection area generated by the generating means on the second display area.
More specifically, the generating means (42, S49, S51, S101, S103, S105, S107, S109) generates data to display a new window and data to display a new selection area, and stores the generated data in the storing means by bringing them into correspondence with each other when a predetermined coordinates input is performed to the window displayed on the second display area. In the embodiment, when it is determined that an input is performed to the display position of the word of a search candidate window or the word in a dictionary window, dictionary window image data for explaining the word and a tab number corresponding to the window, and title image data of the tab are generated, and the tab data obtained by bringing them correspondence with each other are stored in the tabdata storing area80. The selection area display controlling means (42,50,52,60, S115, S117) displays the generated selection area on the second display area. Accordingly, by performing an input operation to the window, a new window and a selection area can be created, and therefore, the display of the new window can be controlled by a predetermined input to the selection area, capable of improving operability.
A information processing program of the third invention according to the present invention is an information processing program of an information processing apparatus comprising a storing means for storing data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows, and a display means for including a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner, and a second display area on which the plurality of selection areas are displayed. The information processing program causes a processor of the information processing apparatus to execute a detecting step and a first display controlling step. The detecting step detects an input to display positions of the plurality of selection areas. The first display controlling step displays, when it is determined that a first predetermined input is performed within a selection area corresponding to a window displayed on the first display area or a window displayed on a forefront by the detecting step, the window corresponding to the selection area on the second display area.
A storage medium storing an information processing program of a fourth invention according to the present invention is a storage medium storing an information processing program of an information processing apparatus comprises a storing means for storing data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows, and a display means for including a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner, and a second display area on which the plurality of selection areas are displayed. The information processing program of the storage medium causes a processor of the information processing apparatus to execute a detecting step and a first display controlling step. The detecting step detects an input to display positions of the plurality of selection areas. The first display controlling step displays, when it is determined that a first predetermined input is performed within a selection area corresponding to a window displayed on the first display area or a window displayed on a forefront by the detecting step, the window corresponding to the selection area on the second display area.
A window controlling method of a fifth invention according to the present invention is a window controlling method of an information processing apparatus comprising a storing means for storing data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows, and a display means for including a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner, and a second display area on which the plurality of selection areas are displayed. The window controlling method includes a detecting step, and a first display controlling step. The detecting step detects an input to display positions of the plurality of selection areas. The first display controlling step displays, when it is determined that a first predetermined input is performed within a selection area corresponding to a window displayed on the first display area or a window displayed on a forefront by the detecting step, the window corresponding to the selection area on the second display area.
An information processing program of a sixth invention according to the present invention is an information processing program of an information processing apparatus comprising a storing means for storing data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows, and a display means for including a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner, and a second display area on which the plurality of selection areas are displayed, and causes a processor of the information processing apparatus to execute a detecting step, and a third display controlling step. The detecting step detects an input to display positions of the plurality of selection areas. The third display controlling step displays, when it is determined that a second predetermined input is performed at a display position of a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on a forefront on the first display area by the detecting step, the window corresponding to the selection area on the second display area.
A storage medium storing an information processing program of a seventh invention according to the present invention is a storage medium storing an information processing program of an information processing apparatus comprising a storing means for storing data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows, and a display means for including a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner, and a second display area on which the plurality of selection areas are displayed. The information processing program of the storage medium causes a processor of the information processing apparatus to execute a detecting step, and a third display controlling step. The detecting step detects an input to display positions on the plurality of selection areas. The third display controlling step displays, when it is determined that a second predetermined input is performed at a display position of a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on the forefront on the first display area by the detecting step, the window corresponding to the selection area on the second display area.
A window controlling method of a eighth invention according to the present invention is a window controlling method of an information processing apparatus comprising a storing means for storing data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows, and a display means for including a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner, and a second display area on which the plurality of selection areas are displayed. The window controlling method includes a detecting step, and a third display controlling step. The detecting step detects an input to a display position of the plurality of selection areas. The third display controlling step displays, when it is determined that a second predetermined input is performed at a display position of a selection area corresponding to a window which is not displayed on the first display area and the second display area or a window a part of which is hidden under the window displayed on a forefront on the first display area by the detecting step, the window corresponding to the selection area on the second display area.
In these information processing programs, storage medium storing an information processing program, and window controlling method, also, it is possible to have an advantage similarly to the above-described information processing apparatus of the first or second invention.
An information processing apparatus of a ninth invention according to the present invention comprises a storing means, a display means, a detecting means, and a first display controlling means. The storing means stores data to display a plurality of windows and data to display a plurality of selection areas which are respectively corresponded to the plurality of windows. The display means includes a first display area on which only a predetermined window out of the plurality of windows is displayed or the plurality of windows are displayed in an overlapping manner, and a second display area on which the plurality of selection areas are displayed. The detecting means detects an input to display positions of the plurality of selection areas. The first display controlling means displays, when a predetermined input is performed within the selection area by the detecting means, the window corresponding to the selection area on the second display area. In the information processing apparatus, similarly to the above-described first or second invention, a predetermined operation is performed on the selection area corresponding to the window displayed on the first display area, the window displayed on the forefront on the first display area, the window which is not displayed on the first display area and the second display area, the window a part of which is hidden under the window displayed on the forefront on the first display area, or the like, and whereby, it is possible to display the window corresponding to the selection area on the second display area, capable of improving operability.
According to the present invention, the plurality of selection areas respectively corresponding to the plurality of windows are displayed on the second display area, and a predetermined input to the display position of the selection area is detected, and therefore, the user performs a predetermined input at a position of the selection area on the second display area by utilizing the input means, for example, to thereby control the corresponding window. More specifically, by performing a predetermined input within the selection area on the second display area, even a window displayed on the first display area or an inactive window can be displayed on the second display area so as to be set to an inputable state, capable of improving operability.
The above described objects and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is an appearance view showing one example of an information processing apparatus of one embodiment of the present invention.
FIG. 2 is a block diagram showing an electric configuration of the information processing apparatus ofFIG. 1 embodiment.
FIG. 3 is an illustrative view showing one example of a memory map of aRAM48 shown inFIG. 2.
FIG. 4 is an illustrative view showing one example of a content of a window image storing area.
FIG. 5 is an illustrative view showing one example of a content of window image data.
FIG. 6 is an illustrative view showing one example of a content of a tag data storing area.
FIG. 7 is an illustrative view showing one example of a display screen in a case that a character is input by handwriting on an input window to generate a search candidate window.
FIG. 8 is an illustrative view showing one example of a display screen in a case that the character input is completed inFIG. 7, and a search button is then selected to thereby generate a search candidate window.
FIG. 9 is an illustrative view showing one example of a display screen in a case that a tab corresponding to the search candidate window is selected inFIG. 8.
FIG. 10 is an illustrative view showing one example of a display screen in a case that a word of the search candidate window is selected to generate a dictionary window inFIG. 9.
FIG. 11 is an illustrative view showing one example of a display screen in a case that a tab corresponding to the dictionary window is selected inFIG. 10.
FIG. 12 is an illustrative view showing a manner in which the dictionary window and the search candidate window are switched in a case that the tab corresponding to the dictionary window is selected inFIG. 10.
FIG. 13 is an illustrative view showing one example of a display screen in a case that the tab corresponding to the dictionary window is selected inFIG. 11.
FIG. 14 is an illustrative view showing one example of the display screen in a case that a word in the dictionary window is selected inFIG. 11 to generate another dictionary window.
FIG. 15 is an illustrative view showing a concept of a window control in the information processing apparatus ofFIG. 1 embodiment.
FIG. 16 is an illustrative view showing one example of an outline of window control depending on the difference in operations when a tab corresponding to the inactive window is selected, in a case that an input window is displayed on the lower screen.
FIG. 17 is an illustrative view showing one example of an outline of window control depending on the difference in operations in a case that a moved window is displayed on the lower screen and when the tab corresponding to the inactive window is selected.
FIG. 18 is an illustrative view showing one example of an outline of window control in a case that the input window is displayed on the lower screen and when the tab corresponding to the active window on the upper screen is selected, andFIG. 18(A) shows a case that inactive window is activated on the upper screen, andFIG. 18(B) shows a case that a background image is displayed on the upper screen.
FIG. 19 is an illustrative view showing one example of an outline of window control in a case that the moved window is displayed on the lower screen, and when a tab corresponding to the window on the lower screen is selected.
FIG. 20 is an illustrative view showing one example of an outline of a selection by a gesture operation on the tab,FIG. 20(A) shows a downward-sliding operation, andFIG. 20(B) shows one example of a sliding operation to a right or left direction.
FIG. 21 is an illustrative view showing one example of an outline of window control when an operation for erasing the active window on the upper screen is present.
FIG. 22 is a flowchart showing one example of an operation of the information processing apparatus ofFIG. 1 embodiment.
FIG. 23 is a flowchart showing one example of an operation of a search process inFIG. 22.
FIG. 24 is a flowchart showing one example of an operation of a search candidate window generating process inFIG. 23.
FIG. 25 is a flowchart showing one example of an operation of a dictionary window generating process inFIG. 23.
FIG. 26 is a flowchart showing one example of an operation of a window displaying process inFIG. 22.
FIG. 27 is a flowchart showing a part of example of an operation of one-click process inFIG. 26.
FIG. 28 is a flowchart continued fromFIG. 27.
FIG. 29 is a flowchart showing a part of example of an operation of a two-click process inFIG. 26.
FIG. 30 is a flowchart continued fromFIG. 29.
FIG. 31 is a flowchart showing a part of example of an operation of an erasing process inFIG. 26.
FIG. 32 is a flowchart continued fromFIG. 31.
FIG. 33 is an illustrative view showing a modified example of a display screen where a plurality of windows are simultaneously displayed on the upper screen.
BEST MODE FOR PRACTICING THE INVENTION Referring toFIG. 1, aninformation processing apparatus10 of one embodiment of the present invention is realized as a form of a game apparatus as one example. It should be noted that theinformation processing apparatus10 may be a personal computer, other hand-held type computers, such as a PDA.
Thegame apparatus10 includes a first liquid crystal display (LCD)12 and asecond LCD14. TheLCD12 and theLCD14 are provided on ahousing16 so as to be arranged in a predetermined position. In this embodiment, thehousing16 comprises anupper housing16aand alower housing16b, and theLCD12 is provided on theupper housing16awhile theLCD14 is provided on thelower housing16b. Accordingly, theLCD12 and theLCD14 are closely arranged so as to be longitudinally (vertically) parallel with each other.
It is noted that although the LCD is utilized as a display in this embodiment, an EL (Electronic Luminescence) display and a plasma display may be used in place of the LCD.
As can be understood fromFIG. 1, theupper housing16ahas a plane shape little larger than a plane shape of theLCD12, and has an opening formed so as to expose a display surface of theLCD12 from one main surface thereof. On the other hand, thelower housing16bhas a plane shape horizontally longer than theupper housing16a, and has an opening formed so as to expose a display surface of theLCD14 at an approximately center of the horizontal direction. Furthermore, thelower housing16bis provided with asound emission hole18 and an operating switch20 (20a,20b,20c,20d,20e,20L and20R).
In addition, theupper housing16aand thelower housing16bare rotatably connected at a lower side (lower edge) of theupper housing16aand a part of an upper side (upper edge) of thelower housing16b. Accordingly, in a case of not playing a game, or not using an application, for example, if theupper housing16ais rotated to be folded such that the display surface of theLCD12 and the display surface of theLCD14 are face to face with each other, it is possible to prevent the display surface of theLCD12 and the display surface of theLCD14 from being damaged, such as a surface flaw, etc. It is should be noted that theupper housing16aand thelower housing16bare not rotatably connected with each other, but these are provided in an integrated (fixed) fashion to form thehousing16.
The operatingswitch20 includes a direction instructing switch (cross switch)20a, astart switch20b, aselect switch20c, an action switch (A button)20d, an action switch (B button)20e, an action switch (L button)20L, and an action switch (R button)20R. Theswitches20a,20band20care placed at the left of theLCD14 on the one main surface of thelower housing16b. Also, theswitches20dand20eare placed at the right of theLCD14 on the one main surface of thelower housing16b. Furthermore, theswitch20L and theswitch20R are placed in a part of an upper edge (top surface) of thelower housing16b, and lie of each side of the connected portion with theupper housing16a.
Thedirection instructing switch20a, for example, functions as a digital joystick. This makes it possible to instruct a moving direction of a player character (or player object) to be operated by a player, instruct a moving direction of a cursor, and so forth by operating at least any one of the four depression portions. Thestart switch20bis formed of a push button, and is utilized for starting (restarting), temporarily stopping (pausing) a game, and so forth. Theselect switch20cis formed of the push button, and utilized for a game mode selection, etc.
Theaction switch20d, that is, theA button20dis formed of the push button, and allows the player character to perform an arbitrary action except for instructing the direction such as hitting (punching), throwing, holding (obtaining), riding, jumping, etc. For example, in an action game, it is possible to apply an instruction of jumping, punching, moving arms, etc. In a role-playing game (RPG) and a simulation RPG, it is possible to apply an instruction of obtaining an item, selecting and determining arms or command, etc. Theaction switch20e, that is, theB button20eis formed of the push button, and is utilized for changing a game mode selected by theselect switch20c, canceling an action determined by theA button20d, and so forth.
Theaction switch20L (left depression button) and the action switch20R (right depression button) are formed of the push button, and the left depression button (L button)20L and the right depression button (R button)20R can be utilized for the same operation as theA button20dand theB button20e, or are also utilized for the subsidiary operation of theA button20dand theB button20e.
Thetouch panel22 is set on the top surface of theLCD14. As thetouch panel22, any one of a resistance film system, an optical system (infrared rays system), and an electrostatic capacitive coupling system, for example, can be utilized. Also, when being operated by depressing, stroking (touching) and so forth with astick24, a pen (stylus pen), or a finger (hereinafter referred to as “stick24 etc.”) on a top surface thereof, thetouch panel22 detects a coordinates position operated (touched) by thestick24, etc., and outputs coordinates data corresponding to the detected coordinates. That is, thetouch panel22 functions as an input means in the embodiment, and is for allowing a user (player) to input the input data to indicate an arbitrary position on the screen of the LCD14 (or LCD12).
It should be noted that in this embodiment, a resolution of the display surface of theLCD14 is 256 dots×192 dots (this is true for the LCD12), and the detection accuracy of thetouch panel22 is also rendered 256 dots×192 dots in correspondence to the resolution of the display surface. It should be noted that inFIG. 1, in order to simplify an understanding of thetouch panel22, thetouch panel22 is shown in a size different from that of theLCD14, but the size of the display screen of theLCD14 and the size of the operation panel of thetouch panel22 are the same in size. However, the detection accuracy of thetouch panel22 may be lower than the resolution of the display surface, or higher than it.
In this embodiment, for example, a screen to be viewed by the player is displayed on theLCD12, and a screen to be viewed and operated by the player in association with the screen of theLCD12 is displayed on theLCD14 with thetouch panel22 thereon. The screen displayed on theLCD14 includes an object, an icon, a tab, textual information, or the like to be operated (touched) with the stick or the like24. The player directly touches the object, etc. displayed on theLCD14 by operating thetouch panel22 with thestick24, etc., for example to thereby select or operate the object, etc. perform a coordinate input instruction, and so forth. Also, it is possible to perform other various input instructions depending on the kind of the game or application. For example, it is possible to select a command according to texture information, an icon, etc. to be displayed on the display screen of theLCD14, and instruct a scrolling (gradual movement display) direction of the game screen (map) displayed on theLCD12, or to input by handwriting.
Thus, thegame apparatus10 has theLCD12 and theLCD14 as a display portion of two screens, and thetouch panel22 is provided on either of the display screens (LCD14 in this embodiment), and therefore, thegame apparatus10 has the two screens (LCD12,14) and the two systems of the operating portions (20,22).
Furthermore, in this embodiment, thestick24 can be inserted into a housing portion (housing slot)26 provided on a side surface (right side surface) of theupper housing16a, for example, and taken out therefrom as necessary. It should be noted that in a case of preparing nostick24, thehousing portion26 needs not to be provided.
Also, thegame apparatus10 includes a memory card (or game cartridge)28 as an information storage medium. Thememory card28 is detachable, and inserted into aloading slot30 provided on a rear surface or a lower edge (bottom surface) of thelower housing16b. Although illustration is omitted inFIG. 1, a connector46 (seeFIG. 2) is provided at a depth portion of theloading slot30 for connecting a connector (not shown) provided at an end portion of thememory card28 in the loading direction. Therefore, when thememory card28 is loaded into theloading slot30, the connectors are connected with each other, and thememory card28 is accessible by a CPU core42 (seeFIG. 2) of thegame apparatus10.
It should be noted that although not illustrated inFIG. 1, a speaker32 (seeFIG. 2) is provided at a position corresponding to thesound emission hole18 inside thelower housing16b.
Furthermore although omitted inFIG. 1, a battery accommodating box is provided on a rear surface of thelower housing16b, for example. A power switch, a volume adjustment switch, an external expansion connector, an earphone jack, etc. are provided on a bottom surface of thelower housing16b.
FIG. 2 is a block diagram showing an electric configuration of thegame apparatus10. Referring toFIG. 2, thegame apparatus10 includes anelectronic circuit board40, and on theelectronic circuit board40, a circuit component such as theCPU core42, etc. is mounted. TheCPU core42 is connected to theconnector46 via abus44, and is also connected with aRAM48, a first Graphics Processing Unit (GPU)50, asecond GPU52, an input/output interface circuit (hereinafter, referred to as “I/F circuit”)54, and anLCD controller60.
Theconnector46 is detachably connected with thememory card28 as described above. Thememory card28 includes aROM28aand aRAM28b. Although illustration is omitted, theROM28aand theRAM28bare connected with each other via a bus, and also connected with a connector (not shown) to be connected with theconnector46. Accordingly, as described above, theCPU core42 gains access to theROM28aand theRAM28b.
TheROM28astores in advance an information processing program to cause thegame apparatus10 to function as the information processing apparatus according to the present invention. The information processing program is a program of an application to be executed, and is a game program when a game (virtual game) is executed, for example. Furthermore, an image (character image, background image, item image, message image, etc.) data and sound or music data (sound data), etc. required to execute the application are stored in advance. The RAM (backup RAM)28bstores (saves) proceeding data, result data of the application, the game, etc.
TheRAM48 is utilized as a buffer memory or a working memory. That is, theCPU core42 loads the information processing program, the image data, the sound data, etc. stored in theROM28aof thememory card28 into theRAM48, and executes the loaded information processing program. Furthermore, theCPU core42 executes the information process while storing in a work area and a predetermined area of theRAM48 data temporarily produced (generated) in correspondence with progress of the process according to the information processing program.
It should be noted that such the information processing program, the image data, the sound data, etc. are read from theROM28aentirely at a time, or partially and sequentially as necessary so as to be stored into theRAM48.
Each of theGPU50 and theGPU52 forms a part of a rendering means, is constructed by, for example, a single chip ASIC, and receives a graphics command (construction command) from theCPU core42 to generate image data for displaying according to the graphics command. Here, theCPU core42 applies to each of theGPU50 and theGPU52 an image generating program (included in the information processing program) necessary for generating the image data for display in addition to the graphics command.
It should be noted that data (image data: a polygon, a texture, etc.) necessary for executing the graphics command is obtained through the access to theRAM48 by theGPU50 orGPU52. TheGPU50 and theGPU52 may store the created data in theRAM48.
Also, theGPU50 is connected to a first video RAM (hereinafter, referred to as “VRAM”)56, and theGPU52 is connected to asecond VRAM58. TheGPU50 renders the image data for display in theVRAM56, and theGPU52 renders the image data for display in theVRAM58. TheVRAM56 and theVRAM58 are a line buffer, for example, or may employ a frame buffer.
TheVRAM56 and theVRAM58 are connected to theLCD controller60. TheLCD controller60 includes aregister62. Theregister62 is configured with one bit, for example, and stores a value (data value) of “0” or “1” according to an instruction of theCPU core42. TheLCD controller60 outputs the image data of theVRAM56 to theLCD12, and outputs the image data of theVRAM58 to theLCD14 in a case that the data value of theregister62 is “0”. Furthermore, theLCD controller60 outputs the image data of theVRAM56 to theLCD14, and outputs the image data of theVRAM58 to theLCD12 in a case that the data value of theregister62 is “1”.
It should be noted that theLCD controller60 can directly read the image data from theVRAM56 and theVRAM58, or read the image data from theVRAM56 andVRAM58 via theGPU50 andGPU52. Also, theVRAM56 and theVRAM58 may be provided in theRAM48.
The I/F circuit54 is connected with the operatingswitch20, thetouch panel22, and thespeaker32. Here, the operatingswitch20 is the above-describedswitches20a,20b,20c,20d,20e,20L and20R. When the operatingswitch20 is operated, a corresponding operation signal (operation data) is input to theCPU core42 via the I/F circuit54. Furthermore, the operation input data (coordinate data) output from thetouch panel22 is input to theCPU core42 via the I/F circuit54. In addition, theCPU core42 reads the sound data necessary for the game, such as a game music (BGM), a sound effect, voices (onomatopoeic sound) of the game character, etc. from theRAM48, and outputs the sound from thespeaker32 via the I/F circuit54.
FIG. 3 shows one example of a memory map of theRAM48. The memory map includes aprogram storage area70 and adata storage area72. In theprogram storage area70, an information processing program is loaded from theROM28aof thememory card28. TheCPU core42 operates according to the information processing program, and causes thegame apparatus10 to function as theinformation processing apparatus10 according to the present invention.
In thedata storage area72, data of theROM28aand data generated or obtained according to an operation of theCPU core42 are stored. Thedata storage area72 includes a touch inputdata storing area74, a coordinates pointline storing area76, a windowimage storing area78, a tabdata storing area80, an upper screen window tabnumber storing area82, a lower screen window tabnumber storing area84, a tab positiondata storing area86, a dictionarydata storing area88, etc. It should be noted that data to be stored is partly shown inFIG. 3, but other data required for an image processing is also stored.
In the touch inputdata storing area74, touch input data obtained from thetouch panel22 via the I/F circuit54 is stored. More specifically, coordinates data indicative of an instructed position by the operation via thetouch panel22 detected from the obtained data is stored. In thisstorage area74, the coordinates data of the predetermined number of frames (one frame is equal to 1/60 second) is stored.
In the coordinates pointline storing area76, a history of the coordinates data detected when a handwriting input is performed on an input window, that is, an input coordinates point line or track is stored. The input window is a window to which a user input a word by handwriting with thestick24, etc. when the word is searched in a dictionary application of the embodiment. The recognition of the character input by handwriting is performed on the basis of the coordinates point line data.
In the windowimage storing area78, data relating to the window image is stored. For example, as shown inFIG. 4, each window image data is stored in correspondence to the data indicative of an initial address of the data. Each window is displayed on the basis of the data in the windowimage storing area78. InFIG. 4, an input window image, a search candidate window image, a mineral water window image, a mineral salts window image as one example of the dictionary window image, etc. are stored.
As shown inFIG. 5, the input window image data includes position data indicative of a display position or area of a search button, an all-erase button, and a handwriting input area within the input window. Also included are image data for each button and input area, and image data based on the input coordinates point line when a handwriting input is performed. It should be noted that data for displaying an initial state of the window is stored in advance in theROM28a.
The search candidate window is a window for displaying a word (dictionary item or entry word) matched with the character input in the input window as a search candidate. In a case that a plurality of search candidate windows are generated, a plurality of pieces of search candidate window image data are stored. The search candidate window image data includes image data for each search candidate, and position data (coordinates data) indicative of a display position or range (area) of each search candidate.
The dictionary window is a window for displaying an interpretation or explanation of reading, meaning, derivation, examples, etc. as to an item selected via the search candidate window. If the plurality of dictionary windows are generated, the plurality of pieces of dictionary window image data are stored. The dictionary window image data includes position data indicative of the display position, range, or the like of each word utilized in the interpretation along with the image data of the interpretation or explanation.
Returning toFIG. 3, in the tabdata storing area80, data relating to tabs each corresponding to the search candidate window and the dictionary window are stored. The tab is generated when a window is generated and displayed on theLCD14. The tab is an image for selecting a corresponding window. That is, a touch operation of a display position or area of the tab allows selection of a corresponding window. It should be noted that in this embodiment, the input window is a special window to be displayed on the lower screen in an initial state, and is not provided with a tab corresponding to the input window.
As shown inFIG. 6, in the tab data storing area, a title image data, a window image of an initial address, etc. are stored in correspondence with the tab number. The tab number is numbered consecutively from1, for example, every time that window is generated anew. Also, when a window is erased, the tab numbers of the rest of the windows are updated to be numbered consecutively. The tab and the window are one to one correspondence, and the tab number is an identification number of the tab, and corresponds to an identification number of the window. The title image data is image data for displaying a name of the tab in the tab. InFIG. 6 example, thetab number1 is a tab corresponding to the search candidate window, and stores image data representing the word by characters as the title image data. Thetab number2 is a tab corresponding to the dictionary window of a word called mineral water, and stores image data representing the word by characters as the title image data. Thetab number3 is a tab corresponding to the dictionary window of a word called mineral salts, and stories image data representing a search candidate by characters as the title image data. The title image data of each word is obtained from the dictionary data. It should be noted that the title image data of the search candidate may be stored in theROM28ain advance. Also, the data indicative of an initial address of the window image is an initial address of the window image data corresponding to the tab, and on the basis of the data, the window corresponding to the tab can be specified.
Returning toFIG. 3, in the upper screen window tabnumber storing area82, a tab number of the tab corresponding to the window displayed on the upper screen, that is, theLCD12 in an active state is stored. In this embodiment, on theLCD12, only the window in active state is displayed, and the window in inactive state is not displayed. Furthermore, on theLCD12 of this embodiment, thetouch panel22 as an input means is not provided, and therefore, the active state of the upper screen means that the window is displayed on the forefront. It should be noted that 0 (zero), NULL, or the like, for example, is stored as an initial value, and in this case, a window is not displayed on theLCD12, and a background image is displayed.
In the lower screen window tabnumber storing area84, a tab number of the tab corresponding to the window to be displayed on the lower screen, that is, theLCD14 is stored. In this embodiment, on theLCD14, only the active window is displayed, and the inactive window is not displayed. In addition, thetouch panel22 as an input means is provided on theLCD14, and therefore, the active state on the lower screen means that the window is displayed on the forefront, and is set to a state such that an input or an operation by thetouch panel22 can be made. It should be noted that 0 (zero) or NULL, or the like, for example, is stored as an initial value, and in this case, an input window is displayed on theLCD14.
In the tab positiondata storing area86, position data (coordinates data) indicative of the display position or range, etc. of the generated tab is stored. With reference to the data in thestorage area86, the tab selected by the user can be specified. It should be noted that the display position or range, and etc. of the tab may be fixedly decided in advance depending on the number of tabs, for example, or may be set as necessary depending on the number of generated tabs, the number of characters on the title image or the like.
Additionally, the number of displayable tabs (that is, the number of generable windows) may be restricted to a predetermined number. In this case, when the window will be generated equal to or more than a limit value, a message, “Unable to generate window due to a lot of windows” may be displayed. The more the number of tabs is, the smaller the display area (width) of the tab is, and the smaller the number of characters of the title displayed on the tab is. Therefore, if the characters of the title do not fit in the tab, for example, the title can be displayed by applying an elision mark (“ . . . ”, etc.) to the first several characters in the title.
In the dictionarydata storing area88, dictionary data for the dictionary application in this embodiment is stored. In the dictionary data, each data (text data, etc.) of reading, explanation, etc. is stored by being corresponded with each word (item).
In theinformation processing apparatus10, a window control is performed among a plurality of display areas (tow screens of theLCD12 and theLCD14 in this embodiment) by a user making a window control. In this embodiment, a description is made on a case that a window control is applied to the execution of a dictionary application as one example. It should be noted that this may be applied, when a plurality of applications are simultaneously activated, to control windows respectively corresponding to the applications.
FIG. 7 shows one example of the display screen when a character to be searched with a dictionary is input. On the lower screen displayed on theLCD14, aninput window100 is displayed in an active state. On the other hand, on the upper screen displayed on theLCD12, a background image is displayed in an initial state.
On the input window, acharacter input area102, asearch button104, and an all-erasebutton106 are provided in predetermined positions. Thecharacter input area102 is an area for allowing a user to manually input the word which the user wants to search by utilizing thestick24, etc. The touch input data to thecharacter input area102 is stored in the coordinates pointline storing area76. In thecharacter input area102, pixels corresponding to the position touched by the user, that is, the stored coordinates points line is drawn by a color different from that of thecharacter input area102. InFIG. 7, “mineraru” (in Japanese in hiragana: mineral) is input. Thesearch button104 is for instructing search of the input character. The all-erasebutton106 is a button for erasing the characters input and drawn in thecharacter input area102.
It should be noted that the window generally means a specific display area divided by a frame, but inFIG. 7, the line denoting the frame is omitted in theinput window100. Also, the frame of the window need not be displayed on the screen necessarily.
Furthermore, aninput button108 is formed in a predetermined position on the lower screen. Theinput button108 is for displaying theinput window100 on the forefront of the lower screen, that is, making it in an active state.
When a character is input to thecharacter input area102 of theinput window100, and a next character is started to be input, the character which has been input at that time is automatically recognized. For example, if no input is kept for a fixed period of time (after a lapse of the fixed period of time from the detection of the touch-off without detecting a touch-on), it is determined that a next character input is present.
Then, asearch candidate window110 for displaying a search candidate corresponding to recognition result is displayed on the upper screen in an active state. InFIG. 7, the word “mineraru” (in Japanese in katakana: mineral) is searched from the dictionary data as a search candidate, and displayed within thesearch candidate window100. Also, thetab112 corresponding to the generatedsearch candidate window110 is displayed above theinput window100, for example, on the lower screen. The user can select thesearch candidate window110 by performing a predetermined operation on thetab112 displaying the title “search candidate” with thestick24, etc. It should be noted that on the upper screen, at the center of the upper edge portion of the background image, the character “search candidate” indicative of display of thesearch candidate window110 is displayed, and at the lower edge portion of the background image, a message, “touch tab and you can move to lower screen”, for example, is displayed.
More specifically, when it is determined a next character input is present, character recognition is performed from the recorded coordinates point line, and a word corresponding to the recognition result is searched from the dictionary data. Then, search candidate window image data (seeFIG. 4 andFIG. 5) including the word of the search candidate is generated. Also, tab data (seeFIG. 6) and tab position data of thetab112 corresponding to the generatedsearch candidate window110 is generated. Then, in the upper screen window tabnumber storing area82, a tab number of the tab corresponding to the generatedsearch candidate window110 is stored. Thus, on the upper screen, thesearch candidate window110 is displayed, and on the lower screen, thetab112 of the search candidate is displayed along with theinput window100, etc.
FIG. 8 shows one example of the display screen when the character input is completed afterFIG. 7, and thesearch button104 is then selected. When thesearch button104 is selected, character recognition of the input character is started, and a search candidate corresponding to the result is displayed in thesearch candidate window110. InFIG. 8, “mineraru wootaa” (in Japanese in hiragana: mineral water) is input and thesearch button104 is then selected, and therefore, thesearch candidate window110 to which the word “mineraru wootaa” (in Japanese in katakana: mineral water) is added as a search candidate is generated, and displayed in an active state on the upper screen.
FIG. 9 shows one example of the display screen in a case that thetab112 of the search candidate is selected inFIG. 8. In a case that thesearch candidate window110 is displayed in an active state on the upper screen, when thetab112 of the search candidate is selected with thestick24, etc., thesearch candidate window110 is displayed in an active state on the lower screen. More specifically, when it is determined that a display position of thetab112 of the search candidate is instructed with one click, for example, on the basis of the detected touch input data, the tab number of thetab112 of the search candidate is stored in the lower screen window tabnumber storing area84, and the correspondingsearch candidate window110 is thus displayed on the lower screen.
It should be noted that thetab112 corresponding to thesearch candidate window110 is displayed in a manner different in size, color, etc. from a case the lower screen is hidden. This shows that a corresponding window is displayed on the lower screen in an active state. InFIG. 9 example, thetab112 is made large in size, and thetab112 is displayed so as to be brought into contact with thesearch candidate window110.
On the other hand, on the upper screen, an inactive window is absent, and therefore, the upper screen window tabnumber storing area82 is cleared, and a background image including a message, “touch tab again, and you can return to upper screen”, for example, is displayed.
When thesearch candidate window110 is displayed on the lower screen, an input or an operation via thetouch panel22 is possible with respect to thesearch candidate window110. In this embodiment, by touching the word of the search candidate in thesearch candidate window110 with thestick24, etc., it is possible to search the word. Accordingly, in a case that the user wants to operate thesearch candidate window110, thetab112 corresponding to thesearch candidate window110 is merely selected.
FIG. 10 shows one example of the display screen in a case that a word of thesearch candidate window110 is selected inFIG. 9. When a word is selected in thesearch candidate window110, adictionary window114 displaying an interpretation or explanation of the word is displayed on upper screen in an active state. InFIG. 10, since the “mineraru wootaa” is selected, thedictionary window114 including an interpretation of the “Mineral water”, such as “drinkable natural water, and ground water containing relatively a large amount of mineral salts, such as calcium, magnesium, etc., or natural water to which mineral salts are artificially added” is displayed. It should be noted that a message, “touch tab, and you can move to lower screen” is displayed again on the background image of the upper screen. On the other hand, atab116 corresponding to the generateddictionary window114 is displayed on the lower screen. InFIG. 10, thetab116 corresponds to thedictionary window114 of the word “mineraru wootaa”, and therefore, the title of the “mineraru wootaa” is displayed on thetab116.
More specifically, when it is determined that the word of the search candidate is selected on the basis of the touch input data and the search candidate position data, the dictionary window image data (seeFIG. 4 andFIG. 5) including an explanation of the word is generated on the basis of the dictionary data. Furthermore, the tab data (seeFIG. 6) and the tab position data to which data relating to thetab116 corresponding to the generateddictionary window114 is added are generated. Then, in the upper screen window tabnumber storing area82, a number of the tab corresponding to the generateddictionary window114 is stored. Thus, thedictionary window114 is displayed on the upper screen, and thetab116 of the mineral water in addition to thesearch candidate window110, thetab112 of the search candidate, etc. are displayed on the lower screen.
FIG. 11 shows one example of the display screen in a case that thetab116 corresponding to thedictionary window114 is selected inFIG. 10. In a case that thedictionary window114 is displayed on the upper screen in an active state, and thesearch candidate window110 is displayed on the lower screen in an active state, if thetab116 corresponding to thedictionary window114 is selected, the windows are switched between the upper screen and the lower screen. That is, thesearch candidate window110 is displayed on the upper screen in an active state, and the selecteddictionary window114 is displayed in an active state on the lower screen. Also, thetab116 corresponding to the selecteddictionary window116 is displayed with a form indicative of an active state.
It should be noted that if the windows in the active state are switched between the upper and lower screens, the window may be displayed so as to gradually move to a next display position as shown inFIG. 12.FIG. 12 shows thatdictionary window114 on the upper screen is gradually moved to the display position on the lower screen, and thesearch candidate window110 on the lower screen is gradually moved to the display position on the upper screen. In a case that the windows are overlapped with each other, any one of the windows (window which was in an active state on the upper screen in this embodiment) is displayed on the forefront. Also, in a case that the selected window is moved from the upper screen to the lower screen (seeFIG. 9), or if it is moved from the lower screen to the upper screen (seeFIG. 13), the window may similarly be displayed so as to be gradually moved to a next display position. By producing such a gradually movement, it is possible to make the user feel as if the window actually moves between the upper and lower screens.
When thedictionary window114 is displayed in an active state on the lower screen as shown inFIG. 11, an input or an operation to thedictionary window114 via thetouch panel22 becomes possible. In this embodiment, by touching the word in the explanation within thedictionary window114 with thestick24, etc., it is possible to search the word. Accordingly, if the user wants to operate thedictionary window114, thetab116 corresponding todictionary window114 is merely selected inFIG. 10.
It should be noted that in a case that thetab116 corresponding to thedictionary window114 displayed on the lower screen in an active state is selected inFIG. 11, thedictionary window114 is displayed on the upper screen as shown inFIG. 13. Thesearch candidate window110 which was displayed on the upper screen is set to an inactive state. Furthermore, theinput window100 is displayed on the lower screen.
FIG. 14 shows one example of the display screen in a case that the word in thedictionary window114 is selected inFIG. 11. When a word in the explanation of thedictionary window114 is selected with thestick24, etc., thedictionary window118 of the word is displayed on the upper screen in an active state. It should be noted that thesearch candidate window110 which was displayed on the upper screen is set to an inactive state. InFIG. 14, the word “mineral salts” is selected, and therefore, thedictionary window118 including the explanation of the “mineral salts”, such as “Salt obtained by substituting the hydrogen of inorganic acid for metal. Sodium chloride, calcium carbonate, etc.” is generated. On the other hand, thetab120 corresponding to the generateddictionary window118 is displayed on the lower screen. InFIG. 14, thetab120 corresponds to thedictionary window118 of the word “mineral salts”, and therefore, the title “mineral salts” is displayed on thetab120.
More specifically, when it is determined that the word in the explanation is selected on the basis of the touch input data and the word position data, the dictionary window image data (seeFIG. 4 andFIG. 5) including an interpretation or explanation of the word is generated on the basis of the dictionary data. Also, the tab data (seeFIG. 6) and the tab position data to which the data relating to thetab120 corresponding to the generateddictionary window118 is added are generated. Then, in the upper screen window tabnumber storing area82, the tab number corresponding to the generateddictionary window118 is stored. Thus, on the upper screen, thedictionary window118 is displayed, and on the lower screen, thetab120 of the mineral salts is displayed in addition to thedictionary window114, thetab112 of the search candidate, thetab116 of the mineral water, etc.
InFIG. 15, a concept of the window control in the embodiment is illustrated. On the upper screen (first display area or first display portion), a plurality of windows are created. On the upper screen, only one window is set to an active state (that is, displayed), and other windows are set to an inactive state. It should be noted that in this embodiment, only the window in the active state is displayed on the screen, and the window in the inactive state is not displayed on the screen. The window to be displayed is a predetermined window on the forefront in depth, for example.
On the other hand, to the lower screen (second display area or second display portion) to which a position can be input and specified by a pointing device, such as atouch panel22, a tab corresponding to each window is provided. It should be noted that the input window is a default window on the lower screen, and is not moved to the upper screen, and therefore the corresponding tab is not provided thereto.
The tab is a selection area for selecting a corresponding window. By performing a predetermined input operation on the tab by utilizing a pointing device, the user can select a corresponding window, and control the movement and the display, etc. of the window. It should be noted that although in this embodiment, the selection area is displayed by utilizing a tab being connected to the window in order to simplify an understanding of the correspondence, this may be a button, an icon, or the like.
When the tab corresponding to the active window on the upper screen is selected, the selected window is moved to the lower screen so as to be displayed. The window moved to the lower screen is represented as a moved window. As to the lower screen, in a case that the moved window is present, the moved window is displayed in an active state, and in case that the moved window is absent, the input window is displayed in an active state. In a case that the window is moved from the upper screen to the lower screen, when another moved window has already been displayed on the lower screen, this window is moved to the upper screen, and displayed as an active window on the upper screen. On the other hand, in a case that the window is moved from the upper screen to the lower screen, when the input window is being displayed on the lower screen, the window corresponding to the highest tab number out of the inactive windows is displayed on the upper screen in an active state. That is, the window generated last is displayed.
In addition, in a case that the tab corresponding to the inactive window is selected, a different control is performed according to an operation. When the tab is selected with a one-click operation, for example, the selected window is displayed on the upper screen in the active state. On the other hand, when the tab is selected with a two-click operation, for example, the selected window is displayed on the lower screen in the active state.
Also, when the tab corresponding to the moved window on the lower screen is selected, the selected window is moved to the upper screen, and displayed in the active state. Thus, in a case that no window to be displayed on the lower screen is present, an input window as a basic input window is displayed on the lower screen. Accordingly, in a case of no window to be displayed on the lower screen out of the plurality of windows, the input window is displayed on the lower screen. This makes it possible to prompt the user to input, and to correspond to an input operation required for the progress of the application, etc. Furthermore, this makes it possible for the user to smoothly perform an input operation without inhibiting an input operation by the user.
FIG. 16 toFIG. 19 specifically show an outline of the window control according to such a tab selection.
FIG. 16 shows an outline of the window control when the tab corresponding to the inactive window is selected in a case that the input window is displayed on the lower screen. When the tab corresponding to theinactive window2 is selected with one touch (one-click) operation, thewindow2 is displayed on the upper screen in an active state, and thewindow1 is set to the inactive state. Then, when the tab of thewindow2 is selected with one- or two-click operation, thewindow2 is moved to the lower screen and displayed in the active state, and thewindow1 is displayed in the active state on the upper screen. That is, when a tab corresponding to the window displayed in the forefront is selected on the upper screen with one or two-click operation, it is determined that the window is an object to be operated, and the window is displayed on the lower screen so as to allow an operation input.
On the other hand, when the tab corresponding to aninactive window2 is selected with a two-continuous-touching (two click) operation, it is determined that the window is an object to be operated, and thewindow2 is directly moved to the lower screen to be displayed, and allows an operation input. The display on the upper screen remains to be theactive window1. Thus, by performing a simple predetermined operation (two clicks, for example) on the tab corresponding to theinactive window2, it is possible to directly display the window on the lower screen in the active state.
In this case, by utilizing different selection operations with respect to the tab corresponding to theinactive window2, it is possible to change the route until the operation of thewindow2. For example, by selecting the tab with one click, the user can temporarily display thewindow2 on the upper screen to determine whether or not the operation is required by confirming the content of thewindow2 in advance. On the other hand, in a case that there is no need to confirm the content before operating thewindow2, and so forth, by selecting the tab with two clicks, thewindow2 can be directly displayed on the lower screen to allow an operation on thewindow2 to be instantly started. Accordingly, it is possible to improve operability.
FIG. 17 shows an outline of the control in a case that the movedwindow1 is displayed on the lower screen in contrast toFIG. 16 and when the tab corresponding to the inactive window is selected. When the tab corresponding to theinactive window2 is selected with one-touch (one-click) operation, thewindow2 is displayed on the upper screen in an active state, and awindow3 which was in the active state is set to the inactive state. Then, in a case that the tab of thewindow2 is selected with one or two-click operation, thewindow2 is moved to the lower screen to be displayed in the active state. Thewindow1 which was displayed on the lower screen is moved to the upper screen so as to be displayed.
On the other hand, when the tab corresponding to theinactive window2 is selected with a two-continuous-touch (two-click) operation, thewindow2 is directly moved to the lower screen and displayed. On the upper screen, thewindow1 which was displayed on the lower screen is displayed in the active state. Thus, by performing a simple predetermined operation (2 clicks, for example) on the tab corresponding to theinactive window2, the window can directly be switched by the moved window on the lower screen so as to be displayed. Accordingly, similarly toFIG. 16, it is possible to improve operability.
FIG. 18 shows an outline of the control in a case that the input window is displayed on the lower screen and when the tab corresponding to the active window on the upper screen is selected.FIG. 18(A) shows a case that a plurality of windows1-3 are created on the upper screen. When the tab corresponding to theactive window1 on the upper screen is selected with 1 or 2 clicks, it is determined that thewindow1 becomes an object to be operated, and it moved to the lower screen so as to be displayed in an active state. On the other hand, the window (window3 inFIG. 18(A)) corresponding to the tab having the highest tab number out of the inactive windows is displayed on the upper screen in the active state.
In addition,FIG. 18(B) shows a case that only the onewindow1 is created on the upper screen. When the tab corresponding to thewindow1 is selected with one or two clicks, it is determined that thewindow1 becomes an object to be operated, and it is moved to the lower screen so as to be displayed in an active state. On the other hand, as to the upper screen, no inactive window is present, and therefore, a background image is displayed on the upper screen. It should be noted that in a case that a moved window is displayed on the lower screen, when the active window on the upper screen is selected, the window which was displayed on the lower screen is moved and displayed on the upper screen (see a shift from upper right to lower right inFIG. 17).
FIG. 19 shows an outline of the control when the tab corresponding to the active window (moved window) on the lower screen is selected. When the tab corresponding to the movedwindow1 on the lower screen is selected with one or two clicks, it is determined that thewindow1 is not an object to be operated, and it is moved to the upper screen so as to be displayed in the active state. On the other hand, the input window is displayed on the lower screen. It should be noted thatFIG. 19 shows a case that thewindows2 and3 are present on the upper screen, but the same is true for a case that a background image is displayed on the upper screen.
FIG. 20 shows one example of a gesture operation on the tab.FIG. 20(A) shows a scene where a sliding operation is downwardly performed with thestick24, etc. on thetouch panel22. When it is determined that the downward-sliding operation is performed on the tab, in this embodiment, a process the same as that in the case of the two continuous touches (2 clicks) is executed. Accordingly, when a downward-sliding operation is performed on the tab corresponding to the inactive window, the window is directly displayed on the lower screen similarly to the two-click operation shown inFIG. 16 andFIG. 17. Therefore, similarly to the above-described one click or two-click operation, it is possible to control the movement and display of the window with a simple gesture operation, capable of improving operability.
Also,FIG. 20(B) shows a scene where a sliding operation is performed in the left direction or the right direction with thestick24, etc. on thetouch panel22. When it is determined that the sliding operation in the left or right direction is performed on the tab, an erasing (closing) process of the corresponding window is executed in this embodiment. Accordingly, in this case also, similarly to each of the above-described operations, it is possible to control erasure of the window with a simple gesture operation, capable of improving operability.
It should be noted that the predetermined operation, such as the above-described one click operation, two-click operation, downward-sliding operation, sliding operation in the left to right or right to left direction, and correspondences between these predetermined operations and the window control process are one example, and may be changed to other operations and other correspondences as necessary. For example, when the tab is continued to be pushed for a fixed period of time and more, the corresponding window may be erased.
FIG. 21 shows an outline of window control in a case that an active window is erased on the upper screen. When an operation for instructing erasure (sliding operation from left to right or right to left direction in this embodiment) is performed on the tab corresponding towindow1 in the active state on the upper screen, thewindow1 and the corresponding tab are erased. More specifically, data of thewindow1 is erased from the windowimage storing area78, and the tab data is erased from the tabdata storing area80. Then, since missing numbers may occur as to the serial tab number, the tab number is reset as required, and the tab data is updated. Thus, the tab number having the highest number is applied to the tab number of the window which is generated anew. More specifically, when the tab number higher than the erased tab number is present, the tab number is subtracted by 1 to reset the tab number. InFIG. 21, since thewindow1 with thetab number1 is erased, thewindow3 with thetab number3 is updated to thewindow2 with thetab number2, and thewindow2 with thetab number2 is updated to thewindow1 with thetab number1. Then, the highest tab number out of the inactive windows is detected, and the highest tab number is stored in the upper screen window tabnumber storing area82. Thus, the window corresponding to the highest tab number is displayed on the upper screen. In addition, the tab position data is also updated, and the tabs corresponding to the rest of the windows are displayed in the updated display position on the lower screen. It should be noted that in a case that the highest tab number is not detected, that is, in a case that no inactive window remains, a background image is displayed on the upper screen.
It should be noted that although not illustrated, in a case that an erasing operation is performed on the tab corresponding to the inactive window, the active window is displayed on the upper screen as it is. It should be noted that the window image data, the tab data, and the tab position data are updated in a similar way as described above. If the tab number of the active window on the upper screen is reset, the reset tab number is written to the upper screen window tabnumber storing area82.
Furthermore, in a case that an erasing operation is performed on the tab corresponding to the moved window on the lower screen, the lower screen window tabnumber storing area84 is cleared, and an input window is displayed on the lower screen. The upper screen is displayed as it is. It should be noted that as described above, the window image data, the tab data, and the tab position data are updated in a similar way as described above, and the upper screen window tabnumber storing area82 is also updated as necessary.
It should be noted that in this embodiment, when the active window is erased, the window having the highest tab number, that is, the window generated last is displayed. However, when the active window is erased by recording, window display history data in advance the window which has been displayed directly before may be displayed.
FIG. 22 shows one example of an operation of theinformation processing apparatus10. When starting the process, theCPU core42 displays an input window on the lower screen in a step S1. More specifically, theCPU core42 generates image data of the input window in the VRAM56 (or VRAM58) by utilizing the GPU50 (or GPU52) on the basis of the input window image data of the initial state in the windowimage storing area78. TheLCD controller60 outputs to theLCD14 the image data stored in the VRAM56 (or VRAM58) according to an instruction from theCPU core42, and displays the image on theLCD14. Furthermore, in a step S3, theCPU core42 displays a background image on the upper screen. More specifically, theCPU core42 generates image data of the background image in the VRAM58 (or VRAM56) by utilizing the GPU52 (or GPU50) on the basis of the data for displaying the background image in the data storage area, and displays the background image on theLCD12 by utilizing theLCD controller60.
Next, in a step S5, theCPU core42 detects a continuous touch input. More specifically, theCPU core42 stores coordinates data output from thetouch panel22 via the I/F circuit54 in the touch inputdata storing area74. For example, the coordinates data of the continuous predetermined number of frames (one frame is 1/60 seconds) is detected and stored in thestorage area74.
Subsequently, in a step S7, theCPU core42 determines whether or not an input to the tab is present on the basis of the touch input data and the tab position data. That is, it is determined whether or not the coordinates of the touch input data is included in the coordinates indicative of the display position or range of the tab of the tab position data. If “YES” in the step S7, theCPU core42 executes a window displaying process in a step S9. The operation of the window displaying process is shown in detail inFIG. 26 described later.
On the other hand, if “NO” in the step S7, theCPU core42 determines whether or not another input is present on the basis of the touch input data in a step S11. If “YES” in the step S11, that is, if a touch input except for the tab position is present, theCPU core42 executes a search process in a step S13. The operation of the search process is shown in detail inFIG. 23 described later.
Also, if “NO” in the step S11, that is, if no touch input is present, the process directly proceeds to a step S15. After the completion of the step S9 or step S13, the process proceeds to the step S15.
In the step S15, theCPU core42 determines whether or not the process is to be ended on the basis of the touch input data, for example. If “NO” in the step S15, the process returns to the step S5, and if “YES”, the process is ended.
FIG. 23 shows one example of an operation of the search process in the step S13 (FIG. 22). In a first step S31 inFIG. 23, theCPU core42 compares the touch input coordinates with the coordinates of the window displayed on the lower screen. More specifically, a window which is being displayed on the lower screen is specified on the basis of the data in the lower screen window tabnumber storing area84, and the coordinates to be compared included in the window image data of the window is referred. For the input window, with reference to search button position data, all-erase button position data, handwriting input position data, and it is determined the coordinates indicated by the touch input data is included in them. For the search candidate window, with reference to each of the search candidate position data, it is determined whether or not the coordinates indicated by the touch input data is included in them. For the dictionary window, with reference to each word position data, it is determined whether or not the coordinates indicated by the touch input data is included them.
In a step S33, theCPU core42 determines whether or not the instructed coordinates is the coordinates of the all-erasebutton106. If “YES” in the step S33, theCPU core42 clears the coordinates pointline storing area76, and clears the image data of the input character from the input window image data to erase the display of the input character in thecharacter input area102 in a step S35. If “NO” in the step S33, or after completion of the step S35, the process proceeds to a step S37.
In the step S37, theCPU core42 determines whether or not the instructed coordinates is the coordinates of thesearch button104, and if “YES”, the process proceeds to a step S45.
On the other hand, if “NO” in the step S37, theCPU core42 determines whether or not the instructed coordinates is the coordinates of thehandwriting input area102 in a step S39. If “YES” in the step S39, theCPU core42 records the coordinates point line in a step S41. More specifically, the coordinates data of thehandwriting input area102 stored in the touch inputdata storing area74 is stored in the coordinates pointline storing area76, the coordinates data output from thetouch panel22 via the I/F circuit54 is obtained and additionally stored in the coordinates pointline storing area76. It should be noted that although omitted inFIG. 23, on the basis of the recorded coordinates point line data, the color data of the corresponding coordinates in thehandwriting input area102 in the input window is changed to update the input window image data, and the input window image is displayed on the lower screen. Thus, the character input by handwriting is displayed on thehandwriting input area102.
Suceedingly, in a step S43, theCPU core42 determines whether or not a next character is input. In inputting the character by handwriting, the user generally spends a predetermined time period from the end of a certain character to the start of the next character. Thus, it is determined whether or not the predetermined time period elapses from the touch-off to the touch-on on the basis of the stored coordinates point line data, for example. Or, the start of the input of the next character may be determined by the end of the input of the current character. More specifically, it may be determined whether or not a predetermined time period elapses from the touch-off on the basis of the coordinates point line data. If “NO” in the step S43, the process returns to the step S41.
If “YES” in the step S43, theCPU core42 performs a character recognition process from the recorded coordinates point line in a step S45. More specifically, the character input is recognized on the basis of the coordinates point line data by pattern matching, for example. Then, in a step S47, theCPU core42 executes a search candidate window generating process, and creates a search candidate window for displaying the recognized word as a search candidate. The operation of the search candidate window generating process is shown inFIG. 24 described later. After completion of the step S47, or if “NO” in the step S39, the process proceeds to a step S49.
In the step S49, theCPU core42 determines whether or not the instructed coordinates is equal to the coordinates of the word of the search candidate. Or, theCPU core42 determines whether or not the instructed coordinates is equal to the coordinates of the word in the dictionary. If “YES” in the step S49, theCPU core42 executes a dictionary window generating process, and creates the dictionary window for displaying the explanation of the instructed word in a step S51. The operation of the dictionary window generating process is shown inFIG. 25 described later. After completion of the step S51, or if “NO” in the step S49, the process proceeds to a step S53.
In the step S53, theCPU core42 determines whether or not the instructed coordinates is equal to the coordinates of theinput button108. If “YES” in the step S53, theCPU core42 clears the lower screen window tab numberdata storing area84, and writes an initial value, such as 0, NULL, or the like in a step S55. Succeedingly, in a step S57, theCPU core42 displays the input window on the lower screen. More specifically, theCPU core42 displays an input window image on theLCD14 on the basis of the input window image data by utilizing the GPU50 (or GPU52) and theLCD controller62, etc as described above.
After completion of the step S57, or if “NO” in the step S53, the search process is ended, and the process returns to the step S15 inFIG. 22.
InFIG. 24, one example of an operation of the search candidate window generating process in the step S47 (FIG. 23) is shown. In a first step S71 inFIG. 24, theCPU core42 determines whether or not the new search candidate window is to be created. For example, in a case of a first character recognition after the all-erasebutton106 is pushed, and coordinates point line data is temporarily cleared, it is determined to be a new window creation.
If “YES” in the step S71, theCPU core42 generates search candidate window image data of the word obtained by the character recognition in a step S73. For example, the word applied to the recognition result is read from the dictionary data, and the display position of the word is determined to thereby generate search candidate position data. Thus, the data for displaying a search candidate window image including the word is generated, and stored in the windowimage storing area78.
In a step S75, theCPU core42 reads title image data of the tab of the search candidate window (image data indicative of “search candidate”) from theROM28ato theRAM48.
In a step S77, theCPU core42 generates a new tab number. More specifically, if the tab data is stored in the tabdata storing area80, 1 is added to the highest tab number to generate a new tab number. It should be noted that if the tab data is not stored in the tab data storing area80 (that is, window is not created), 1 is set as the new tab number.
In a step S79, theCPU core42 generates tab data to store it in the tabdata storing area80. More specifically, in correspondence with the tab number generated in the step S77, the title image data read in the step S75 and an initial address of the window image data generated in the step S73 are stored (seeFIG. 6).
In a step S81, theCPU core42 stores the tab number generated in the step S77 in the upper screen window tab numberdata storing area82. In a step S83, theCPU core42 displays a search candidate window on theLCD12 on the basis of the search candidate window image data by utilizing the GPU50 (or GPU52) and theLCD controller62. Thus, as shown inFIG. 7, for example, thesearch candidate window110 created anew is displayed on the upper screen.
Furthermore, in a step S85, theCPU core42 generates the tab position data, and stores it in the tab positiondata storing area86. For example, if the tab position data is not stored in the tab positiondata storing area86, a predetermined display position or range for the first tab is read, and stored in correspondence with the new tab number generated in the step S77. On the other hand, in a case that the tab position data is stored, a display position or range of a new tab is set on the basis of the character count of the title image of each tab, a size of the display area of the tab, etc., and is stored in correspondence with a new tab number. Also, a display position or range of the existing tab is updated as necessary such that all of the tabs are within the display area of the tab.
Then, in a step S87, theCPU core42 displays on theLCD14 the tab corresponding to the search candidate window on the basis of the tab data and the tab position data by utilizing the GPU52 (or GPU50) and theLCD controller60. It should be noted that in a case that the display position of the existing tab is updated in the step S85, the existing tab is displayed in the updated position.
On the other hand, if “NO” in the step S71, theCPU core42 updates the search candidate window image data in a step S89. More specifically, similarly to the step S73, data for displaying the search candidate window image including the word obtained from a further character recognition is generated, and stored in the windowimage storing area78.
Then, in a step S91, theCPU core42 displays a search candidate window on theLCD12 on the basis of the updated search candidate window image data by utilizing the GPU50 (or GPU52) and theLCD controller60. Thus, as shown inFIG. 8, the updatedsearch candidate window110 is displayed on the upper screen, for example. After completion of the step S87 or the step S91, the search candidate window generating process is ended, and the process proceeds to the step S49 inFIG. 23.
FIG. 25 shows one example of an operation of the dictionary window generating process in the step S51 (FIG. 23). In a first step S101 inFIG. 25, theCPU core42 reads explanation data corresponding to the selected search candidate or the word within the content of the explanation from the dictionarydata storing area88 to the work area of theRAM48. Then, in a step S103, theCPU core42 determines a heading position of the word, the display position of the explanation (display position of each word), etc. on the basis of the read explanation data, etc., and generates the dictionary window image data to display the word and explanation and stores it in the windowimage storing area78.
Also, in a step S105, theCPU core42 reads the data for displaying the title image of the tab corresponding to the selected search candidate or the word in the explanation from the dictionarydata storing area88 to the work area of theRAM48.
In a step S107, theCPU core42 adds 1 to the highest tab number with reference to the tabdata storing area80 to thereby set the tab number corresponding to the created dictionary window.
In a step S109, theCPU core42 generates tab data by being brought into correspondence with the tab number in the step S107, the title image data in the step S105, and the initial address of the dictionary window image data in the step S103, and stores the generated tab data in the tabdata storing area80.
In a step S111, theCPU core42 stores the tab number set anew in the step S107 in the upper screen window tab numberdata storing area82. Then, in a step S113, theCPU core42 displays the dictionary window on theLCD12 on the basis of the dictionary window image data generated in the step S103 by utilizing the GPU50 (or GPU52) and theLCD controller60. Thus, as shown inFIG. 10 orFIG. 14, for example, the dictionary window created anew is displayed on the upper screen.
Furthermore, in a step S115, theCPU core42 updates the tab position data to store it in the tab positiondata storing area86. More specifically, similarly to the step S85, a display position or range of the new tab is set anew and stored by being brought into correspondence with the new tab number, and updates the display position or range of the existing tab is updated as required.
Then, in a step S117, theCPU core42 displays the tab corresponding to the new dictionary window on theLCD14 on the basis of the tab data and the tab position data by utilizing the GPU52 (or GPU50) and theLCD controller60. It should be noted that in a case that the display position of the existing tab is updated in the step S115, the existing tab is displayed in the updated position. After completion of the step S117, the dictionary window generating process is ended, and the process proceeds to the step S53 inFIG. 23.
FIG. 26 shows one example of an operation of the window displaying process in the step S9 (FIG. 22). In a first step S131 inFIG. 26, theCPU core42 determines whether or not the one-click operation is performed on the basis of the touch input data. For example, in a case that a touch-on state is detected from a touch-off state and then, the touch-off state is detected, it is determined that the one click operation is performed.
If “YES” in the step S131, theCPU core42 detects the data output from thetouch panel22 via the I/F circuit54, and stores it in the touch inputdata storing area74 in a step S133. Then, in a step S135, theCPU core42 determines whether or not the same tab is reselected on the basis of the coordinates data and the tab position data detected in the step S135. That is, it is determined whether or not the instructed coordinates instructed by the touch input data is equal to the display coordinates of the tab instructed in the step S7. If “NO” in the step S135, theCPU core42 determines whether or not a fixed period of time elapses after it is determined the touch-on state is shifted to the touch-off state in the step S131. If “NO” in the step S137, the process returns to the step S133.
On the other hand, if “YES” in the step S137, that is, if a fixed period of time elapses from the detection of the one-click operation without the same tab being selected, theCPU core42 executes the one-click process in a step S139. The operation of the one-click process is shown inFIG. 27 andFIG. 28 described later.
Furthermore, if “YES” in the step S135, that is, if the display position of the same tab is instructed again before a lapse of the fixed period of time since a touch-off at the first click is detected, it can be determined that a two-click operation is performed on the tab. Accordingly, theCPU core42 executes a two-click process in a step S141. The operation of the two-click process is shown inFIG. 29 andFIG. 30 described later.
Also, if “NO” in the step S131, theCPU core42 determines whether or not a downward-sliding operation is performed on the basis of the touch input data in a step S143. If “YES” in the step S143, that is, if the history of the detected instructed coordinates indicates the downward continuous track, theCPU core42 executes the two click process in the step S141.
Furthermore, if “NO” in the step S143, theCPU core42 determines whether or not a sliding operation in the right direction or a sliding operation in the left direction is performed on the basis of the touch input data in a step S145. If “YES” in the step S145, that is, if the history of the instructed coordinates indicates a continuous track in the right or left direction, theCPU core42 executes an erasing process in a step S147. The operation of the erasing process is shown inFIG. 31 andFIG. 32 described later.
Also, if “NO” in the step S145, that is, if the operation with respect to the tab is not distinguishable, the window displaying process is ended, and the process proceeds to the step S15 inFIG. 22. Furthermore, after completion of the step S139, the step S141 or the step S147, the same is true.
FIG. 27 shows one example of an operation of the one-click process in the step S139. In a first step S161 inFIG. 27, theCPU core42 detects a tab number of the selected tab on the basis of the touch input data and the tab position data. Next, in a step S163, theCPU core42 determines whether or not the tab number of the selected tab is equal to the value in the upper screen window tabnumber storing area82. If “YES” in the step S163, that is, if the tab corresponding to the window which is active on the upper screen is selected by the one-click operation, theCPU core42 determines whether or not the lower screen window tab number data is a clear value in a step S165. If “NO” in the step S165, that is, if a moved window is displayed on the lower screen, theCPU core42 reads a tab number of the lower screen window tab numberdata storing area84, and stores it in the upper screen window tab numberdata storing area82 in a step S167. Thus, the moved window which was displayed on the lower screen is displayed on the upper screen in an active state. It should be noted thatFIG. 27 shows an operation in a case that the active window on the upper screen is moved to the lower screen. However, if the active window on the upper screen is copied to the lower screen, the upper screen window tab numberdata storing area82 remains without changes.
On the other hand, if “YES” in the step S165, that is, if the input window is displayed on the lower screen, theCPU core42 detects the highest tab number which is not set in the tab number data area in a step S169. That is, the highest tab number out of the tab numbers stored in the tabdata storing area80 and except for the tab numbers stored in the upper screen window tabnumber storing area82 is detected. If a window except for the window displayed on the upper screen in an active state is created, the highest tab number is detected, and if not, the highest tab number is not detected.
Then, theCPU core42 determines whether or not it is not detected in a step S171.
If “NO” in the step S171, theCPU core42 stores the detected highest tab number in the upper screen window tab numberdata storing area82 in a step S173. Thus, the window having the highest tab number out of the inactive windows is displayed in an active state on the upper screen.
After completion of the step S167 or the step S173, theCPU core42 displays the window corresponding to the upper screen window tab number on the upper screen in a step S175. More specifically, theCPU core42 obtains an initial address of the window image corresponding to the upper screen window tab number with reference to the upper screen window tab number data and the tab data. Then, theCPU core42 displays the window image on theLCD12 on the basis of the corresponding window image data of the windowimage storing area78 by utilizing the GPU50 (or GPU52) and theLCD controller60.
Also, if “YES” in the step S171, that is, if an inactive window is absent, theCPU core42 clears the upper screen window tab numberdata storing area82 in a step S177. Then, in a step S179, theCPU core42 displays a background image on the basis of the background image data on theLCD12 by utilizing the GPU50 (or GPU52) and theLCD controller60.
After completion of the step S175 or the step S179, theCPU core42 stores the tab number of the selected tab in the lower screen window tab numberdata storing area84 in a step S181. Then, in a step S183, theCPU core42 displays the window corresponding to the lower screen window tab number on the lower screen. More specifically, theCPU core42 obtains an initial address of the window image corresponding to the lower screen window tab number with reference to the lower screen window tab number data and the tab data. Then, theCPU core42 displays the window image on theLCD14 on the basis of the applied window image data of the windowimage storing area78 by utilizing the GPU52 (or GPU50) and theLCD controller60. It should be noted that in this embodiment, the window corresponding to the tab number stored in the lower screen window tabnumber storing area84 is decided so as to be operable by an input operation via thetouch panel22, that is, by storing the tab number in the lower screen window tabnumber storing area84, a corresponding window is displayed on the lower screen to thereby set the window as an inputable state. Furthermore, aside from the lower screen window tabnumber storing area84 indicative of the window to be displayed on the lower screen, a data storage area indicating whether or not an input to the window on the lower screen via thetouch panel22 is possible, and by storing data indicative of an inputable state or a non-inputable state in the storage area, whether or not an input to the window displayed on the lower screen is possible may be controlled. Thus, the active window on the upper screen selected with one click is displayed in an active state (inputable state) on the lower screen. After completion of the step S183, the one-click process is ended.
On the other hand, if “NO” in the step S163, that is, if the tab corresponding to the inactive window or the moved window on the lower screen is selected with the one-click operation, the process proceeds to a step S185 inFIG. 28.
In the step S185 inFIG. 28, theCPU core42 stores the tab number of the selected tab in the upper screen window tab numberdata storing area82. Then, in a step S187, theCPU core42 displays the window corresponding to the upper screen window tab number on the upper screen similarly to the step S175. Thus, the inactive window or the moved window on the lower screen corresponding to the selected tab is displayed in an active state on the upper screen.
Also, in a step S189, theCPU core42 determines whether or not the tab number of the selected tab is equal to the value of the lower screen window tabnumber storing area84. If “YES” in the step S189, that is, if the tab corresponding to the moved window on the lower screen is selected, theCPU core42 clears the lower screen window tab numberdata storing area84 in a step S191. Then, in a step S193, theCPU core42 displays an input window on the lower screen. Thus, in a case that the tab corresponding to the moved window on the lower screen is selected with the one-click operation, an input window is displayed on the lower screen.
Furthermore, if “NO” in the step S189, that is, if the tab corresponding to the inactive window is selected with one click, the one click process is ended as it is. Accordingly, in this case, the display of the lower screen is not changed.
FIG. 29 shows one example of an operation of the two-click process in the step S141 (FIG. 26). In a first step S211 inFIG. 29, theCPU core42 detects the tab number of the selected tab on the basis of the touch input data and the tab position data. Next, in a step S213, theCPU core42 determines whether or not the tab number of the selected tab is the same as the value of the lower screen window tabnumber storing area84.
If “YES” in the step S213, that is, if the tab corresponding to the moved window on the lower screen is selected with a two-click operation (or downward-sliding operation), theCPU core42 stores the tab number of the selected tab in the upper screen window tab numberdata storing area84 in a step S215. Then, in a step S217, theCPU core42 displays the window corresponding to the upper screen window tab number on the upper screen. Thus, similarly to the one-click selection, on the upper screen, the moved window on the lower screen corresponding to the selected tab is displayed in an active state.
Furthermore, in a step S219, theCPU core42 clears the lower screen window tab numberdata storing area84. Then, in the step S211, theCPU core42 displays an input window on the lower screen. Thus, in a case that the tab corresponding to the moved window on the lower screen is selected with the two-click operation, etc., the input window is displayed on the lower screen similarly to the one-click operation. After completion of the step S221, the two-click process is ended.
On the other hand, if “NO” in the step S213, that is, if the tab corresponding to the active window or the inactive window on the upper screen is selected with a two-click operation, etc., the process proceeds to a step S223 inFIG. 30.
In a step S223 inFIG. 30, theCPU core42 determines whether or not the lower screen window tab number data is a clear value. If “NO” in the step S223, that is, if the moved window is displayed on the lower screen, theCPU core42 reads the tab number in the lower screen window tab numberdata storing area84, and stores it in the upper screen window tab numberdata storing area82 in a step S225. Thus, the moved window displayed on the lower screen is displayed on the upper screen in the active state.
On the other hand, if “YES” in the step S223, that is, if an input window is displayed on the lower screen, theCPU core42 determines whether or not the tab number of the selected tab is the same as the value in the upper screen window tabnumber storing area82 in a step S227. If “YES” in the step S227, that is, if the active window on the upper screen is selected with a two-click operation, etc., theCPU core42 detects the highest tab number which is not set in the tab number data area similarly to the step S169 (FIG. 27) in a step S229. Then, theCPU core42 determines whether or not the highest tab number is not detected in a step S231. If “NO” in the step S231, that is, if the inactive window exists, theCPU core42 stores the detected highest tab number in the upper screen window tab numberdata storing area82 in a step S233. Thus, a window having the maximum tab number out of the inactive windows is displayed on the upper screen in an active state.
After completion of the step S225 or S233, theCPU core42 displays a window corresponding to the upper screen window tab number on the upper screen in a step S235.
Also, if “YES” in the step S231, that is, if an inactive window is absent, theCPU core42 clears the upper screen window tab numberdata storing area82 in a step S237, and displays a background image on theLCD12 in a step S239.
Furthermore, if “NO” in the step S227, that is, if the tab corresponding to the inactive window is selected with a two-click operation, etc., the display on the upper screen is without change, and the process proceeds to a step S241. Additionally, after completion of the step S235 or S239, the process proceeds to the step S241.
In the step S241, theCPU core42 stores the tab number of the selected tab in the lower screen window tab numberdata storing area84. Then, in a step S243, theCPU core42 displays the window corresponding to the lower screen window tab number on the lower screen, and allows an operation input to the window similarly to the step S183 (FIG. 27). Thus, the active window or inactive window on the upper screen selected by a two-click operation, etc. is displayed in an active state on the lower screen. After completion of the step S243, the two-click process is ended.
FIG. 31 shows one example of an operation of an erasing process in the step S147 (FIG. 26). In a first step S261 inFIG. 31, theCPU core42 detects the tab number of the tab selected by the erasing operation on the basis of the touch input data and the tab position data. Next, in a step S263, theCPU core42 determines whether or not the tab number of the selected tab is the value the same as that in the upper screen window tabnumber storing area82.
If “YES” in the step S263, that is, if the tab corresponding to the window which is in an active state on the upper screen is instructed by an erasing operation, theCPU core42 detects the highest tab number which is not set in the tab number data area in a step S265. That is, except for the tab number stored in the upper screen window tabnumber storing area82 and the lower screen window tabnumber storing area84, the highest tab number out of the tab numbers stored in the tabdata storing area80 is detected. Then, in a step S267, theCPU core42 determines whether or not the highest tab number is not detected. If “NO” in the step S267, that is, if an inactive window exists, theCPU core42 stores the detected highest tab number in the upper screen window tab numberdata storing area82 in a step S269. Then, in a step S271, theCPU core42 displays the window corresponding to the upper screen window tab number. Thus, in a case that the tab corresponding to the active window on the upper screen is selected with an erasing operation, when an inactive window exists, the window corresponding to the highest tab number is displayed on the upper screen in an active state.
On the other hand, if “YES” in the step S267, that is, if an inactive window does not exist, theCPU core42 clears the upper screen window tab numberdata storing area82 in a step S273, and displays a background image on the upper screen in a step S275.
Additionally, if “NO” in the step S263, that is, if the inactive window or the tab corresponding to the moved window on the lower screen is selected by an erasing operation, theCPU core42 determines whether or not the tab number of the selected tab is the value the same as that in the lower screen window tabnumber storing area84 in a step S277. If “YES” in the step S277, that is, if the tab corresponding to the moved window on the lower screen is instructed with an erasing operation, theCPU core42 clears the lower screen window tab numberdata storing area84 in a step S279, and displays an input window on the lower screen in a step S281.
Also, if “NO” in the step S277, that is, if the tab corresponding to the inactive window is selected by an erasing operation, since the inactive window is not displayed on the screen in this embodiment, the display of the window is not chantged, and the process proceeds to a step S283. Furthermore, after completion of the step S271, the step S275 or the step S281, the process proceeds to the step S283.
In the step S283, theCPU core42 erases the tab data and the window image data corresponding to the tab number of the selected tab from the tabdata storing area80 and the windowimage storing area78. After completion of the step S283, the process proceeds to a next step S285 inFIG. 32.
In the step S285 inFIG. 32, theCPU core42 determines whether or not a tab number higher than the tab number of the tab selected by an erasing operation exists in the tabdata storing area80. If “YES” in the step S285, theCPU core42subtracts 1 from the applied tab number to reset the tab number in a step S287. Then, in a step S289, as to the tab data having a tab number larger than that of the selected tab, theCPU core42 overwrites the reset tab number in the tab number in the tabdata storing area80 to update the tab data. Also, in a step S291, if the tab number higher than that of the selected tab is stored, theCPU core42 updates the upper screen window tab numberdata storing area82 to the reset tab number. Furthermore, in a step S293, theCPU core42, if the tab number larger than that of the selected tab is stored, updates the lower screen window tab numberdata storing area84 to the reset tab number.
It should be noted that if “NO” in the step S285, the tab number needs not to be reset, and therefore, the process directly proceeds to a step S295.
In the step S295, theCPU core42 updates the tab positiondata storing area86. More specifically, the display position data corresponding to the tab number of the tab selected by the erasing operation is erased. Furthermore, if the tab number larger than that of the selected tab exists, the applied tab number is subtracted by 1 to update the tab number. Furthermore, the reset of the display position is performed as necessary as to the tab remained without being erased.
Then, in a step S297, theCPU core42 updates the display of the tab on the basis of the tab position data. That is, theCPU core42, if the data relating to the tab exists in the tab position data, displays an image of each tab in each display position of the tab position data on the basis of the title image data, etc. by utilizing the GPU52 (or GPU50) and theLCD controller60. It should be noted that if the display position data of the tab does not exist in the tab positiondata storing area86, a background image is displayed in the area for displaying the tab of the lower screen. After completion of the step S297, the erasing process is ended.
According to this embodiment, since the plurality of tabs respectively brought into correspondence with the plurality of windows are displayed on theLCD14, the user performs a predetermined operation input in a display position or range of a tab on theLCD14 by utilizing thetouch panel22 to thereby control the window corresponding to the tab. More specifically, by performing a predetermined input on the tab of theLCD14, the window displayed on the forefront (active window) on theLCD12 can be displayed on theLCD14. Thus, it becomes possible to operate and input the window by means of thetouch panel22. Thus, even the window which was displayed on theLCD12 can be displayed on theLCD14 so as to become an inputable state, capable of improving the operability.
Furthermore, the user uses different input operations in accordance with the intention to thereby differentiate the display control of the inactive window which is not displayed on theLCD12. For example, since a first predetermined input with the one-click operation is performed to temporarily display an inactive window on the forefront on theLCD12, by confirming the content of window in advance, and by performing the one-click operation, etc. as necessary after the confirmation, it is possible to display the window on theLCD14. On the other hand, in a case that there is no need to confirm the content of the applied window, by performing a second predetermined input with the two-click operation or downward-sliding operation, an inactive window can directly be displayed on theLCD14. Thus, the window can directly be set to the inputtable state, which allows a quick input. Accordingly, it is possible to improve operability.
In addition, by performing a predetermined input on the tab which is being brought into correspondence with the window displayed on theLCD14, it is possible to display the window on the forefront on theLCD12. In this case, if an input operation is not required on the window displayed on theLCD14, the window can be moved from theLCD14 to theLCD12, capable of the operability.
Also, when a window is to be displayed on theLCD14, if another window (moved window) has already been displayed on theLCD14, the window is displayed on theLCD12. In this case, the window to be input from now and the window which has been an object to be input at that time can be displayed such that the display areas are switched by only a predetermined input, capable of the operability.
Also, like the embodiment, in a case that thetouch panel22 set on theLCD14 as an input means is applied, the player can operate the tab on theLCD14 as if he or she feels a sense of actually touching it. In addition, similarly, the user can operate the window displayed on theLCD14 as if he or she feels a sense of directly touching it. Accordingly, it is possible to control the window by utilizing thetouch panel22 with an intuitive operation. Also, since thetouch panel22 is an input means, a window as an operational object can be displayed on theLCD14 which is within a range touchable by a user, that is, reachable by the user. Accordingly, it is possible to further improve the operability.
It should be noted that in this embodiment, only one window out of the plurality of windows is displayed on the upper screen. However, as shown inFIG. 33, a plurality of windows including an inactive window may simultaneously be displayed on the upper screen in an overlapping manner. In this case, the window corresponding to the tab number stored in the upper screen window tabnumber storing area82 is made to an active state, that is. is displayed on the forefront. Also, the window corresponding to the tab number which is not stored in the upper screen window tabnumber storing area82 is made to an inactive state, and is displayed so as to be partially hidden under the window displayed on the forefront on the upper screen. It should be noted that the plurality of windows are thus simultaneously displayed in an overlapped manner, the plurality of windows have the information relating to a depth indicative of a displaying order on the screen, and the tab number, for example, may be utilized as the displaying order. That is, the displaying order of the inactive windows on theLCD12 may be set such that the window is displayed on a front side in ascending order of the tab number, for example. Or, the former the window displayed on the forefront, the deeper the window is displayed.
Furthermore, in each of the above-described embodiments, only on the upper screen, the plurality of windows are displayed in an overlapped manner, or only the forefront window out of the plurality of windows is displayed while on the lower screen, only the one window (moved window) is displayed. It should be noted that the input window is displayed on the initial state of the lower screen and not moved to the upper screen, and is thus not included in the window to be controlled between the plurality of display areas as an object of the present invention. However, in another embodiment, on the lower screen, similarly to the upper screen, a plurality of windows are displayed in an overlapping manner, or only the forefront window out of the plurality of windows may be displayed.
Also, in each of the above-described embodiments, when the window which has been displayed on the forefront is displayed on theLCD14, on theLCD12, another window (window having the highest tab number, for example) is displayed on the forefront of theLCD12, or the background image is displayed, for example. That is, the window is represented so as to be moved from theLCD12 to theLCD14. However, in another embodiment, the window may be displayed on theLCD14 while it remains to be displayed on theLCD12. That is, the window may be represented so as to be copied from theLCD12 to theLCD14.
Also, in each of the above-described embodiments, although thefirst LCD12 and thesecond LCD14 are vertically arranged, the arrangement of the two LCDs may be changed as necessary. For example, in theinformation processing apparatus10 of another embodiment, thefirst LCD12 and thesecond LCD14 may horizontally be arranged.
Furthermore, in each of the above-described embodiments, although the two LCDs respectively displaying two screens are provided, the number of the LCDs as a display portion may be changed as required. For example, in theinformation processing apparatus10 of the other embodiment, one vertically-long shaped LCD is provided, and on at least one of the vertically divided display areas, atouch panel22 is provided, and two images or screens may respectively be displayed on the display areas. Or, one horizontal-long shaped LCD is provided, and on at least one of the display areas horizontally divided, thetouch panel22 is provided, and two images or screens may respectively be displayed on the display areas.
In addition, the first display area is divided into a plurality of areas to simultaneously display the plurality of windows. For example, thefirst display area12 is divided into the left half area and the right half area. A certain window is displayed on the left half area, and another window is displayed on the right half area. At this time, the upper screen window tabnumber storing area82 may includes a left area window tab number storing area82aand a right area window tab number storing area82b. For example, the deepest window is displayed at the left half area, and the second deepest window is displayed at the right half area, or arbitrary two windows may be displayed on the respective areas according to user's selection. In this case, irrespective of the left area or the right area, when the tab corresponding to the window displayed on the first display area is touched, the corresponding window may be displayed on the second display area. Also, when the tab corresponding to the window which is not displayed is touched, the corresponding window may be displayed on any one of the left area and the right area. Also, the second display area may be divided into a plurality of areas to thereby simultaneously display a plurality of windows. Of course, each of the first display area and the second display area may be divided into three or more areas to allow three or more windows to be simultaneously displayed.
In addition, in each of the above-described embodiments, although a window is displayed on a part of thedisplay area12 or14, the window may be displayed on the entire (full-screen) of thedisplay area12 or14.
Additionally, in each of the above-described embodiments, the input means for instructing an arbitrary position on the second display area is thetouch panel22. However, other pointing devices, such as a computer mouse, a touch pad, a tablet, etc. may be utilized, for example, In this case, an image such as a mouse pointer, a cursor, or the like for denoting an instructed position is displayed on the second display area.
Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, the spirit and scope of the present invention being limited only by the terms of the appended claims.