BACKGROUND OF THE INVENTION
FIELD OF THE INVENTION
[0001] This invention relates to a method of controlling a display screen of a terminal
unit of a data processing system, or more in particular, to a display control method
for a multi-window system in which a plurality of rectangular display regions called
windows are set in a display screen for independent data display in each window.
DESCRIPTION OF THE PRIOR ART
[0002] In a data processing terminal having a display unit, a retangular region called a
"window" is set on the display screen, and data representing such as a document and
read-out from a data file unit is displayed in this window. By key input operation
while referring to this window another document is displayed in another region on
the display screen. In what is called a multi-window system with a plurality of windows
set on a single display screen, the windows are set in partially overlapped relationship
with each other. By shifting the window display position or changing the order in
preference of display, the display in a given window which has been initially hidden
in part behind another window can be made wholely visible.
[0003] In the multi-window system, the respective windows set on the display screen correspond
to logical or virtual display screens set on a memory which is referred to by a data
processing system. Data stored in a part of this virtual screen is extracted, and
developed as a bit map in a predetermined region on a frame memory corresponding to
an actual display screen so as to be read-out as the contents to be displayed in the
window.
[0004] Data representing the position and size of each window on the actual screen and the
correspondence between the window and an extraction region on the virtual screen are
registered in a specific area alloted to that window on a window control table, so
that the operator can, by inputting a screen operation command into the data processing
system, change and control the contents of the display in any desired window on the
display screen by reference to the window control table.
[0005] Assume, for example, that the operator designates a specific one window by cursor
and gives a command to shift this window to another position on the screen designated
by cursor. On the window control table, the positional data of the particular window
is rewritten and the contents of the frame memory are changed, thereby shifting the
window position on the display screen. When a window is specified and a command to
change the size thereof is given, on the other hand, the window size data on the window
control table is rewritten, and the contents of the frame memory are changed so that
a window of a different size appears on the display screen. Further, if a command
is given to scroll the contents of display in a window, the position of a partial
region on the virtual screen from which the data to be displayed is extracted is shifted
so thst an image corresponding to the shifted region is displayed in the window.
[0006] In conventional multi-window systems, the position of a window is changed in such
a manner that after the original window is cancelled from the screen, data is again
extracted from a partial region on the virtual memory corresponding to the new window,
and developed as a bit map at the new window position on the frame memory. In changing
the window size, too, data is extracted from a partial region on the virtual memory
corresponding to a new window size and developed as a bit map on the frame memory.
This is also the case with the scrolling process, in which all the data required for
display after scrolling are extracted from the virtual screen and developed as a bit
map on the frame memory. The process of developing display data into a bit map such
as converting data stored in the form of character code on the virtual screen into
the form of character font, however, takes considerable time, and therefore a conventional
method in which all the contents to be newly displayed must be developed into a bit
map has a problem that it cannot rapidly replace the contents on the display screen.
[0007] In a multi-window system where a plurality of windows are set in a partially overlapped
relationship with each other on the display screen, on the other hand, the data for
a window lower in display order extracted from the virtual screen and supplied to
the frame memory must exclude those data corresponding to the invisible part thereof
overlapped with another window higher in display order. For the purpose of such partial
display or non-display in each window as mentioned above, Japanese Patent Publication
JP-A-59-102284 (1984) discloses a control system in which each window is divided into
a plurality of rectangular subregions along the sides of other windows overlapped
therewith as dividing lines, the data representing the position and size of each subregion
together with the data discriminating each subregion "visual" (displayable) or "non-visual"
(non-displayable) are stored in a visible region control table, and display data are
applied only to the displayable subregions.
[0008] In the conventional multi-window systems, the above-mentioned data set on the display
screen for visible and non-visible subregions on each of all the windows are always
registered in the visible region control table, and in the case of a change in the
display order or positional relationship of the windows or addition of another window
on the screen, the data in the visible region control table are updated in accordance
with the new arrangement in display of the display screen, thus making it possible
to change the display of any selected window immediately by referring to the control
table. With the complication of superimposition of windows on the display screen,
however, windows are much divided into smaller subregions, resulting in that the conventional
methods in which the data for visible subregions of all the windows must be always
stored require a large memory capacity of the visible region control table, as well
as a problem of an increased processing time for updating the data of the table.
SUMMARY OF THE INVENTION
[0009] An object of the present invention is to provide a display control method for a multi-window
system which allows to use a reduced memory capacity for the control data necessary
for discriminating visible and non-visible regions in each of the windows set on the
display screen.
[0010] Another object of the present invention is to provide a display control method for
a multi-window system in which the display arrangement of the display screen can be
changed at high speed.
[0011] In order to achieve the above-mentioned objects, there is provided according to the
present invention a display control method in which the visible region of an object
window of which the content of display are required to be changed, is calculated on
the basis of current relative positions of the windows on the display screen, and
display data is applied to the visible region thus determined. For calculation of
the visible region, the object window is collated with other windows (reference windows)
sequentially, and if the object window is overlapped with one of the reference windows,
it is divided into a plurality of rectangular subregions, of which those subregions
which are not overlapped with the one reference window are selected as new rectangular
regions to be divided, and each of the new regions is collated with other reference
windows, sequentially, and repeating such sequential subdivision of the rectangular
regions.
[0012] Specifically, the present invention provides a display control method for a multi-window
system comprising a display screen in which a plurality of rectangular windows are
set, first memory means for storing display data correspondingly to positions to be
displayed on the display screen, second memory means for storing a plurality of display
data for virtual screens corresponding to the windows, respectively, each window displaying
data contained in a partial region of the corresponding virtual screen, third memory
means for storing definition data representing the correspondency between position
data of each window on the display screen and the virtual screen, and control means
for rewriting a part of the display data stored in the first memory means, the display
control method comprising the first step of collating an object window designated
as an object of display control with a plurality of other windows selected sequentially
as reference windows on the display screen, on the basis of the positional data stored
in the third memory means, and if the object window crosses one of the reference windows,
dividing the object window into subregions overlapped with the reference window and
at least one rectangular non-overlapped subregion along the boundaries with the overlapped
subregions as dividing lines; the second step of collating the non-overlapped subregion
thus obtained as a dividing object rectangle region with another reference window
and if the object rectangle region crosses the reference window, dividing the object
rectangle region into subregions overlapped with the another reference window and
at least one rectangular non-overlapped subregion, and repeatedly applying the collation
and the division into subregions to a newly obtained non-overlapped subregion, as
a new dividing object rectangular region, until no reference window to be collated
with remains, and the third step of rewriting a part of the display data in the first
memory means in accordance with the result of division of the object rectangular region,
thereby changing the contents of display in the visible region included in the object
window on the display screen.
[0013] In the display control method according to the present invention in which a visible
region in a window is calculated as required, the capacity of memory area in the visible
region control table is greatly reduced as compared with the conventional system.
Assume that a window on the display screen is designated, and an operator takes care
of data input and output with respect to this window. The definition data for the
visible region determined by sequential division of a rectangular region is stored
in the visible region control table and utilized for subsequent display control. When
the control object is changed from one to another window, this definition data is
kept stored if the visible region control table has a sufficient storage capacity.
If no area remains for storing new definition data for a visible region determined
for another window, however, the old definition data is delated and the delated definition
data will be again calculated when required.
[0014] In the present invention, the definition data for a visible region are not always
stored in the control table, but may be used provisionally for the purpose of change
of the display order or deletion of a given window.
[0015] The foregoing and other objects, advantages, manner of operation and novel features
of the present invention will be understood from the following detailed description
when read in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016]
Fig. 1 is a block diagram showing the configuration of a multi-window system embodying
the present invention.
Fig. 2 is a diagram for explaining the relationship between a window set on the display
screen and a partial region of the virtual screen displayed on the window.
Fig. 3 is a diagram for explaining the visible region in a window overlapped with
another window.
Figs. 4A and 4B are diagrams for explaining a method of sequential division of the
display region for calculating the visible region according to the present invention.
Fig. 5A shows a configuration of a window control table.
Fig. 5B shows a configuration of a visible region control table.
Fig. 5C shows a detailed view of data blocks of the visible region control table.
Fig. 6 is a program flowchart for executing the sequential division of a display region.
Fig. 7 is a flowchart showing an embodiment of a subroutine constructing the program
of Fig. 6.
Figs. 8A and 8B are diagrams for explaining the display screen from which a window
is deleted according to a second embodiment of the present invention.
Fig. 9 is a flowchart of a program for realizing the second embodiment.
Figs. 10A and 10B are diagrams for explaining the display screen in which the order
in display of window is changed according to a third embodiment of the present invention.
Fig. 11 is a flowchart of a program for realizing the third embodiment of the present
invention.
Figs. 12A and 12B are diagrams for explaining the display screen in which the size
of a window is changed according to a fourth embodiment of the present invention.
Fig. 13 is a flowchart for a program for realizing the fourth embodiment.
Fig. 14 is a diagram for explaining the display screen in which the position of a
window is shifted according to a fifth embodiment of the present invention.
Fig. 15 is a flowchart of a program for realizing the fifth embodiment.
Fig. 16 is a diagram for explaining the display screen of which the display is scrolled
according to a sixth embodiment of the present invention.
Fig. 17 is a diagram for explaining a virtual screen used in the sixth embodiment.
Fig. 18 is a diagram for explaining a redisplay region for data on the display screen
according to the sixth embodiment.
Fig. 19 is a flowchart of a program for realizing the sixth embodiment.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] Fig. 1 is a block diagram showing a general configuration of terminal device for
a multi-window system according to the present invention. In Fig. 1, reference numeral
11 designates a data processing unit (CPU) for controlling the general operation of
the terminal device, numeral 12 a memory for storing a program executed by the CPU,
numeral 13 a work memory for temporarily storing the data generated in the process
of execution of the program, numeral 14 a memory for storing the table data for window
control, numeral 15 a memory for storing the table data for controlling the visible
subregion in a window, numeral 16 an auxiliary memory for storing file data such as
document data, and numeral 17 a memory for storing the data of a virtual screen corresponding
to each window, which are read out of the auxiliary memory 16. Numeral 18 designates
a character font memory for storing a character font corresponding to a character
code, numeral 19 a keyboard for entering the data and various commands, numeral 20
a bit map processor (BMP) for developing the display data as a bit map on a bit map
memory 22 (frame memory), numeral 21 a memory for storing various commands for operating
the BMP 20 and numeral 23 a CRT controller for reading the contents of the frame memory
22 sequentially and applying the same to CRT 30.
[0018] Fig. 2 shows the relationship between a virtual screen 60 provided in the memory
17 and a window 31 set on a display screen (actual screen) 30. In this example, the
position and size of the window is expressed by the X-Y coordinate (X
1, Y
1) of the starting point (upper left corner) and the X-Y coordinate (X
1', Y
1') of ending point (lower right corner) of the window rectangle. The values of X and
Y coordinates increase in downward and rightward directions, respectively. The virtual
screen 60 has the same size as the actual screen 30, and the data positioned in a
region S occupying a part thereof is displayed on the window 31. The virtual screen
60, however, may be larger than the actual screen 30. The position and size of the
partial region S, like the window 31, is expressed by the X-Y coordinate (x
l, y
l) and (x
1', y
1') of the starting and ending points respectively. The correspondency between the
window 31 and the partial region S is stored in the window control table 140 described
later with reference to Fig. 5A.
[0019] Fig. 3 shows a display screen of a multi-window system in which a plurality of windows
W
1, W
2' W3' W4 are displayed overlapped on the display screen 30. In the illustrated positional
relationship, the display order of the window W
1 is highest, the display order of the window W
4 is lowest and the display order of the window W
2 is lower than that of the window W
1 but higher than that of the window W
3. Assume that the order in display of the windows is determined such that the window
W
3 is positioned under the windows W
1 and W
2, and only a part thereof including subregions w
31, w
32 and
w33 are visible as shown in Fig. 3. According to the present invention, these visible
subregions w
31 to w
33 in the window w
3 are determined for display control in the manner mentioned below.
[0020] First, the object window w
3 to be checked for division is collated with the window W
1 (reference window) having the highest display order to see whether these two windows
cross each other. In the case where the coordinates of the starting and ending points
of the object window W
3 are given as (X
3, Y
3), (
X3',
Y3') and those of the reference window W
1 as (X
1, Y
1), (X
1', Y
1') respectively, the following relationship holds if the windows W
1 and W
3 cross and the overlapped with each other.

In the case where there is any overlapped portion, the window W
3 is divided into a plurality of subregions by a dividing line along any of the upper,
lower, left and right sides of the window W
1 located within the window W
3. In an example shown in Fig. 4A, the window W
3 is divided into two parts by the lower side (coordinate Y
1') of the window W
1, and the upper part is further halved by the right side (coordinate X
1') of the window W
1, thus obtaining three subregions a, b and c. Of these subregions, the subregion a
is completely covered by the window W
1 and therefore becomes an invisible region, while the subregions b and c remain as
visible regions (if the window W
2 is cancelled).
[0021] According to the present invention, the subregions b and c which have remained as
invisible regions (non-overlapped regions) are taken as object subregions, and checked
with respect to the window W
2 having the second highest display order within the windows whose display orders are
higher than the window W
3 as a reference window by repeating a similar dividing process to that applied to
the window 3 by using the window W
1 as a reference window. As a result, as shown in Fig. 4B, the subregion b is further
divided into b
l and b
2, and the subregion c into c
1, c
2 and c
3, so that the three subregions b
l, c
1 and c
2 except for b
2 and c
2, which are completely covered by the window w
2, remain as visible subregions. If there is any other window having higher display
order than the window W
3, the subregions b
l, c
l and c
3 are further checked with respect to the windows W
3 and divided into visible and ono-visible subregions. In the case under consideration,
the subregions b
l, c
1 and c
3 make up the final visible subregions corresponding to the visible subregions w
31,
w32 and
w33 respectively in Fig. 3.
[0022] Fig. 5A shows a construction of the window control table 140 formed in the memory
14. Such window control table 140 are prepared in correspondence with the windows
W
1 to W
4 set on the display screen respectively. Each table includes a display order 141 of
that window, assuming that each window is identified by its display order, an identification
number 142 of the virtual screen corresponding to the window, a pointer 143 for the
visible region table described below, the number 144 of visible subregions, X-Y coordinate
145 of the starting point of the window, the X-Y coordinate 146 of the ending point
of the window, the X-Y coordinate of the starting point of a partial region extracted
from the virtual screen, and the X-Y coordinate 148 of the ending point of the same
partial region.
[0023] Fig. 5B shows the constricution of a visible region table 150 formed on the memory
15, This table includes a number N of blocks 152-1 to 152-N and an area 151 indicating
the occupied blocks in the table. The above-mentioned pointer 143 points to the leading
position
P of continued m blocks whose number m is stored in the area 144 in Fig. 5A. Each block,
as shown in Fig. 5C, includes the X-Y coordinates 153 and 154 of the starting and
ending points respectively of a visible subregion on the display screen and the X-Y
coordinates 155 and 156 of the starting and ending points of the subregion on the
virtual screen corresponding to the visible subregion.
[0024] In the conventional multi-window systems, the visible region table 150 is provided
with a sufficient number of blocks to store all the definition data of the visible
subregions of each window even in the case where an allowable maximum number of windows
are set on the display screen. According to the present invention, in comparison,
the number N of the blocks of the visible region table 150 is greatly reduced. Once
visible subregions are determined by the steps mentioned in Figs. 4A and 4
B for display control, the definition data for these visible subregions are registered
in the table 150. In the case where the table 150 already has much definition data
registered therewith and has no sufficient remaining blocks for registering all the
definition data of the newly-calculated visible subregions, a part or whole of the
already-registered data is deleted, and definition data of the new visible subregions
are registered in its place. At the same time, the pointer 143 and the number 144
are cleared from the control table 140 for the window corresponding to the visible
subregions deleted from the table 150. As to the window for which the pointer 143
is cleared, its visible subregion will be determined by the sequential region-dividing
process as mentioned-above on the basis of positional relationship with other windows,
when it is required to again take up that window as an object window to be subjected
to display control and then registered with the table 150 followed by the updating
of the frame memory 22 with reference to this table 150. As to a window which is not
an object to be subjected to display control, on the other hand, the contents of the
corresponding region on the frame memory remain unchanged, and therefore the absence
of the definition data of the visible subregions in the table 150 poses no problem.
[0025] Assume that a window W 0 on the display screen is designated as an object window,
and the display for this window is to be changed. If the pointer 143 is recorded on
the window control table 140, the visible region table 150 is referred to according
to this pointer, and on the basis of the definition data of the visible subregion
registered therein, the frame memory 22 is partially rewritten. If the pointer 143
fails to point to the table 150, by contrast, the program shown in the flowchart of
Fig. 6 is executed in such a manner that step 201 thereof set the initial value "0"
at the first parameter designating the reference window generally represented by the
display order thereof, step 202 sets a second parameter as the display order of the
object window W
0, step 203 sets the values of the X-Y coordinates 145, 146 of the window W
0 as third parameters defining the object rectangle, and step 204 calls the subroutine
(SUB1) for calculating the visible region with these parameters as arguments.
[0026] In the subroutine SUBl, as shown in Fig. 7, step 210 sets the value of the first
parameter to parameter RW, the second parameter to parameter OW, and the third parameter
to the coordinate data of the object rectangle which may be an object window or subregion.
Step 212 increments the value of RW by one, and step 214 compares the value of RW
with OW. If RW is smaller than OW, that is, if the display order of the reference
window is higher than that of the object rectangle window, the process proceeds to
step 218 to decide whether the reference window crosses the object rectangle. Assume
that the coordinates of the starting and ending points of the object rectangle are
given as (X01, X02), (X02, Y02), and those of the reference window as (XR1, YRl),
(XR2, YR2), then if the relations hold that
[0027] (X01 < XR2) and (Y01 < YR2), and (XR1 < X02) and (YR1 < Y02) the object rectangle
crosses the reference window. In this case, process is passed to step 220, and the
object rectangle is subdivided into a plurality of subregions in the manner mentioned
with reference to Figs. 4A and 4B. If the object rectangle does not cross the reference
window, on the other hand, the process is returned to the step 212 where the reference
window is replaced by the one having the next higher display order followed by the
checking whether it crosses the object rectangle. If RW is found equal to OW at step
214, it is decided that there is no other window overlapped with the object rectangle,
and step 216 registers the definition data of the whole rectangle as a display region
in the visible region table 150, followed by the returning to the original program.
[0028] When the step for dividing into subregions ends at step 220, step 222 checks whether
they include any visible subregion. If they include any one, step 224 checks to see
whether the reference window just used is located immediately above the object rectangle.
If so, the visible subregion currently determined is considered to be true, and step
226 registers the visible subregion in the visible region table 150.
[0029] In the event that the reference window is not located immediately above the object
rectangle, on the other hand, any visible subregion currently determined is required
to be checked to see whether it crosses another window of higher display order. Such
uncertain visible subregions are stored in a work table provided to the memory 13
at step 230, and they are selected, sequentially one by one, as an object rectangle
to be subjected to collation with the remaining reference windows as mentioned below.
First, step 232 sets the initial value "1" at the parameter k which designates one
subregion to be taken up from the work table, and sets the number of the subregions
at the parameter n. Step 234 sets the present value of at the first parameter by which
the reference window is designated, followed by step 236 where the definition data
of the k-th subregion on the work table is set at the third parameter. The second
parameter set by step 202 is used as it is. With these first to third parameters as
arguments, the subroutine SUB1 is called. As a result, the k-th subregion on the work
table is collated with the (RW + l)th and subsequent windows, sequestially. After
step 238, step 240 increases the value of the parameter k by one, and steps 236 to
249 are repeated until the value k exceeds n. When the subroutine SUB1 is executed
repeatedly in this way, the subregion estimated as a display region in view of the
positional relationship with the reference window of the highest display order is
sequentially divided into smaller subregions on the basis of its positional relationship
with other reference windows having higher display order than the object window, so
that the definition data of finally determined visible subregion is registered in
the visible region table 150.
[0030] Figs. 8A to 10 show a second embodiment of the present invention. In this embodiment,
four windows W
1, W
2, W
3 and W
4 are initially overlapped on the display screen 30 as shown in Fig. 8A. If the second
window W
2 is deleted from the screen, the display of the part that has initially been an non-visible
region overlapped by the window W
2 must be restored. In this case, according to the invention, the window W
2 to be deleted is used as an object rectangle, and the sequential collation process
with other windows (reference windows) is applied to the window W
2 so as to sequentially divide it into subregions. If a reference window is higher
in display order than the object window (rectangle), any subregion thus obtained which
is not overlapped with the reference window is stored in the work table, and used
as the next object rectangle, which is sequentially divided in the same manner as
in the first embodiment. In this second embodiment, all the windows having lower display
order than the object window are also used as reference windows. Display is restored
in succession in the subregions which are initially overapped completely with the
reference windows of lower display order. Any subregion which is not overlapped with
any of the reference windows of lower display order is deleted from the screen, and
a blank is left there without any display. According to this control method, the second
window
W2 in
Fig.
8A is subdivided into a, b
1, b
2, c
1,
c2, c
3-1, and c
3-2, as shown in Fig. 8B, and the contents of the window W
3 are displayed in the subregions b
2 and c
2, and those of the window W
4 in the subregions c
l and c
3-1. The subregions b
l and c
3-2 that are not overlapped with any other windows are cleared.
[0031] Fig. 9 shows a flowchart for the subroutine SUB1 for realizing the second embodiment
mentioned above. This subroutine has the number of windows on the display screen as
the fourth parameter in addition to the first to third parameters described above,
and is called with these parameters as arguments.
[0032] At the first step 310, the values of the above-mentioned arguments are set at the
respective parameters in the subroutine, followed by step 312 for incrementing the
value of display order RW by +1 by which the reference window to be used is designated.
Step 314 compares the value RW with the number MAX of the windows. If RW does not
exceed MAX, step 318 decides whether the object rectangle crosses the RW-th reference
window, and if not, the process is returned to step 312. The decision on the crossing
is made in the same manner as in step 218 of SUB1. If RW is found larger than MAX
at step 314, by contrast, it means that the object rectangle does not cross any window,
and therefore step 316 clears the contents of display of the object region on the
display screen, thus terminating this subroutine.
[0033] If step 318 decides that the object rectangle crosses the reference window, step
320 divides the object rectangle into a plurality of subregions. Step 322 compares
the display order RW of the reference window with the display order OW of the object
window, and if RW is found equal to or lower than OW, then the contents of the reference
window are displayed in the subregion overlapped with the reference window (step 324).
If RW is higher, on the other hand, there is no need to display. In the case where
the subregions currently divided include a subregion not overlapped with the reference
window, the process is passed to step 328, while if there is no subregion not overlapped
with the reference window, the subroutine is ended.
[0034] If step 328 finds that the display order RW of the reference window is equal to MAX
as a result of comparison, step 329 clears these non-overlapped subregions on the
display screen, thus ending this subroutine. If RW is not equal to MAX, by contrast,
these non-overlapped subregions are required to be collated with other windows. Step
330 thus stores these subregions in the work table, followed by execution of steps
332 to 342. Steps 332 to 342 are the same as steps 232 to 242 in Fig. 7 except that
the subroutine called at step 338 is SUB2.
[0035] A third embodiment of the present invention is shown in Figs. 10A to 11. Assume that
three windows W
1, W
2 and W
3 are initially displayed on the display screen as shown in Fig. 10A, and the display
order of the window W
1 is to be changed from the lowest one as shown in Fig. 10A to a higher one as shown
in Fig. 10B. The data of the window W
1 is required to be displayed in the subregions w
11 and w
12 that have so far been hidden behind the windows w
2 and w
3. Even in the case of change in display order such as this example, the processes
for collation and division are performed by taking the window W
1 as an object rectangle and the windows W
2 and W
3 as reference windows, thereby to calculate the subregions w
11 and w
12 and change the display in these subregions.
[0036] Fig. 11 shows a flowchart of subroutine SUB3 for changing the display order mentioned
above. In this subroutine, the initial value "0" is set at a first parameter indicating
a reference window, and the new display order of the object window is called as a
second parameter, the coordinate data of the object window or object rectangle as
a third parameter, and the original display order of the object window as a fourth
parameter.
[0037] The first step 410 of the subroutine SUB3 sets the value of the first parameter to
the display order RW of the reference window, the second parameter to the display
order OW of the object rectangle, the third parameter to the coordinate value of the
rectangle to be divided, and the fourth parameter to the last reference value MAX.
Step 412 increments the value RW by 1, and step 418 checks whether the object rectangle
crosses the RW-th window (reference window) until RW exceeds MAX. When the value RW
exceeds MAX, this subroutine ends. If the object rectangle crosses the reference window,
step 420 divides the object rectangle into a plurality of subregions. Step 422 compares
RW with OW, and if the former is larger (that is, lower in display order), the contents
of the subregion overlapped with the reference window are replaced by the contents
of the object window at step 424. Step 426 decides whether the subregions currently
obtained include subregions not overlapped with the reference window, and if there
is no non-overlapped region, this routine ends. If there is any non-overlapped region,
by contrast, step 428 compares the display order RW of the reference window with MAX,
and if they are equal to each other, this routine is ended. If RW is not equal to
MAX, the process proceeds to step 430. Step 430 stores the subregions not overlapped
with the reference window in the work table. Steps 432 to 442 divide these subregions
based on positional relationship with the other window in the same manner as in the
first and second embodiments.
[0038] In the case of Fig. 11, the display order of the object window is changed higher.
If the display order is to be changed lower, the second parameter is used as the original
display order of the object window, and the fourth parameter as a new display order
of the object window. In this case, step 424 in Fig. 11 is adapted to display the
contents of the reference window in the overlapped subregions.
[0039] A fourth embodiment of the present invention is shown in Figs. 12A to 13. In this
embodiment, as in Fig. 12A, for example, the second window W
2 among the three windows W
1, W
2 and W
3 displayed in overlapped relations is used as an object window, whereby the partial
region a on the lower side thereof is deleted, while the right side is expanded by
the region b. In such a screen size change as this, according to the invention, the
size data before and after the change of the object window are compared as shown in
Fig. 13, thereby determining by calculation the deleted partial region a and the expanded
partial region b (Step 510). As to the partial region b to be expanded, on the other
hand, it is regarded as an object rectangle and sequentially divided into subregions
in the manner shown with reference to the first embodiment, with the result that the
display change is made by developing a bit map only for the visible subregions thereof
(Step 520). Also, as for the region a to be deleted, it is regarded as an object rectangle,
and sequentially divided in the manner shown in the second embodiment, whereby a partial
screen is restored for the windows of lower display order (Step 530). As a result,
as shown in Fig. 12B, the contents of the windows W
2 and W
3 are additionally displayed in the visible subregions w
12 and w
13 respectively.
[0040] Now, a fifth embodiment of the invention will be described below. Fig. 14 shows the
manner in which the window W
3 that has so far been located under the window W
1 among the three windows W
1, W
2 and W
3 displayed on the display screen is relocated to the position of W
3' indicated by one-dot chain. In the window W
3' after relocation, w
33' indicates the parts hidden behind the window W
2 and w
31' the part that has so far been hidden behind the window W
1.
[0041] According to the present invention, the display control with this window shift is
effected by the steps shown in Fig. 15.
[0042] First, step 610 checks whether the window W
3' after relocation (shift) as an object rectangle crosses another window, and if it
does, determines a visible subregion R' (= Subregion a' + Subregion b'). After that,
step 620 determines the subregion R (= Subregion a + Subregion b) within the window
(W
3) after relocation corresponding to the visible subregion R'. Step 630 checks whether
the subregion R as an object rectangle crosses any other windows, and if so, determines
the overlapped region w
31 and the redisplay region r (hatched region). Step 640 determines the region r' after
relocation corresponding to the redisplay region r. Step 650 relocates the image data
of the region r to the region r' on the frame memory. Step 660 determines the subregion
W
31' in the window W
3' corresponding to the overlapped region w31, and by developing a bit map from the
virtual screen, displays on the subregion w
31'. Further, step 670 sequentially divides the screen region occupied by the window
W
3 before relocation by taking it as an object rectangle and applying thereto the process
as mentioned in the second embodiment thereby to restore the screen. If another window
is located under the window W
3 in Fig. 14, a part hidden comes to appear on the screen at step 670.
[0043] As explained above, the display of the visible region of the window after relocation
is effected by a combination of data shift from the old window on the frame memory
and the bit map development on the virtual screen, so that the amount of data developed
as a bit map is reduced thereby to increase the speed of display change.
[0044] A sixth embodiment of the present invention is shown in Figs. 16 to 19. According
to the embodiment under consideration, in what is called the scroll operation for
shifting the visual field in a window, the overlapped relations of a visible region
on a virtual screen before and after scroll are used to determine those display regions
before scroll which become redisplay regions on the screen after scroll, and these
redisplay subregions are displayed by shifting data on the frame memory, so that the
data from the virtual screen are developed as a bit map only for the regions newly
covered by the visual field, thus reducing the amount of data to be developed as a
bit map.
[0045] Now, assume that the contents of display of the window W
2 overlapped with the window W
1 on the display screen 30 are scrolled as shown in Fig. 16. The window W
2 divided into three subregions w
21,
w22 and
w231 of which w
22 and w
23 make up visible regions.
[0046] Fig. 17 shows a virtual screen 60 corresponding to the window W
2. Numeral 70 designates a region corresponding to the window before scroll, and numeral
80 after scroll. In this example, the partial regions Sl and S2 in the virtual screen
region 71 corresponding to the subregion w
22 remain at the left end of the subregion w
22 and the upper left corner of the subregion w
23 after scroll respectively. In similar manner, the partial region S3 of the virtual
screen region 72 corresponding to the subregion w
23 is left at the lower left corner of the subregion w
23 after scroll. If these display regions Sl, S2 and S3 are capable of being specified,
therefore, a scroll screen may be obtained by shifting the contents of the redisplay
regions Sl', S2' and S3' to S
1", S
2. and S
3" respectively on the frame memory as shown in Fig. 18 and by developing the data
from the virtual screen as a bit map only for the other visible regions.
[0047] Fig. 19 is a flowchart showing the steps of display control for scroll operation.
First, step 710 determines the visible subregions w
22 and w
23 from the subroutine SUB1 shown in the first embodiment with the window (W
2) to be scrolled as a target window. Step 720 determines the visible subregions 71
and 72 on the virtual screen before scroll corresponding to the visible subregions
mentioned above, followed by step 730 for determining the visible subregions 81 and
82 on the virtual screen after scroll. Step 740 checks the manner in which the visual
subregions before and after scroll are overlapped, and determines the overlapped regions
Sl, S2 and S3. If there is no overlapped region, the process is passed to step 780
to determine all the visible subregions
w22 and w
23 after scroll by bit map development of the data from the corresponding regions 81
and 82 on the virtual screen. If there is any overlapped region, on the other hand,
step 750 determines the redisplay subregions Sl', S2' and S3' on the display screen
before scroll corresponding to the overlapped regions Sl, S2 and S3, followed by step
760 for determining the subregions Sl", S2" and S
3" on the display screne after scroll corresponding to the overlapped regions mentioned
above. Step 770 transfers the contents of the redisplay subregions before scroll to
the corresponding subregions after scroll on the frame memory. If the image transfer
is executed for each overlapped region, the operation of the steps 750 to 770 is repeated
for all the overlapped regions as shown by the dashed line. Upon completion of these
processes, the process is passed to step 780, where a bit map of the data from the
virtual screen is developed in the visible regions except for the redisplay regions.
1. In a multi-window system comprising a display screen (30) in which a plurality
of rectangular windows (31; W
1, W
2' W
3' W
4) are set,
first memory means (14) for storing display data in positions corresponding to those
on the display screen,
second memory means (17) for storing a plurality of display data of a virtual screen
(60) corresponding to each of said windows which displays data included in the partial
region of the virtual screen corresponding thereto,
third memory means (15) for storing definition data representing the positional data
on the display screen for each window and the correspondence thereof with the virtual
screen, and
control means (11) for partially rewriting the display data stored in said first memory
means (15);
a method of display control comprising
a first step (218, 220; 318, 320; 418, 420) of collating a window designated as an
object of display control with another window on the display screen selected sequentially
as a reference window on the basis of the positional data stored in the third memory
means, said object window being divided into regions overlapped with said reference
window and at least one rectangular non-overlapped subregion with the boundary of
said overlapped subregions as a dividing line when said window and said reference
window crosses each other;
a second step (238) of collating said non-overlapped subregion as an object rectangle
to be divided with still another window on the display screen selected sequentially
as a reference window, and when said object rectangle and said reference window cross
each other, subdividing said target rectangle into subregions overlapped with said
reference window and at least one rectangular non-overlapped subregion, said collation
and subdivision being repeated with each of obtained non-overlapped subregions as
a new object rectangular region until no more window to be referred to remains; and
a third step (226) of partially rewriting the display data in said first memory means
in accordance with the result of said division of the object rectangular region,
thereby changing the contents of display in the visible region occupied by the object
window on the display screen.
2. A method of display control according to Claim 1, wherein said reference windows
are made up of only those windows having higher display order than the object window,
said windows being selected as a reference window in the descending order of display,
said display data being rewritten in the third step above for the partial region of
the first memory means corresponding to the non-overlapped subregion that remains
finally.
3. A method of display control according to Claim 2, wherein said object window for
display control makes up a window of which the size is to be increased, and the rectangular
region corresponding to the expanded part, in place of the object window of said first
step, is collated with the reference window.
4. A method of display control according to Claim 1, wherein said object window for
display control makes up a window to be deleted from the display screen, said reference
window is selected sequentially in the descending order of display on the display
screen, said third step being executed to display the contents of the virtual screen
corresponding to the reference window on the part of the display screen corresponding
to said overlapped subregion each time an overlapped subregion is obtained, and the
part of the display screen corresponding to the non-overlapped subregion left finally
is cleared.
5. A method of display control according to Claim 1, wherein said object window for
display control makes up a window to be reduced in size, and a partial rectangular
region of the object window which disappears as the result of size reduction is collated
with the reference window in place of the object window of the first step.
6. A method of display control according to Claim 1, wherein said object window for
display control makes up a window for which the upgrading of the display order on
the display screen is commanded, and the windows higher in display order than the
original display order of said object window are selected as said reference windows
in the descending order of display, and the contents of the virtual screen corresponding
to said object window are sequentially displayed at the part of the display screen
corresponding to the overlapped subregion.
7. A method of display control according to Claim 1, wherein said object window for
display control makes up a window for which the display position on the display screen
is to be shifted to the second position from the first position, said first and second
steps being executed for the object window at said second position, said method further
comprising
a fourth step (610) of determining a rectangular region is said object window at said
first position corresponding to at least one non-overlapped subregion obtained for
the object window at said second position, and
a fifth step (640) of collating the rectangular region obtained in said fourth step
with another window on the display screen selected as a reference window, and when
said rectangular region crosses said reference window, dividing said rectangular region
into an overlapped subregion and at least one rectangular non-overlapped subregion,
the collation with other reference windows being repeated with the non-overlapped
subregion as a new object rectangle,
said third step further comprising
a sixth step (650) of shifting the display data of the final non-overlapped subregion
obtained in said fifth step from the first position to the second position within
said first memory means,
a seventh step (660) of applying the contents of the virtual screen of said object
window corresponding to the overlapped subregion obtained in said fifth step to the
non-display region in the window at said second position, and
an eighth step (680) of clearing the display data in the object window at the first
position except for the overlapped subregion obtained in said fifth step.
8. A method of display control according to Claim 1, wherein said object window for
display control makes up a window for which the contents of display are to be scrolled,
said method further comprising
a fourth step (720) of determining a first visible region before scroll on the virtual
screen corresponding to said object window, corresponding to the non-overlapped subregion
obtained in said first and second steps,
a fifth step (730) of determining a second visible region after scroll on the virtual
screen corresponding to said object window, corresponding to said non-overlapped subregion,
and
a sixth step (740) of collating said first and second visible regions with each other
to determine a mutually overlapped region as a redisplay region,
said third step further including
a seventh step (770) of transferring the display data corresponding to said redisplay
region on said first memory means to the display position after scroll, and an eighth
step (780) of applying the display data of the partial region in said second visible
region except for said redisplay region to a corresponding partial region on said
first memory means.