1. Field of the Invention
The present invention relates to a display controlling apparatus which performs control to display an input image input by an input apparatus and a cursor image generated based on cursor information input from the input apparatus, on a display apparatus.
2. Description of the Related Art
On a computer (e.g., PC (personal computer)) screen, a cursor for indicating positions and instructions based on operations of a device such as a mouse or the like is displayed generally. Recently, also in a certain product such as a television, a projector or the like, a function to display a cursor for the purpose of assisting a user is provided on a graphics screen such as a menu or the like.
Incidentally, a next display position of a cursor on a PC screen is decided on the basis of a remote control code and a mouse movement quantity which are respectively input to a PC by user's operations of devices such as a remote controller, a mouse and the like, and a position on the PC screen at which the cursor is currently displayed.
In the projector, there is a technique of synthesizing a plurality of PC screens and displaying them on the projector screen (hereinafter, called screen transfer). In the screen transfer, when the cursor of each PC connected to the projector is operated, the corresponding cursor displayed by the projector is moved.
As for the cursor display in the screen transfer, there is a case where the PC screens respectively including the cursors are synthesized and displayed together. However, there is a problem in this case that a delay occurs between a time when a cursor operation is actually performed and a time when the content of the cursor operation is reflected in the screen content projected by the projector. To deal with this problem, there is a method by which the PC transmits the movement quantity of the cursor to the projector and thus the projector moves the cursor to be projected on the plane of projection in accordance with the relevant movement quantity.
In the case where the PC transmits the movement quantity of the cursor to the projector, it is necessary to limit the movement area of the cursor to be displayed by the projector and change the image size of the cursor to be displayed, in conformity with the size of the PC screen. Here, as a method of limiting such a cursor movement area, a technique has been proposed in Japanese Patent Application Laid-Open No. H11-194870. This technique enables to limit the movement area of a cursor by dividing a screen into a plurality of areas, and inhibiting the relevant cursor from being moved to the outside of the predetermined area based on the attribute associated with the relevant cursor.
However, in the conventional method as described above, there is a problem that it is impossible to change the image size of the cursor. For example, a case where a user performs an operation to change a state that a projector is projecting an image received from a first device on a plane of projection to a state that the projector together projects the image received from the first device and an image received from a second device on the relevant plane of projection will be described.
In the above case, the size of the image received from the first device on the plane of projection is reduced by a user operation. However, even in this case, since the size of a cursor projected on the plane of projection by the projector is not changed, there is a case where the image received from the first device and the cursor are projected on the plane of projection in a state that the size of the image and the size of the cursor do not conform to each other.
Therefore, there is a possibility that it is hard for a user to view the images projected by the projector.
The present invention aims to provide a display controlling system which performs a cursor display in a state that a user can easily view displayed contents even if an image to be displayed is changed.
The display controlling system according to the present invention includes a display controlling apparatus which is connected to an input apparatus and a display apparatus, and which comprises: an acquiring unit configured to acquire, from the input apparatus, image information of a first image displayed on a display screen of the input apparatus and cursor information indicating a display position of a first cursor image on the display screen of the input apparatus; a deciding unit configured to decide a display position of a second cursor image in a display range within which the display apparatus displays an image, based on the cursor information acquired by the acquiring unit; and a controlling unit configured to perform control to display a second image based on the acquired image information and the second cursor image on the display apparatus, and change, according to a change of a size of the second image to be displayed on the display apparatus, a size of the second cursor image to be displayed on the display apparatus.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Hereinafter, the first embodiment of the present invention will be described with reference to the attached drawings and flow charts.
In the present embodiment, a window system 100 manages resources such as a window, a cursor, a device and the like, superposes the window and the cursor, and outputs them to a display outputting unit 111, according to request instructions from an application 101 and a device driver 102. Here, the plurality of applications 101 and the plurality of device drivers 102 operate simultaneously.
For example, the window system 100 in the present embodiment is connected to a plurality of PCs (personal computers), and acquires an image displayed on the displaying unit of the PC serving as an input apparatus from the PC. Further, the window system 100 acquires information (hereinafter, called cursor information) related to cursor operations on the PC from the PC. The window system 100 may acquire an image and cursor information from an input apparatus other than the PC. Here, the cursor information is the information indicating a movement quantity and a movement direction of a cursor image on the displaying unit of the PC.
The window system 100 in the present embodiment controls a projector serving as a display apparatus to project the image displayed on the displaying unit of the PC and the state that the cursor moves on the displayed image on a plane of projection.
When projecting the image acquired from the PC from the projector onto the plane of projection, the window system 100 can change the size of the image to be projected. Further, the window system 100 generates the cursor image based on the cursor information acquired from the PC. Then, the window system 100 controls the projector to project the generated cursor image on the plane of projection.
The window system 100 in the present embodiment can change the projection size of the image acquired from the PC on the plane of projection, according to a user instruction. The window system 100 in the present embodiment also changes the size of the cursor image to be projected on the plane of projection, according to the change of the projection size of the image acquired from the PC on the plane of projection.
Here, the case where the projection size of the image acquired from the PC on the plane of projection is changed according to the user instruction includes the following case. For example, the case where the window system 100 is connected to a first PC and a second PC will be described.
A user instructs to change the state from a state (one-screen display) that the projector projects the image received from the first PC on the plane of projection to a state (two-screen display) that the projector together projects the image received from the first PC and the image received from the second PC on the one plane of projection.
In this case, the size of the image received from the first PC on the plane of projection is reduced according to an instruction to switch the state from the one-screen display to the two-screen display. The window system 100 in the present embodiment performs control such that the display of the cursor image projected by the projector is reduced in size according to the instruction to switch the state from the one-screen display to the two-screen display. Therefore, the user can browse the projected image without an uncomfortable feeling.
In such an example as described above, the window system 100 controls the projector. However, the present invention is not limited to this. That is, in the window system, it is possible to control the display apparatus instead of the projector to display the image acquired from the PC and the cursor image generated by the window system 100.
The window system 100 in the present embodiment is, for example, a display controlling apparatus which is connected to the input apparatus (e.g., the PC) and the display apparatus (e.g., the projector).
The window system 100 comprises an acquiring unit which acquires, from the input apparatus, image information of a first image displayed on the display screen of the input apparatus and cursor information indicating the display position of a first cursor image on the display screen of the input apparatus. For example, a cursor display controlling unit 110 serving as the acquiring unit acquires the information related to the position and the movement quantity of the cursor from the device driver 102, as a cursor movement display request.
Further, the window system 100 comprises a deciding unit which decides the display position of a second cursor image in a display range (e.g., the plane of projection on which the projector projects an image) within which the display apparatus displays an image, based on the cursor information acquired by the acquiring unit.
Furthermore, the window system 100 comprises a controlling unit which performs control to display a second image based on the acquired image information and the second cursor image on the display apparatus.
For example, the cursor display controlling unit 110 serving as the deciding unit and the controlling unit decides the display position of the cursor image in the display range within which the projector projects the image, and outputs the display instruction of the cursor image to the projector through the display outputting unit 111.
The controlling unit performs control to change, according to a change of the size of the image to be displayed on the display apparatus, the size of the second cursor image to be displayed on the display apparatus.
The window system 100 in the present embodiment acquires, from the PC, the image information related to the image (the first image) displayed on the display unit of the PC and not including the cursor image. In other words, the window system 100 in the present embodiment discriminates, from each other, the first image and the cursor image displayed on the PC screen, and acquires only the first image from the PC. The window system 100 does not directly acquire the cursor image from the PC, but acquires the cursor information indicating the position and the movement quantity on the display unit of the PC. Then, the window system 100 generates the cursor image based on the cursor information in the window system 100, and causes the projector to project the generated cursor image.
Thus, as compared with the case of acquiring the image including the cursor image from the PC and causing the projector to project the acquired image, it is possible to shorten time (i.e., a period) between the time when the cursor operation is actually performed in the PC and the time when the cursor operation is reflected in the screen content projected by the projector.
The controlling unit in the present embodiment performs control to display a third image corresponding to image information input from the first PC in the display range (i.e., the plane of projection) of the projector. Here, a first state that only the third image is displayed in the display range is called the one-screen display. Further, the controlling unit in the present embodiment performs control to display, in addition to the third image, a fourth image corresponding to image information input from the second PC in the display range. Here, a second state that the third image and the fourth image are together displayed in the display range of the projector by such control as above is called the two-screen display.
The size of the third image which is displayed while the two-screen display is being performed is smaller than the size of the third image which is displayed while the one-screen display is being performed.
The controlling unit in the present embodiment performs control to the projector to switch the display from the one-screen display to the two-screen display, and further performs control to change the size of the second cursor image according to the switch from the one-screen display to the two-screen display.
Thus, in proportion to reduction of the size of the third image, it is possible to reduce the size of the cursor image related to the third image. Here, the cursor image related to the third image is the image of the cursor of which the position and the movement quantity are decided by the operation of the pointing device such as the mouse or the like in the first PC through which the image information of the third image is input.
Likewise, if the state is switched from a state that the two-screen display of the third and fourth images is performed to a state that the one-screen display of the third image is performed, the display area of the third image is enlarged. The window system 100 in the present embodiment can also enlarge the size of the cursor image related to the third image in proportion to the enlargement of the display area of the third image.
Thus, the user can browse the projected image and the cursor image without an uncomfortable feeling.
Hereinafter, the constitution of each of the units in the window system 100 will be described with reference to
To display the PC screen and the cursor, the application 101 generates a window generation request and a cursor generation request for displaying the PC screen and a cursor display request for displaying the cursor, and transfers the generated requests to the window system 100. Further, to perform association, the application generates request instructions such as a cursor-window association request for associating the cursor and the window with each other, a cursor-device association request for associating the cursor and the device with each other, and the like, and transfers the generated request instructions to the window system 100. In addition, the application 101 generates a request for changing the window size and a request instruction for changing the window position, and transfers them to the window system 100.
To perform a cursor movement display in the events by the network and the device such as the mouse or the like, the device driver 102 generates request instructions such as a device generation request, a cursor movement display request and the like, and transfers the generated request instructions to the window system 100. In addition, the device driver generates a cursor-device association information request instruction for acquiring the cursor associated with the device, and transfers the generated instruction to the window system 100.
The window system 100 comprises a resource managing unit 106, a cursor-device associating unit 103 and a cursor-window associating unit 104 which are related to the associations, and an association managing unit 105. In addition, the window system comprises a cursor scaling unit 107, a cursor Z order changing unit 108, a cursor display area changing unit 109 and a cursor display controlling unit 110 which are related to a cursor display update.
The resource managing unit 106 manages resource information according to generation, deletion and information update of the window, the cursor, the device and the like, and returns the identifiers for identifying the respective resources in response to the generation requests from the application 101 and the device driver 102. Further, the resource managing unit updates necessary information in response to resource information update notifications from the association managing unit 105 and the cursor display controlling unit 110. When the resource information is updated, the resource managing unit notifies the information update to the cursor scaling unit 107, the cursor Z order changing unit 108 and the cursor display area changing unit 109.
The cursor-device associating unit 103 provides the function to associate the cursor and the device with each other to the application 101, performs the association of the cursor and the device designated, deletes the association, and requests the update of association to the association managing unit 105.
The cursor-window associating unit 104 provides the function to associate the cursor and the window with each other to the application 101, performs the association of the designated cursor and window and deletion of the association, and requests update of association to the association managing unit 105.
The association managing unit 105 manages the information associated by the cursor-device associating unit 103 and the cursor-window associating unit 104. The association managing unit performs the information update while exchanging necessary information with the resource managing unit 106. The association information to be managed is requested from the device driver 102. Further, the association information is requested from the cursor scaling unit 107, the cursor Z order changing unit 108, the cursor display area changing unit 109 and the cursor display controlling unit 110.
If an information update notification is received from the resource managing unit 106, the cursor scaling unit 107 acquires the cursor association information from the association managing unit 105. If it is necessary from the cursor association information to change the cursor size due to a change of the window size or the like, the cursor scaling unit calculates the size of the cursor, performs scaling, and then requests the cursor display update to the cursor display controlling unit 110.
If the information update notification is received from the resource managing unit 106, the cursor Z order changing unit 108 acquires the cursor association information from the association managing unit 105. If it is necessary from the cursor association information to change cursor Z order due to generation of the window, a change of the Z order or the like, the cursor Z order changing unit updates the cursor Z order, and then requests the cursor display update to the cursor display controlling unit 110.
If the information update notification is received from the resource managing unit 106, the cursor display area changing unit 109 acquires the cursor association information from the association managing unit 105. If it is necessary from the cursor association information to change a cursor display area due to a change of the window size or the like, the cursor display area changing unit updates the cursor display area, and then requests the cursor display update to the cursor display controlling unit 110.
The cursor display controlling unit 110 receives a cursor display/non-display (hiding) from the application 101, receives the cursor movement display from the device driver 102, acquires the cursor association information from the association managing unit 105, and updates the cursor display. Likewise, the cursor display controlling unit updates the cursor display based on the cursor display update from the cursor scaling unit 107, the cursor Z order changing unit 108 or the cursor display area changing unit 109. After the cursor display update, the cursor display controlling unit notifies a new cursor display position to the resource managing unit 106, and outputs the display result on which the window and the cursor are superposed to the display outputting unit 111.
The whole of the window management information further includes a window start position 404 indicated by (X coordinate, Y coordinate), and a window size 405 indicated by (width, height). Here, each of the window start position 404 and the window size 405 is the value designated from the application 101 when the window is generated by the window generation request 200. The whole of the window management information further includes window Z order 406 which means the hierarchical value in the depth direction of the window. As the window Z order, a unique value is set by considering all the generated windows in the resource managing unit 106, when the window is generated or the Z order of the window is changed.
More specifically, the window information 502 indicates a window 1, and the Z order thereof is 1. The window information 503 indicates a window 2, and the Z order thereof is 2. The window information 504 indicates a window N, and the Z order thereof is N. Here, it should be noted that the Z order having the smaller value is displayed on a deeper side, and that the Z order having the larger value is displayed on a more front size. In the window list, the windows beginning from the root window are link-listed in the order of lower Z order.
Here, the whole of device management information 700, which exists by one in one window, includes a pointer 701 to the device management information to be displayed next to the current device, a pointer 702 to the device management information to be displayed previous to the current device, and a device identifier 703 of the current device. The value of the device identifier is transferred from the resource managing unit 106 to the device driver 102 when the device is generated by the device generation request 600.
The whole of the device management information further includes a device type 704, and a device name 705. Incidentally, each of the device type 704 and the device name 705 is the value which is designated by the device driver 102 when the window is generated by the device generation request 600. The whole of the device management information further includes an association cursor identifier 706 which is associated with the current device. The association cursor identifier 706 is set by the cursor-device associating unit 103, and used for the management by the association managing unit 105. The association cursor identifier 706 is not used in the resource managing unit 106.
The whole of the device list further includes information 802 and 803 indicating devices generated by the device driver 102. More specifically, the information 802 indicates a device 2, and the information 803 indicates a device N. In the device list, the devices generated from the device driver 102 are simply link-listed in order.
The cursor generation request further includes a cursor image format 904 of the cursor to be generated, a cursor image size 905 by which the cursor image size is designated by a rectangular area of (width, height), and a pointer 906 to the cursor image by which the pointer to the actual cursor image is designated. Incidentally, each of the cursor start position 902, the cursor movement range 903, the cursor image format 904, the cursor image size 905 and the pointer 906 is the area which is used to transfer the set value from the application 101 to the resource managing unit 106.
In response to the cursor generation request 900 from the application 101, the cursor having the size (Wx, Hc) designated by the cursor image size 905 is arranged at the position (Xc, Yx) designated by the cursor start position 902.
The whole of the cursor management information further includes a cursor identifier 1103 of the current cursor. The cursor identifier is the value which is transferred from the resource managing unit 106 to the application 101 when the cursor is generated by the cursor generation request 900. The whole of the cursor management information further includes a cursor display position 1104 indicated by (X coordinate, Y coordinate), a cursor start position 1105 indicated by (X coordinate, Y coordinate), and a cursor movement range 1106 indicated by (X coordinate, Y coordinate, width, height).
The whole of the cursor management information further includes a cursor image format 1107, a cursor image size 1108 indicated by (width, height), and a pointer 1109 to the cursor image. Here, each of the cursor start position 1105 to the pointer 1109 is the value which is designated from the application 101 when the cursor is generated by the cursor generation request 900.
The whole of the cursor management information further includes cursor Z order 1110 which means the hierarchical value in the depth direction of the cursor. As the cursor Z order 1110, a unique value is set by considering the Z order value of the associated window with the cursor Z order changing unit 108 when the cursor is generated, the associated window is generated, or the Z order is changed. The whole of the cursor management information further includes an association window identifier 111 which is associated with the current cursor, and an association device identifier 1112 which is associated with the current cursor. Here, the association window identifier 1111 and the association device identifier 1112 are respectively set by the cursor-window associating unit 104 and the cursor-device associating unit 103, and these identifiers are used for the management of the association managing unit 105. The association window identifier 1111 and the association device identifier 1112 are not used in the resource managing unit 106.
The whole of a cursor list 1200 includes information 1201 indicating a cursor 1 which is first generated by the application 101, and cursor information 1202 and 1203 indicating cursors which are generated by the application 101. More specifically, the information 1202 indicates a cursor 2, and the information 1203 indicates a cursor N. In the cursor list, the cursors generated from the application 101 are simply link-listed in order.
The whole of a cursor-device association request 1300 includes a device identifier 1301 of the device to be associated, and a cursor identifier 1302 of the cursor to be associated. Incidentally, each of the device identifier 1301 and the cursor identifier 1302 is the area which is used to transfer the set value of the association from the application 101 to the cursor-device associating unit 103.
The whole of a cursor-window association request 1400 includes a window identifier 1401 of the window to be associated, and a cursor identifier 1402 of the cursor to be associated. Incidentally, each of the window identifier 1401 and the cursor identifier 1402 is the area which is used to transfer the set value of the association from the application 101 to the cursor-window associating unit 104. The cursor-window associating unit 104 notifies the association managing unit 105 of the association information to be updated.
The association managing unit 105 updates the association window identifier 1111 of the relevant cursor management information 1100 from the resource managing unit 106 to the designated window identifier. If the association device identifier 1112 of the relevant cursor management information 1100 has been registered, the association cursor identifier 706 of the relevant device management information 700 is updated to the identifier of the association window identifier 1111 of the cursor management information 1100.
The whole of a window position change request 1500 includes a window identifier 1501 of the window to be changed, and a window start position 1502 indicating the start position of the changed window. The window start position 1502 is designated in the form of (X coordinate, Y coordinate). Each of the window identifier 1501 and the window start position 1502 is the area which is used to transfer the set value from the application 101 to the resource managing unit 106.
The whole of a window size change request 1600 includes a window identifier 1601 of the window of which the size is to be changed, and a window size 1602 indicating the size of change. The window size 1602 is designated in the form of (width, height). Each of the window identifier 1601 and the window size 1602 is the area which is used to transfer the set value from the application 101 to the resource managing unit 106.
The whole of a cursor identifier acquisition request 1700 associated with the device incudes a device identifier 1701 which is the area to be used to transfer the generated device identifier from the device driver 102 to the association managing unit 105, and a cursor identifier 1702 which is the area to be used to transfer the associated cursor identifier from the association managing unit 105 to the device driver 102.
The whole of a cursor display position change request 1800 includes a cursor identifier 1801 of the cursor of which the display position is to be changed, and a cursor display position 1802 indicating the change display destination position. The cursor display position 1802 is designated in the form of (X coordinate, Y coordinate). Each of the cursor identifier 1801 and the cursor display position 1802 is the area which is used to transfer the set value from the device driver 102 to the cursor display controlling unit 110.
The overall process is started from S1901, and the following processes are performed in the necessary window by the application 101.
In S1902, by the window generation request 200 of
The window start position 202 is registered to the window start position 404, and the window size 203 is registered to the window size 405. After the information was generated, the Z order of the window group is reconstituted. Here, “1” is added to the Z order in order of generation, and the acquired Z order is registered to the window Z order 406. The pointer to the window management information of which the Z order is previous by “1” to the generated window is registered to the pointer 402 to the previous window information of the window management information 400.
If the Z order is “1”, then the pointer to the root window information is registered. In the window management information 400 registered to the pointer 402 to the previous window information, the pointer to the window management information generated this time is registered to the pointer 401 to the next window information. Here, the root window is the special window which is generated when the window system is initialized. After the device generation, the process is advanced to S1903.
In S1903, it is checked whether or not all the necessary windows are generated. If it is checked that all the necessary windows are not generated yet, the process is returned to S1901. On the other hand, if it is checked that all the necessary windows are generated, the process is advanced to S1904. In the latter case, the generated windows are managed based on the window list 500 of
From S1904, the application 101 performs the following processes for the necessary cursor.
In S1905, by the cursor generation request 900 of
The cursor start position 902 is registered to the cursor start position 1105, and the cursor movement range 903 is registered to the cursor movement range 1106. Likewise, the cursor image format 904, the cursor image size 905, and the pointer 906 to the cursor image are respectively registered to the cursor image format 1107, the cursor image size 1108, and the pointer 1109 to the cursor image.
Further, the pointer to the cursor management information generated previously by one is registered to the pointer 1102 to the cursor information previous to the cursor management information 1100. In case of first generation, “NULL” is registered. In a case where there is the cursor generated previously by one, the pointer to the cursor management information generated this time is registered to the pointer 1101 to the device information next to the one-previous cursor management information 1100. The display of the generated cursor is illustrated in
In S1906, the cursor and the window are associated with each other using the cursor-window association request 1400 of
In S1907, the cursor and the device are associated with each other using the cursor-device association request 1300 of
In S1908, it is checked whether or not all the necessary cursors are generated. If it is checked that all the necessary cursors are not generated yet, the process is returned to S1904. On the other hand, if it is checked that all the necessary cursors are generated, the process is advanced to S1909. In the latter case, the generated cursors are managed based on the cursor list 1200 of
In S1909, it is checked whether or not to end the process of the application. If it is checked to end, the process in the application 101 is ended. On the other hand, if it is checked not to end, the process is advanced to S1910.
In S1910, the application checks whether or not an event occurs in the managed window or the managed cursor. If the event does not occur, the process is returned to S1909. On the other hand, if the event occurs, the process is advanced to S1911.
In S1911, it is judged whether or not to change the window size in the window in which the event occurs. If it is judged not to change the window size, the process is advanced to S1913. On the other hand, if it is judged to change the window size, the process is advanced to S1912.
In S1912, the window size is changed and the cursor size linked thereto is changed using the window size change request 1600 of
In S1913, it is judged, in the window in which the event occurs, whether or not to change the window position. If it is judged not to change the window position, the process is returned to S1909. On the other hand, if it is judged to change the window position, the process is advanced to S1914.
In S1914, the window position is changed and the cursor display position linked thereto is changed using the window position change request 1500 of
By associating the window and the cursor with each other with the application 101 according to the above process, it is possible to perform the associated cursor display control due to the changes of the window size and the window position.
Besides, by associating the device and the cursor with each other, it is possible to perform the cursor display control by the device driver 102. Thus, it is possible to easily perform the cursor display control which is linked to the change of the window.
The overall process is started from S2001, and the following processes are performed in the necessary device by the device driver 102.
In S2002, by the device generation request 600 of
The device type 602 is registered to the device type 704, and the device name 603 is registered to the device name 705. Further, the pointer to the device management information generated previously by one is registered to the pointer 702 to the device information previous to the device management information 700. In case of first generation, “NULL” is registered. In a case where there is the device generated previously by one, the pointer to the device management information generated this time is registered to the pointer 701 to the device information next to the one-previous device management information 700. After the device generation, the process is advanced to S2003.
In S2003, it is checked whether or not all the necessary cursors are generated. If it is checked that all the necessary cursors are not generated yet, the process is returned to S2001. On the other hand, if it is checked that all the necessary cursors are generated, the process is advanced to S2004. In the latter case, the generated devices are managed based on the device list 800 of
In S2004, it is checked whether or not to end the process of the device driver. If it is checked to end the process, the process in the device driver 102 is ended. On the other hand, if it is checked not to end the process, the process is advanced to S2005.
In S2005, the device driver checks whether or not an event occurs from the managed device by a mouse operation or the like. If the event does not occur, the process is returned to S2004. On the other hand, if the event occurs, the process is advanced to S2006.
In S2006, in the device in which the event occurs, the cursor identifier 1702 is acquired by the cursor identifier acquisition request 1700 associated with the device in
In S2007, it is checked, based on the fact that the acquired cursor identifier 1702 is valid, whether or not the associated cursor exists. If it is checked that the associated cursor does not exist, the process is returned to S2004. On the other hand, if it is checked that the associated cursor exists, the process is advanced to S2008.
In S2008, a new cursor display position is calculated from the device movement quantity due to the event occurrence and the current cursor display position acquired from the resource managing unit 106. After the calculation, the process is advanced to S2009.
In S2009, the cursor display position is updated using the cursor display position change request 1800 of
By the above process, it is possible to update the cursor display position in the device event by the device driver 102. Thus, it is possible to easily perform the cursor display in the window associated with the cursor, by operating the display position to the cursor associated with the device.
Incidentally, the process in the application 101 of
In S2101, by the cursor-window association request 1400 of
In S2102, the window identifier is registered to the association window identifier 1111 of the acquired cursor management information 1100. After the registration, the process is advanced to S2103. The process up to this corresponds to the process to be performed by the cursor-window associating unit 104.
In S2103, the cursor display position 1104 of the cursor management information 1100 is changed to the window start position 404 of the window management information 400 of the associated window. For example, in a case where the cursor display position is given by the X coordinate 120 and the Y coordinate 100, if the coordinates of the start position of the window to be associated are the X coordinate 100 and the Y coordinate 60, the coordinates of the cursor display position are updated to the X coordinate 100 and the Y coordinate 60. After the update, the cursor movement range is changed to have the size of the associated window, and the process is advanced to S2104. This is the process to be performed by the cursor display area changing unit 109.
In S2104, the cursor Z order changing unit 108 generates the Z order value of the associated cursor from the window Z order. The detailed process in S2104 will be described with reference to a flow chart of
By the above process, it is possible to associate the window and the cursor with each other. Thus, since it is possible to easily specify the cursor associated with the window and the window associated with the cursor, it is possible to update the cursor information and perform the display control in linkage with the change of the window information.
In the association of the window size and the cursor size, the current cursor size in the window size at the time of the association is used as the basic value. Therefore, the cursor size (Wc, Hc) in the window size (Ww, Hw) is the basic association.
In S2301, by the cursor-window association request 1400 of
In S2302, the fact that the cursor Z order is updated by the association is notified to the resource managing unit 106. After the notification, the cursor Z order generating process is ended.
By the above process, it is possible to set the Z order of the associated window as the Z order of the cursor. Thus, in the cursor associated with the window, it is possible to judge the display control by the Z order.
In S2401, by the cursor-device association request 1300 of
In S2402, the cursor identifier is registered to the association cursor identifier 706 of the acquired device management information 700. Further, the device identifier is registered to the association device identifier 1112 of the acquired cursor management information 1100.
By the above process, it is possible to associate the device and the cursor with each other. Thus, it is possible to easily specify the cursor associated with the device and the device associated with the cursor.
In S2501, by the cursor display position change request 1800 of
In S2502, it is checked whether or not the position at the cursor display position 1802 of the cursor display position change request 1800 is within the area of the window associated with the cursor. Here, the area of the window is calculated from the window start position 404 and the window size 405 of the window management information 400. If it is checked that the cursor display position 1802 is outside the window area, the process is advanced to S2504. On the other hand, if it is checked that the cursor display position is within the window area, the process is advanced to S2503.
In S2503, the current cursor position is drawn to the position designated by the cursor display position 1802. After the drawing, the process is advanced to S2505.
In S2504, the value of the window area which is closest respectively to the X coordinate and the Y coordinate of the cursor display position 1802, and the cursor is drawn using the calculated position as the cursor display position. After the drawing, the process is advanced to S2505.
In S2505, it is checked whether or not, at the cursor display position decided in S2503 or S2504, there is the window of which the Z order is larger than the Z order of the drawn cursor. If the cursor is associated with the window in the process of
If the cursor is associated with the window and there is the window of which the Z order is larger than the Z order of the cursor, the process is advanced to S2506. On the other hand, if the cursor is associated with the window and there is no window of which the Z order is larger than the Z order of the cursor, the process is advanced to S2507. Also, if the cursor is not associated (that is, if the Z order of the cursor is the default “0”), the process is advanced to S2507.
In S2506, the cursor is deleted by hiding (non-display) the current cursor display. After the hiding, the cursor display position updating process is ended.
In S2507, the current cursor is displayed. After the display, the cursor display position updating process is ended.
If the process is ended, as illustrated in
By the above process, since the window and the cursor are associated with each other, it is possible to easily display the cursor in the area of the associated window. Further, it is possible to easily perform the cursor display control in linkage with the Z order of the associated window.
In S2601, by the window size change request 1600 of
In S2602 and the subsequent steps, the following processes are performed to all the generated cursors.
In S2603, it is checked whether or not the association window identifier 1111 of the cursor management information 1100 is the same as the window identifier 1601 (that is, it is checked whether or not the association window identifier to be size-changed has been registered in the cursor management information). If it is checked that these identifiers are different from each other, the process is advanced to S2608. On the other hand, if it is checked that these identifiers are the same, the process is advanced to S2604.
In S2604, the size of the cursor image size 1108 of the cursor management information 1100 is decided based on the ratio calculated in S2601. For example, if the cursor size is given by the width 32 and the height 32, each of the width and the height is decided to 16. If the size is decided, the value of the cursor image size 1108 is updated, and the process is advanced to S2605.
In S2605, the cursor image is scaled to the updated size. After the scaling, the process is advanced to S2606.
In S2606, the cursor display position 1104 of the cursor management information 1100 is recalculated and decided based on the ratio calculated in S2601. Here, the distance between the cursor start position to the current cursor display position is changed based on the ratio. For example, if the window start position is given by the X coordinate 100 and the Y coordinate 60 and the cursor display position is given by the X coordinate 140 and the Y coordinate 80, the distance between the window start position and the cursor display position is given by the X coordinate 40 and the Y coordinate 20.
In the difference of the distance, the X coordinate 20 and the Y coordinate 10 are obtained by multiplying the X coordinate by the ratio of the width 0.50 and multiplying the Y coordinate by the ratio of the height 0.50. As a result, the cursor display position is given by the X coordinate 120 and the Y coordinate 70. If the display position is decided, the process is advanced to S2607.
In S2607, the value of the cursor display position 1104 is updated, and the process is advanced to S2608.
In S2608, it is checked whether or not all the generated cursors have been processed. If it is checked that all the cursors are not yet processed, the process is returned to S2602. On the other hand, if it is checked that all the cursors have been processed, the process is advanced to S2609.
In S2609, the display request is transferred to the cursor display controlling unit 110 so as to draw the scaled cursor image to the changed display position in the size-changed window. After the drawing, the cursor size changing process by the window size change is ended.
By the above process, since the window and the cursor are associated with each other, it is possible to easily scale the cursor size in linkage with the change of the window size and to easily change and display the cursor display position. Further, it is possible to associate a plurality of cursors with one window. In this case, it is possible to scale all the cursor sizes associated with the window. Furthermore, it is possible to change and display all the cursor display positions associated with the window.
In S2701, by the window position change request 1500 of
In S2702 and the subsequent steps, the following processes are performed to all the generated cursors.
In S2703, it is checked whether or not the association window identifier 1111 of the cursor management information 1100 is the same as the window identifier 1501 (that is, whether or not the association window identifier to be moved has been registered in the cursor management information). If it is checked that these identifiers are different from each other, the process is advanced to S2706. On the other hand, if it is checked that these identifiers are the same, the process is advanced to S2704.
In S2704, the cursor display position 1104 of the cursor management information 1100 is decided based on the difference calculated in S2701. For example, if the coordinates of the cursor display position are the X coordinate 140 and the Y coordinate 80, the X coordinate is changed to 90 and the Y coordinate is changed to 100. If the display position is decided, the process is advanced to S2705.
In S2705, the value of the cursor display position 1104 is updated, the size of the cursor movement range is changed to the size of the associated window, and the process is advanced to S2706.
In S2706, it is checked whether or not the process to all the generated cursors is completed. If it is checked that all the generated cursors are not yet processed completely, the process is returned to S2702. On the other hand, if it is checked that all the generated cursors have been processed, the process is advanced to S2707.
In S2707, the cursor image of which the display position has been changed is drawn in the window of which the position has been changed. After the drawing, the cursor display position changing process based on the window position is ended.
By the above process, since the window and the cursor are associated with each other, it is possible to easily change and display the cursor display position in linkage with the change of the window start position. Further, it is possible to associate a plurality of cursors with one window. In this case, it is possible to change and display all the cursor display positions associated with the window.
In the above description, the one cursor is associated with the one window. However, it is possible to associate a plurality of cursors with one window. Such a case will be illustrated in
In
Therefore, the cursor 2902 is associated with the mouse device of the computer A, the cursor 2903 is associated with the mouse device of the computer B, the cursor 2904 is associated with the mouse device of the computer C, and the cursor 2905 is associated with the mouse device of the computer D. In addition, the relevant four cursors are associated with the window 2901.
The whole of a display screen 2906 includes a screen 2907 corresponding to the PC screen transfer window 2901 of
Further, the display screen includes a moving image window 2908 for which any cursor is not used. Furthermore, the display screen includes cursors 2909, 2910, 2911 and 2912 of which the sizes and the display positions are changed due to the two-screen display. More specifically, the cursor 2909 corresponds to the cursor 2902 of
The window size of the window 2901 is first changed. Then, the cursor image sizes and the cursor display positions of the associated four cursors are changed according to the ratio of the window size change. After then, the respective cursor display positions of the associated four cursors are changed based on the differences of the window positions according to the position change of the window 2901.
Finally, the changed cursors 2909, 2910, 2911 and 2912 are displayed in the changed window 2907, and the display screen illustrated in
As above, in the window system according to the present embodiment, it is possible, by associating the window and the cursor with each other, to perform the cursor display control in linkage with the window change. Moreover, it is possible, by associating the device and the cursor with each other, to perform the cursor display control in linkage with the device operation. Therefore, the visibility of the cursor is improved by the linkage of the cursor display in the window and device operations by the user.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2014-010802, filed Jan. 23, 2014, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2014-010802 | Jan 2014 | JP | national |