The present disclosure relates to an information processing apparatus, a display control method therefor, and a recording medium.
For example, when an information processing apparatus such as a desktop PC or a laptop PC is used to do work, plural application windows (hereinafter, also simply called the “windows”) may be invoked on a display to move ahead with work while viewing plural windows simultaneously. For example, when the information processing apparatus is used to do professional work such as graphic-related work, plural tool windows may be displayed simultaneously in addition to a main window as a main work space for drawing to move ahead with work on the main window.
As mentioned above, for example, when work on the main window is done while displaying the main window and plural tool windows simultaneously, the work area of the main window may be occupied by the plural tool windows to make it difficult to secure a wide work space.
It is one object of the present disclosure to provide a comfortable working environment even when there is a need to display plural windows simultaneously.
According to a first aspect of the present disclosure, there is provided an information processing apparatus including a main display, a sub-display, and a display control unit configured to control the display of the main display and the sub-display, wherein the display control unit includes: an object management section configured to manage the position and size of an object to be displayed on the sub-display; a resizing section configured to resize a virtual desktop area based on the arrangement and size of the object managed by the object management section; a display area specifying section configured to specify a display area to be displayed in the virtual desktop area on the sub-display; and a sub-display driving section configured to display, on the sub-display, drawing data of the display area specified by the display area specifying section.
According to a second aspect of the present disclosure, there is provided a display control method for an information processing apparatus including a main display and a sub-display, the display control method including the steps of: managing the position and size of an object to be displayed on the sub-display; virtually resizing a virtual desktop area based on the managed arrangement and size of the object; specifying a display area to be displayed in the virtual desktop area on the sub-display; and displaying, on the sub-display, drawing data of the specified display area.
According to a third aspect of the present disclosure, there is provided a non-transitory recording medium storing thereon a display control program executed by an information processing apparatus including a main display and a sub-display, the display control program comprising the steps of: managing the position and size of an object to be displayed on the sub-display; virtually resizing a virtual desktop area based on the managed arrangement and size of the object; specifying a display area to be displayed in the virtual desktop area on the sub-display; and displaying, on the sub-display, drawing data of the specified display area.
In the following disclosure, description will be made on the presented subject matter with reference to the accompanying drawings. In the following embodiment, a laptop PC is exemplified as an information processing apparatus and specific examples of components and the arrangement thereof are described to ease the understanding of the present disclosure, but the embodiment is just an example and is not intended to limit the present disclosure.
A sub-display 10 is provided on the first chassis 2 along the edge side of the second chassis 3. The sub-display 10 is coupled to the first chassis 2, for example, by a coupling part 9b. The coupling part 9b is, for example, a hinge. It is so adapted that the sub-display 10 in a closed state can be housed in a housing part 11 provided on the upper face of the first chassis 2, and in an open state, an angle θ between a receiving face of the housing part 11 and a reverse side of the sub-display 10 (a face on which no display screen is provided) will fall within a range of 2° 02<40°, for example.
For example, the sub-display 10 is adapted to be opened with respect to the first chassis 2 when the second chassis 3 is open with respect to the first chassis 2. The sub-display 10 may also be adapted to be rotated manually around the coupling part 9b. In this case, a torque hinge or the like, capable of retaining the sub-display 10 at a predetermined angle, can be suitably used as the coupling part 9b. Further, a biasing member such as a spring may be used to put the sub-display 10 into a state of being biased upward. In this case, when the second chassis 3 is closed, the second chassis 3 can push down the sub-display 10 to be housed in the housing part 11, while when the second chassis is opened, the sub-display 10 can be turned up automatically along with the second chassis 3.
An input device 4 is provided in the first chassis 2. The input device 4 is a user interface to allow a user to perform input operations. In
The keyboard 5 is provided on the upper face of the first chassis 2 on a side opposite to the second chassis 3 through the sub-display 10. For example, the keyboard 5 is provided substantially in a central region of the upper face of the first chassis 2. The keyboard 5 may be a software keyboard or be composed of physical keys.
The touch pad 6 is provided, for example, on the right side of the keyboard 5 on the upper face of the first chassis 2.
A main display 8 is provided on the second chassis 3 to display images. The main display 8 is arranged on a face opposite to the sub-display 10 in such a state that the second chassis 3 is closed with respect to the first chassis 2. The main display 8 is, for example, to provide a work area for main work, and has a display screen wider than the sub-display 10.
The CPU 20 performs entire control of the laptop PC 1 under the control of an OS (Operating System) stored in the flash memory 23 connected through the bus 28 to execute processes based on various programs stored in the flash memory 23.
The ROM 21 stores a BIOS (Basic Input/Output System), various data, and the like.
The memory 22 is composed of a cache memory and a RAM (Random Access Memory). The memory 22 is a writable memory used as a work area for the CPU 20 to read an execution program and write data processed by the execution program.
The flash memory 23 stores a multi-window OS for entire control of the laptop PC 1, various drivers for hardware operations of peripheral devices, utility programs, various application programs, and the like. Note that the laptop PC 1 may include any other storage such as an HDD (Hard Disk Drive) as a storage alternative to the flash memory 23.
The graphics adapter 24 converts display information to a video signal under the control of the CPU 20, and outputs the converted video signal to the main display 8 and the sub-display 10. The graphics adapter 24 includes, for example, a GPU (Graphics Processing Unit) for performing drawing processing, a video memory (VRAM) for holding drawing data, and the like.
The main display 8 is, for example, an LCD (Liquid Crystal Display), an organic EL display, or the like, which is configured to display, as an image, the video signal from the graphics adapter 24 under the control of the CPU 20. Further, in the embodiment, the main display 8 is configured as a touch panel having an input detection function such as a touch sensor, but the present disclosure is not limited thereto.
The sub-display 10 is, for example, an LCD (Liquid Crystal Display), an organic EL display, or the like, to display, as an image, the video signal from the graphics adapter 24 under the control of the CPU 20. The sub-display 10 is a touch panel display provided with a touch sensor 12 superimposed on the display screen. The sub-display 10 may also be adapted to be able to accept input through the touch pen.
The communication device 25 performs communication with other devices.
The power circuit 26 includes an AC adapter, a battery, a charger for charging the battery, a DC/DC converter, and the like, to supply power to each component under the control of the CPU 20.
An input signal according to a user's input operation via the keyboard 5, the touch pad 6, and the touch sensor 12 that constitute the input device 4 is output to the CPU 20 through the bus 28.
The configuration and connection example of the laptop PC 1 illustrated in
Various functions may be implemented by storing, on a computer-readable recording medium, processes for implementing the various functions to be described below, for example, in the format of a program, and reading, into the memory 22, and executing this program by the CPU 20. Further, instead of or in addition to the CPU 20, the various functions may be implemented by a GPU included in the graphics adapter 24.
Note that a form of pre-installing the program on a non-transitory storage medium, such as the ROM or the flash memory 23, a form of providing the program in a state of being stored on a computer-readable, non-transitory storage medium, a form of delivering the program through wired or wireless communication means, or the like may be adopted. The computer-readable, non-transitory storage medium means a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like.
As illustrated in
The display control unit 40 has, for example, a function to control a screen display onto each of display screens included in the main display 8 and the sub-display 10 based on various instructions input from the input device 4, such as the keyboard 5, the touch pad 6, and the touch sensor 12 superimposed on each of the main display 8 and the sub-display 10.
The display control unit 40 includes, for example, a sub-display control section 60 configured mainly to perform display control of the sub-display 10, and a main display control section 70 configured mainly to perform display control of the main display 8.
The sub-display control section 60 generates drawing data to be displayed on the sub-display 10, and displays the generated drawing data on the sub-display 10.
The main display control section 70 generates image data to be displayed on the main display 8, and displays the generated image data on the main display 8.
Next, the above-described sub-display control section 60 will be described in more detail with reference to the accompanying drawings.
The object management section 61 manages the position and size of an object to be displayed on the sub-display 10. For example, the object management section 61 manages the position and size of each object on the coordinate axes of a virtual desktop area 51 as illustrated in
The resizing section 62 resizes the virtual desktop area 51 (see
As illustrated in
In a default state, the virtual desktop area 51 is set to a size corresponding to a display area 52 of the sub-display 10, and this size in the default state is the minimum size of the virtual desktop area 51.
In the embodiment, the virtual desktop area 51 is made expandable in the vertical direction and fixed in the horizontal direction. One of the reasons for this is that the main display 8 is arranged above the sub-display 10 in the laptop PC 1 according to the embodiment. However, the virtual desktop area 51 is not limited to this example, and it may be made expandable in both the vertical and horizontal directions. Further, for example, when the sub-display 10 and the main display 8 are arranged next to each other in the horizontal direction, the virtual desktop area 51 may be made expandable in the horizontal direction and fixed in the vertical direction.
Although a case where the virtual desktop area 51 is made expandable in the vertical direction is described below for convenience of explanation, it is needless to say that a similar technique can also be used to change the size in the horizontal direction.
The display area specifying section 63 specifies, in the virtual desktop area 51, a display area 52 (see
For example, as illustrated in
The sub-display drawing section 64 generates drawing data to be displayed on the sub-display 10 based on the object management information (see
The sub-display driving section 65 displays the drawing data on the sub-display 10.
Next, a display control method implemented by the laptop PC 1 according to the embodiment will be described by taking a specific example. In the following description, an application window is taken as an example of an object for convenience of explanation, but the present disclosure is not limited to this example. For example, any object other than the application window, such as an icon, may also be used.
Referring first to
For example, as illustrated in
In this state, for example, when a user uses the input device 4 to enter an instruction to display a new window A on the sub-display 10 with an operation to move the window A displayed on the main display 8 to the sub-display 10, an operation to run a new application, or the like, the object management section 61 writes, into the object management information, information related to the position and size of the window A.
Thus, for example, as illustrated in
The resizing section 62 resizes the virtual desktop area according to the position and size of each object registered in the object management information, for example, at the timing of updating the object management information.
For example, the resizing section 62 specifies upper ends of respective objects managed by the object management section 61, and resizes the virtual desktop area 51 to make the uppermost end among the specified upper ends coincide with the upper end of the virtual desktop area 51. Similarly, the resizing section 62 specifies lower ends of respective objects managed by the object management section 61, and resizes the virtual desktop area 51 to make the lowermost end among the specified lower ends coincide with the lower end of the virtual desktop area 51.
An example of processing performed by the resizing section 62 will be described below with reference to
The resizing section 62 acquires Y-coordinate values of the upper-left coordinates of respective objects from the object management information (S1), specifies the minimum Y-coordinate value Ymin as the smallest Y-coordinate value among the Y-coordinate values (S2), and determines whether the specified minimum Y-coordinate value Ymin is smaller than 0 (S3). As a result, when Ymin<0 (YES in S3), the origin of the virtual desktop area 51 is changed to Ymin as a negative value (S4). In other words, processing for increasing, by a value of Ymin, all Y-coordinate values in the object management information, the Y-coordinate value of the lower-right coordinates of the virtual desktop area information, and all Y-coordinate values in the display area information is performed to move the origin on a conceptual basis.
On the other hand, when it is not Ymin<0 in step S3 (NO in S3), the resizing section 62 acquires Y-coordinate values of the lower-right coordinates of respective objects from the object management information (S5), specifies the maximum Y-coordinate value Ymax as the largest Y-coordinate value among the Y-coordinate values (S6), and determines whether the specified maximum Y-coordinate value Ymax is larger than the Y-coordinate value Yvd of the lower-right coordinates of the virtual desktop area 51 (S7). As a result, when Yvd<Ymax, Ymax is set to Yvd (S8). When the maximum Y-coordinate value Ymax is less than or equal to the lower-right coordinates Yvd of the virtual desktop area 51, the processing is ended without resizing the virtual desktop area 51.
Thus, the above-described processing is performed by the resizing section 62. In this case, for example, in the example of STEP SA1 in
Subsequently, for example, when an instruction to display a new window B on the sub-display 10 is input from the input device 4, information on the position and size of the window B is written into the object management information by the object management section 61. Thus, for example, as illustrated in
As described above, the resizing section 62 specifies the minimum Y-coordinate value Ymin=0 of the upper-left coordinates and the maximum Y-coordinate value Ymax=Y4 of the lower-right coordinates among respective objects in the object management information, and compares both values with the Y-coordinate value of the virtual desktop area 51, respectively.
As a result, in the state of STEP SA2 of
Then, in the state of STEP SA3 of
The resizing section 62 specifies the minimum Y-coordinate value Ymin=0 of the upper-left coordinates and the maximum Y-coordinate value Ymax=Y6 of the lower-right coordinates among respective objects in the object management information, and compares both values with the Y-coordinate value of the virtual desktop area 51, respectively. As a result, in the state of STEP SA4 of
Further, in each state of STEP SA1 to STEP SA5 described above, drawing data in an area specified as the display area 52 are generated by the sub-display drawing section 64 and transferred to the sub-display driving section 65 to display, on the sub-display 10, a drawing in the display area 52.
Note that the object management section 61 may have a function to correct the positions of plural objects to make the upper end, lower end, right end, or left end of each object coincide with those of the other objects when plural objects exist in the object management information.
For example, the object management section 61 corrects, to zero, the Y-coordinate value of the upper-left coordinates of each object, and corrects the Y coordinate in the lower-right coordinates according to the correction amount so that the upper ends of all the objects can be aligned with the upper end of the virtual desktop area 51. Thus, the objects can be coordinated to make it easier to view the objects, and displayed on the sub-display 10. Note that the lower end, right end, and left end can also be corrected and aligned in the same way.
Further, for example, when a window (hereinafter called the “window a”) is moved from the main display 8 to the sub-display 10 in order to perform processing from step S1 to step S4 in the flowchart illustrated in
Next, as illustrated in a conceptual diagram of
For example, when an instruction to move the window C upward is input, the object management section 61 continuously decreases the Y-coordinate values of the upper-left coordinates and the lower-right coordinates of the window C in the object management information. Thus, the window C can be virtually moved upward in the virtual desktop area 51.
Further, the resizing section 62 performs the processing illustrated in
As a result, as illustrated in STEP SB3 and STEP SB4 of
Further, resizing the virtual desktop area 51 along with the movement of the window C can avoid displaying the window C on the main display 8.
As an example of an input operation to move any one window relative to the other windows in the vertical direction within the sub-display 10, there is an input operation to touch the sub-display 10 with three fingers and move the three fingers upward or downward in the state, for example, as illustrated in
Although the case where the position of the window C is moved is illustrated in
Further, for example, as illustrated in
In this case, the virtual desktop area 51 is not resized by the resizing section 62 even when the object management information is updated by the object management section 61. Thus, for example, as illustrated in STEP SC1 to STEP SC4 of
Referring next to
For example, suppose that three windows A to C are displayed on the sub-display 10. In this case, when an instruction to move the display of the sub-display 10 totally upward or downward is input through the input device 4, the display area specifying section 63 updates the display area information to move the display area 52 in the virtual desktop area 51 downward according to the input instruction.
For example, the Y-coordinate value of the upper-left coordinates in the display area information can be continuously changed from 0 to Y7, and from Y7 to Y8 as illustrated in STEP SD1 to SD3 of
Then, drawing data in the display area 52 are generated by the sub-display drawing section 64, and the drawing data are transferred to the sub-display driving section 65 to display, on the display screen of the sub-display 10, the drawing data in the display area 52 conceptually illustrated in
As an example of the input operation to move the display of the sub-display 10 totally upward or downward, there is an input operation to touch the sub-display 10 with two fingers and move the two fingers upward or downward in the state, for example, as illustrated in
Referring next to
For example, when an instruction for an entire display with a press down of any one key or a combination of two or more keys provided in the keyboard 5 is input, the main display control section 70 (see
Thus, for example, entire drawing data as conceptually illustrated in
In this case, the main display control section 70 may generate, in the above-described entire drawing data, summary entire drawing data in which drawing of objects is simplified, and display the summary entire drawing data on the main display 8.
Further, when the size of the virtual desktop area 51 is larger than a summary display area 80, the size of which is set less than or equal to the size of the main display 8, the main display control section 70 may generate reduced-size entire drawing data, in which the size of the virtual desktop area 51 is reduced up to that of the summary display area 80, and display the reduced-size entire drawing data in the summary display area 80 of the main display 8.
Thus, the user can rearrange and resize the windows A to C easily while checking the main display 8 larger than the sub-display 10. In other words, when an input operation to rearrange and resize the windows A to C displayed on the main display 8 is performed, an instruction based on the input operation is input to the object management section 61. The object management section 61 updates the coordinates in the object management information based on the instruction to change the position and size of each object in the virtual desktop area 51.
Thus, the changes in the arrangement and size of each window made while viewing the main display 8 can be reflected on the display of the sub-display 10.
Further, when predetermined input to exit from the entire display is done, the main display control section 70 hides the display of the entire drawing data on the main display 8. Thus, for example, the windows A to C illustrated in
As described above, according to the laptop PC 1 of the embodiment, since the main display 8 and the sub-display 10 are provided, it is possible, for example, to display, on the main display 8, an application window for doing main work, and display other windows such as tool windows on the sub-display 10. This can lead to preventing the work area on the main display 8 from being occupied by the tool windows. Thus, even when there is a need to display plural windows simultaneously, a comfortable working environment can be provided on the main display 8.
Further, according to the laptop PC 1 of the embodiment, the virtual desktop area 51 for virtually expanding the desktop of the sub-display 10 is provided, and the virtual desktop area 51 is resized according to the object management information managed by the object management section 61. Specifically, the virtual desktop area 51 is resized to contain all objects managed by the object management section 61.
Thus, for example, as illustrated in
Further, according to the embodiment, when a predetermined instruction for an entire display is input, entire drawing data of the virtual desktop area 51 are displayed on the main display 8 as illustrated in
While each form of the present disclosure has been described above, the technical scope of the present disclosure is not limited to the scope of the form mentioned above. Various combinations, changes, or improvements can be added without departing from the spirit of the invention, and forms to which the combinations, changes, or improvements are added shall be included in the technical scope of the present disclosure.
For example, in the above-described embodiment, the case where the virtual desktop area 51 is expanded or reduced in the vertical direction is described. However, for example, when the virtual desktop area 51 is expanded or reduced in the horizontal direction, the resizing section changes the left end and right end of the virtual desktop area 51 based on the object management information. In this case, for example, the resizing section specifies right ends of respective objects managed by the object management section 61, and resizes the virtual desktop area to make the rightmost end among the specified right ends coincide with the right end of the virtual desktop area 51. Similarly, the resizing section specifies left ends of respective objects managed by the object management section 61, and resizes the virtual desktop area to make the leftmost end among the specified left ends coincide with the left end of the virtual desktop area.