Object-oriented window area display system
First Claim
1. A computer system for controlling a display device to generate a display having a plurality of window areas displayed on a desktop background, each of the plurality of window areas displaying screen information generated by one of a plurality of application programs, the computer system comprising:
- screen buffer storage apparatus having a plurality of storage areas, each of the plurality of storage areas having a size and storing the screen information for one of the plurality of window areas;
a processor controlled by the plurality of application programs to store the screen information in the screen buffer storage apparatus;
an operating system cooperating with the processor for controlling the display device;
a window manager object having a shared data area for storing the storage area sizes and being responsive to a change in a storage area size of one storage area for changing a storage area size of at least one other storage area; and
a window object associated with each of the plurality of windows, each window object including window data comprising a copy of the storage area size of the associated window and window functions, the window object being created by an application program and comprising a mechanism for receiving a request from one of the plurality of application programs, apparatus responsive to a received request for providing a storage area location and size to the one of the plurality of application programs which made the request and apparatus responsive to a request from one of the plurality of applications for determining the validity of the storage area size copy;
wherein the window manager object comprises apparatus for storing with each storage area size, a first time stamp indicating the time at which the storage area size was recalculated, and wherein the window object comprises apparatus for storing with the storage area copy a second time stamp indicating the time at which the storage area copy was stored in the window object.
2 Assignments
0 Petitions
Accused Products
Abstract
An object-oriented window manager provides coordination between window displays generated by separate application programs by computing and storing the visible area of each application window each time displayed windows are changed. Each application program directly communicates with the screen buffer memory in order to redraw portions of the screen corresponding to its display area using the visible area computed by the window manager. Each application program communicates with the object-oriented window manager by creating a window object which provides flexible display capabilities that are transparent to the application program. Several techniques are used to decrease the visible area computation time. First, as mentioned above a copy of the visible area is stored or “cached” in each window object. This copy can be used if the application program needs to redraw the window area and the visible area has not been changed. In addition, the window manager computes the visible area of each application window utilizing a routine that assumes that only a single window has been changed and compares the new visible area of the window to the old visible area to obtain the change area. This change area is then used to recompute the visible area of all windows which lie behind the changed window.
-
Citations
27 Claims
-
1. A computer system for controlling a display device to generate a display having a plurality of window areas displayed on a desktop background, each of the plurality of window areas displaying screen information generated by one of a plurality of application programs, the computer system comprising:
-
screen buffer storage apparatus having a plurality of storage areas, each of the plurality of storage areas having a size and storing the screen information for one of the plurality of window areas;
a processor controlled by the plurality of application programs to store the screen information in the screen buffer storage apparatus;
an operating system cooperating with the processor for controlling the display device;
a window manager object having a shared data area for storing the storage area sizes and being responsive to a change in a storage area size of one storage area for changing a storage area size of at least one other storage area; and
a window object associated with each of the plurality of windows, each window object including window data comprising a copy of the storage area size of the associated window and window functions, the window object being created by an application program and comprising a mechanism for receiving a request from one of the plurality of application programs, apparatus responsive to a received request for providing a storage area location and size to the one of the plurality of application programs which made the request and apparatus responsive to a request from one of the plurality of applications for determining the validity of the storage area size copy;
wherein the window manager object comprises apparatus for storing with each storage area size, a first time stamp indicating the time at which the storage area size was recalculated, and wherein the window object comprises apparatus for storing with the storage area copy a second time stamp indicating the time at which the storage area copy was stored in the window object. - View Dependent Claims (2, 3)
-
-
4. A computer system for controlling a display device to generate a display having a plurality of window areas displayed on a desktop background, each of the plurality of window areas displaying screen information generated by one of a plurality of application programs, the computer system comprising:
-
screen buffer storage apparatus having a plurality of resizable storage areas, each of the plurality of resizable storage areas having a size and storing the screen information for one of the plurality of window areas that are overlapped and visually appear to have a front to back ordering;
a processor controlled by the plurality of application programs to receive screen information from a selected one of the plurality of application programs and to store the received screen information in one of the plurality of resizable storage areas corresponding to the selected one application program;
an operating system cooperating with the processor for controlling the display device;
a window manager object created by the operating system having a shared data area for storing the storage area sizes, being responsive to a change in a storage area size of one storage area for changing a storage area size of at least one other storage area and comprising a mechanism for maintaining each of the plurality of windows in an ordered list having a plurality of list positions where each list position corresponds to a position in the front to back ordering, apparatus responsive to a change in position and size of one of the plurality of window areas for calculating a changed window area indicating a portion of the one of the plurality of window areas which is modified by the change in position and size, and apparatus responsive to the changed window area for recalculating the storage area size of storage areas corresponding to window areas which appear behind the one window area as determined by the ordered list by combining the changed area with the stored area sizes corresponding to window areas which appear behind the one window area as determined by the ordered list; and
a window object created by each of the plurality of application programs, the window object, upon creation, cooperating with the window manager object to create a window area by allocating one of the plurality of storage areas, each of the plurality of window objects comprising a cache memory, a plurality of methods for manipulating the window areas and a mechanism for receiving a request from one of the plurality of application programs and apparatus responsive to a received request for providing a storage area location and a storage area size to the one of the plurality of application programs which made the request, wherein information is transferred between each window object and the window manager object by means of data stream objects and a copy of the storage area size of the associated window is stored in the window object cache memory and the window object comprises apparatus responsive to a request from one of the plurality of applications for determining the validity of the storage area size copy, and wherein the window manager object comprises apparatus for storing with each storage area size, a first time stamp indicating a time at which the storage area size was last recalculated, and wherein the window object comprises apparatus for storing in the cache memory a second time stamp indicating the time at which the storage area size copy was stored in the cache memory. - View Dependent Claims (5, 6)
-
-
7. A computer system for controlling a display device to generate a display having a plurality of overlapped window areas displayed on a desktop background, each of the plurality of window areas having a visible area for displaying screen information generated by one of a plurality of application programs, the computer system comprising:
-
a processor controlled by the plurality of application programs for controlling and coordinating the operation of the computer system;
an operating system cooperating with the processor for controlling the display device;
a window manager object having a shared data area for storing window visible areas and being responsive to a change in a visible area of one of the plurality of windows for changing the visible areas of others of the plurality of windows; and
a window object created by each of the plurality of application programs and associated with the one of the plurality of windows, the window object including a cache memory for storing a copy of visible area of the associated one window and comprising apparatus responsive to a request from one of the plurality of application programs for determining the validity of the window visible area copy; and
wherein the window manager object comprises apparatus for storing with each window visible area, a first time stamp indicating a time at which the window visible area was last recalculated, and wherein the window object comprises apparatus for storing in the cache memory a second time stamp indicating the time at which the visible area copy was stored in the cache memory. - View Dependent Claims (8, 9)
-
-
10. A method for an application program to display screen information in one of a plurality of window areas displayed on a desktop background, each of the plurality of window areas having a changeable visible area, the method comprising the steps of:
-
A. creating a window manager object having a shared data area for storing the window visible areas and being responsive to a change in a visible area of one window for changing the stored visible areas of at least one other window;
B. causing the application program to request the stored visible area of the one of a plurality of window areas from the window manager;
comprising the steps of;
B1. creating a window object associated with each of the plurality of windows, each window object including window data and window functions and being created by an application program; and
B2. causing the window object to request the stored visible area, comprising the steps of;
B2B. maintaining a cache copy of the stored visible area in the window object;
B2C. checking the cache copy in the window object before requesting a copy of the stored visible area from the window manager object, B2D. storing with each window visible area, a first time stamp indicating the time at which the visible area was recalculated; and
B2E. storing a second time stamp in the window object indicating the time at which the cache copy was stored in the window object; and
C. causing the application program to display screen information only in the visible area obtained from the window manager. - View Dependent Claims (11, 12)
B2F. retrieving a first time stamp stored with a selected window visible area from the window manager object when a request is received from an application program for a window visible area; and
B2G. comparing the retrieved first time stamp to the second time stamp stored in the window object.
-
-
12. A method according to claim 11 wherein step B2 further comprises the steps of:
B2H. retrieving the window visible area stored in the window manager object when the time stamp comparison of step B2G indicates that the cache copy stored in the window object is not valid.
-
13. A system for displaying screen information in a first view and a second view, in which the first view partially obscures a portion of the second view leaving a non-obscured visible area of the second view, the system comprising:
-
(a) a screen buffer for holding screen information;
(b) display adapter means for directly obtaining the screen information from the screen buffer and for displaying the screen information on a display controlled by the display adapter means;
(c) a processor and an attached memory, holding a first and a second application program;
(d) window object manager means for maintaining a first visible area definition, designating a first portion of the screen buffer for holding screen information for the first view, and for maintaining a second visible area definition, designating a second portion of the screen buffer for holding screen information for the visible area of the second view; and
(e) wherein the first and second application programs each comprise first window object means for obtaining a visible area definition from the window object manager means, and second window object means for directly storing screen information in a portion of the screen buffer designated by the visible area definition obtained by the means for obtaining. - View Dependent Claims (14, 15, 16)
-
-
17. A method of displaying a first and second view, in which the first view partially obscures a portion of the second view, leaving a non-obscured visible area of the second view, the method operating on a computer system having a processor, a memory, a display, and a screen buffer having a first storage area for holding screen information of the first view and a second storage area for holding screen information for the visible area of the second view, and a display adapter which displays screen information in the screen buffer on the display, the method comprising the steps of:
-
(a) running a plurality of application programs to provide screen information for the first and second views;
(b) creating, in a predefined shared area of memory, a first visible area definition designating a first portion of the screen buffer for holding screen information for the first view;
(c) creating, in the predefined shared area of memory, a second visible area definition designating a second portion of the screen buffer for holding screen information for the visible area of the second view;
(d) each application programs obtaining a copy of its corresponding visible area definition; and
(e) each application program using its obtained copy of a visible area definition to directly store the screen information generated in step (a) into the portion of the screen buffer designated by the corresponding visible area definition to cause the first view and the second view to be presented on the display. - View Dependent Claims (18, 19, 20)
(f) in response to a view modification request from a user, changing a visible area definition, in the shared area of memory, for a view corresponding to the view modification request. -
19. The method of claim 17 wherein the first and second view appear to a user as having a front to back ordering and wherein the method further includes the step of
(g) maintaining a list representative of the front to back ordering. -
20. The method of claim 18 further including the step of
(h) in response to a change in a window area, communicating to the application programs that a view area definition has been changed so that the application programs may respond to the window area change.
-
-
21. A computer program product for use on a computer system having a display, a screen buffer for holding screen information, a display adapter for directly obtaining the screen information from the screen buffer and for displaying the screen information on the display and a memory holding a first application program generating screen information for display in a first view and a second application program generating screen information for display in a second view, where the first view partially obscures a portion of the second view leaving a non-obscured visible area of the second view, the computer program product comprising a computer usable medium having computer readable program code including:
-
window object manager program logic for computing a first visible area definition, designating a first portion of the screen buffer for holding screen information for the first view, and for computing a second visible area definition, designating a second portion of the screen buffer for holding screen information for the visible area of the second view; and
window object program logic including program logic for obtaining a visible area definition from the window object manager program logic, program logic for directly storing screen information in a portion of the screen buffer designated by the visible area definition, and program logic for inserting the window object program logic in each of the first and second application programs. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
Specification