Object-oriented system for servicing windows
First Claim
1. An apparatus for allocating and managing a plurality of windows on a display device for use by client applications and a user, the apparatus comprising:
- (a) a screen buffer for storing display information, the display information being mapped to picture elements of the display device;
(b) a display adapter for obtaining the display information from the screen buffer and responsively causing an image to be displayed on the display device;
(c) a memory holding the client applications;
(d) a processor under the control of the client applications;
(e) visible area managing means, responsive to a user window manipulation request, for maintaining visible area definitions of each of the windows, each visible area definition defining a clipping region of an associated window and specifying a portion of the screen buffer to hold screen information for the associated window;
(f) update area managing means, responsive to a user window manipulation request, for maintaining update area definitions for each of the windows, each update area definition defining a damaged region of the window that is damaged as a result of the user manipulation request, the update area managing means including notification means for notifying a client application that the update area definition of a window is non-empty; and
(g) window creation means, responsive to a client application window creation request, for creating a new window on the display device, the window creation means including means for creating in an address space of the memory associated with the requesting client application a window object associated with the new window, the window object having means for obtaining a valid cached copy of a visible area definition for the associated window from the visible area managing means;
wherein each client application Includes means for issuing a window creation request to the window creation means to thereby create an associated window object, and wherein the client application further includes means for invoking the window object created in the address space of the client application to obtain a valid cached copy of a visible area definition;
means for directly storing display information in the portion of the screen buffer specified by the obtained, valid cached visible area definition; and
means for updating a damaged region of a window under the control of an update area definition and in response to being notified by the notification means.
2 Assignments
0 Petitions
Accused Products
Abstract
A window server communicates with clients and creates, destroys and modifies window objects. Objects are created in response to parameters provided by clients. Clients can obtain a variety of information regarding windows managed by the window server. Hardware windows are supported by subclassing objects, which provides polymorphic screen objects. Therefore, it does not matter whether the window is created by a hardware or software entity. Clients may be notified by the window server in response to certain events occurring with respect to particular windows, such as a configuration change. The window server also dynamically manages a default window layering scheme which takes into account the parameters specified, or not specified, by clients as well as the characteristics of the windows currently being managed by the window server. The window server also supports window clustering, which allows a window to span monitors. The window server also allows extensive changes to the characteristics of the desktop in response to configuration programs.
154 Citations
14 Claims
-
1. An apparatus for allocating and managing a plurality of windows on a display device for use by client applications and a user, the apparatus comprising:
-
(a) a screen buffer for storing display information, the display information being mapped to picture elements of the display device; (b) a display adapter for obtaining the display information from the screen buffer and responsively causing an image to be displayed on the display device; (c) a memory holding the client applications; (d) a processor under the control of the client applications; (e) visible area managing means, responsive to a user window manipulation request, for maintaining visible area definitions of each of the windows, each visible area definition defining a clipping region of an associated window and specifying a portion of the screen buffer to hold screen information for the associated window; (f) update area managing means, responsive to a user window manipulation request, for maintaining update area definitions for each of the windows, each update area definition defining a damaged region of the window that is damaged as a result of the user manipulation request, the update area managing means including notification means for notifying a client application that the update area definition of a window is non-empty; and (g) window creation means, responsive to a client application window creation request, for creating a new window on the display device, the window creation means including means for creating in an address space of the memory associated with the requesting client application a window object associated with the new window, the window object having means for obtaining a valid cached copy of a visible area definition for the associated window from the visible area managing means; wherein each client application Includes means for issuing a window creation request to the window creation means to thereby create an associated window object, and wherein the client application further includes means for invoking the window object created in the address space of the client application to obtain a valid cached copy of a visible area definition; means for directly storing display information in the portion of the screen buffer specified by the obtained, valid cached visible area definition; and means for updating a damaged region of a window under the control of an update area definition and in response to being notified by the notification means. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method of allocating and managing a plurality of windows on a display device for use by client applications and a user, in a computer system having a screen buffer for storing display information, the display information being mapped to picture elements of the display device, a display adapter for obtaining the display information from the screen buffer and responsively causing an image to be displayed on the display device, a memory holding the client applications, and a processor under the control of the client applications, the method comprising the steps of:
-
(a) in response to a user window manipulation request, maintaining visible area definitions of each of the windows, each visible area definition defining a clipping region of an associated window and specifying a portion of the screen buffer to hold screen information for the associated window; (b) in response to a user window manipulation request, maintaining update area definitions for each of the windows, each update area definition defining a damaged region of the window that is damaged as a result of the user manipulation request, (c) notifying a client application that the update area definition of a window is non-empty; (d) in response to a client application window creation request, creating a new window on the display device, including the step of creating in an address space of the memory associated with the requesting client application a window object associated with the new window, the window object having a mechanism for obtaining a valid cached copy of a visible area definition for the associated window; (e) each client application issuing a window creation request to thereby create an associated window object; (f) each client application invoking the window object to thereby obtain the valid cached copy of the visible area definition of the window object (g) each client application using the obtained, valid cached copy of the visible area definition to directly store display information in the portion of the screen buffer specified by the visible area definition of the window object; and (g) each client application updating a damaged region of a window under the control of an update area definition In response to being notified that the update area of a window is non-empty. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification