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.
- 2. A computer system according to claim 1 wherein the validity determining apparatus comprises apparatus responsive to a request from an application program for a selected storage area size corresponding to a window for retrieving a first time stamp stored with the selected storage area size from the window manager object and apparatus responsive to the retrieved first time stamp for comparing the retrieved first time stamp to the second time stamp stored in the window object.
- 3. A computer system according to claim 2 wherein the validity determining apparatus further comprises means for retrieving the storage area size stored in the window manager object when the time stamp comparing apparatus indicates that the storage area size stored in the window object is not valid.
- 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.
- 5. A computer system according to claim 4 wherein the validity determining apparatus comprises apparatus responsive to a request from an application program for a selected storage area size corresponding to a window for retrieving a first time stamp stored with the selected storage area size from the window manager object and apparatus responsive to the retrieved first time stamp for comparing the retrieved first time stamp to the second time stamp stored in the cache memory.
- 6. A computer system according to claim 5 wherein the validity determining apparatus further comprises means for retrieving the storage area size stored in the window manager object when the time stamp comparing apparatus indicates that the storage area size stored in the cache memory was stored before the last recalculation by the window manager object.
- 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.
- 8. A computer system according to claim 7 wherein the validity determining apparatus comprises apparatus responsive to a request from an application program for a selected window visible area for retrieving a first time stamp from the window manager object and apparatus responsive to the retrieved first time stamp for comparing the retrieved first time stamp to the second time stamp stored in the cache memory.
- 9. A computer system according to claim 8 wherein the validity determining apparatus further comprises means for retrieving the window visible area from the window manager object when the time stamp comparing apparatus indicates that the visible area stored in the cache memory was stored before the last recalculation by the window manager object.
- 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.
- 11. A method according to claim 10 wherein step B2 comprises the steps of: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.
- 14. The system of claim 13 wherein the window object manager means includes means, responsive to a view modification request from a user, for changing a visible area definition for a view corresponding to the view modification request.
- 15. The system of claim 13 wherein the first and second view appear to a user as having a front to back ordering and wherein the window object manager means includes means for maintaining a list representative of the front to back ordering.
- 16. The system of claim 14 wherein the window object manager means includes means, responsive to a change in a window area, for communicating to the plurality of application programs that a view area definition has been changed so that the plurality of application programs may respond to the window area change.
- 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.
- 18. The method of claim 17 further including the step of(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.
- 22. The computer program product of claim 21 wherein the window object manager program logic comprises window object manager class code.
- 23. The computer program product of claim 22 wherein the window object program logic comprises window object class code.
- 24. The computer program product of claim 23 wherein the window object class code includes program logic for obtaining a visible area definition from a window manager object instantiated from the window object manager class code.
- 25. The computer program product of claim 24 wherein the computer system includes an operating system with an operating system address space in the memory and the computer readable program code further includes means for instantiating the window manager object in the operating system address space.
- 26. The computer program product of claim 24 wherein the first application program is located in the memory in a first application address space and the second application program is located in the memory in a second application address space and the inserting program logic further includes means for instantiating a window object from the window object class code in the first application address space and means for instantiating a window object from the window object class code in the second application address space.
- 27. The computer program product of claim 23 wherein the computer system includes an operating system with an operating system address space in the memory and the computer readable program code further includes means for loading the window object class code into the operating system address space.
RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 08/142,894, filed Oct. 25, 1993, now U.S. Pat. No. 5,522,025.
US Referenced Citations (9)
Number |
Name |
Date |
Kind |
4914607 |
Takanashi et al. |
Apr 1990 |
A |
5062060 |
Kolnick |
Oct 1991 |
A |
5072412 |
Henderson, Jr. et al. |
Dec 1991 |
A |
5216413 |
Seiler et al. |
Jun 1993 |
A |
5293470 |
Birch et al. |
Mar 1994 |
A |
5371847 |
Hargrove |
Dec 1994 |
A |
5388200 |
McDonald et al. |
Feb 1995 |
A |
5522025 |
Rosenstein |
May 1996 |
A |
5524199 |
Orton et al. |
Jun 1996 |
A |
Foreign Referenced Citations (1)
Number |
Date |
Country |
212016 |
Mar 1987 |
EP |
Continuations (1)
|
Number |
Date |
Country |
Parent |
08/142894 |
Oct 1993 |
US |
Child |
08/563411 |
|
US |