← Back to Patent Explorer
US6750858B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Object-oriented window area display system

Assignee: Apple Inc
•
Filing: 1995-11-28
•
Granted: 2004-06-15
•
Expires: 2015-11-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Larry S. Rosenstein

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 10:36
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/14

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 324 words
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.
Claim 2
Dependent Claim 324 words
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.
Claim 3
Dependent Claim 76 words
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.
Claim 4
Dependent Claim 47 words
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.
Claim 5
Dependent Claim 575 words
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.
Claim 6
Dependent Claim 575 words
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.
Claim 7
Dependent Claim 76 words
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.
Claim 8
Dependent Claim 55 words
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.
Claim 9
Dependent Claim 256 words
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.
Claim 10
Dependent Claim 256 words
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.
Claim 11
Dependent Claim 65 words
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.
Claim 12
Dependent Claim 53 words
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.
Claim 13
Independent Claim 259 words
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.
Claim 14
Independent Claim 259 words
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.
Claim 15
Dependent Claim 63 words
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.
Claim 16
Dependent Claim 47 words
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.
Claim 17
Independent Claim 203 words
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.
Claim 18
Independent Claim 203 words
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.
Claim 19
Dependent Claim 37 words
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.
Claim 20
Dependent Claim 42 words
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.
Claim 21
Dependent Claim 51 words
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.
Claim 22
Independent Claim 247 words
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.
Claim 23
Independent Claim 247 words
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.
Claim 24
Dependent Claim 41 words
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.
Claim 25
Dependent Claim 42 words
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.
Claim 26
Dependent Claim 45 words
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.
Claim 27
Dependent Claim 225 words
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.
Claim 28
Dependent Claim 225 words
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.
Claim 29
Dependent Claim 20 words
The computer program product of claim 21 wherein the window object manager program logic comprises window object manager class code.
Claim 30
Dependent Claim 18 words
The computer program product of claim 22 wherein the window object program logic comprises window object class code.
Claim 31
Dependent Claim 35 words
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.
Claim 32
Dependent Claim 45 words
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.
Claim 33
Dependent Claim 83 words
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.
Claim 34
Dependent Claim 46 words
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.

References Cited (Backward Citations)

EP0212016A1 Cited
US4914607A Cited
US5062060A Cited
US5072412A Cited
US5216413A Cited
US5293470A Cited
US5388200A Cited
US5371847A Cited
US5522025A Cited
US5524199A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-06-15 2007-12-15 2008-06-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-06-15 2011-12-15 2012-06-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-06-15 2015-12-15 2016-06-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag