|
|
1.1 root 1: /* $Header: windowstr.h,v 1.3 87/09/10 01:43:43 toddb Exp $ */
2: /***********************************************************
3: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
4: and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
5:
6: All Rights Reserved
7:
8: Permission to use, copy, modify, and distribute this software and its
9: documentation for any purpose and without fee is hereby granted,
10: provided that the above copyright notice appear in all copies and that
11: both that copyright notice and this permission notice appear in
12: supporting documentation, and that the names of Digital or MIT not be
13: used in advertising or publicity pertaining to distribution of the
14: software without specific, written prior permission.
15:
16: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
17: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
18: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
19: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
20: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
21: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
22: SOFTWARE.
23:
24: ******************************************************************/
25:
26: #ifndef WINDOWSTRUCT_H
27: #define WINDOWSTRUCT_H
28:
29: #include "window.h"
30: #include "pixmapstr.h"
31: #include "region.h"
32: #include "cursor.h"
33: #include "property.h"
34: #include "resource.h" /* for ROOT_WINDOW_ID_BASE */
35: #include "dix.h"
36: #include "miscstruct.h"
37: #include "Xprotostr.h"
38:
39:
40: typedef struct _BackingStore {
41: RegionPtr obscured;
42: void (* SaveDoomedAreas)();
43: void (* RestoreAreas)();
44: void (* TranslateBackingStore)(); /* to make bit gravity and backing
45: store work together */
46: } BackingStoreRec;
47:
48: /*
49: * A window -- device independent
50: *
51: */
52:
53: typedef struct _Window {
54:
55: DrawableRec drawable; /* screen and type */
56:
57: VisualID visual;
58:
59: struct _Window *parent; /* Other windows it contains */
60: struct _Window *nextSib; /* Other windows it contains */
61: struct _Window *prevSib; /* (linked two ways) */
62: struct _Window *firstChild; /* top-most window this contains */
63: struct _Window *lastChild; /* bottom-most window it contains */
64:
65: CursorPtr cursor; /* cursor information */
66:
67: ClientPtr client; /* client object for creator */
68: long wid; /* client's name for this window */
69:
70: RegionPtr clipList; /* clipping rectangle for output*/
71: RegionPtr winSize; /* inside window dimensions,
72: clipped to parent */
73: RegionPtr borderClip; /* clipList + border */
74: RegionPtr borderSize; /* window + border, clip to parent */
75: RegionPtr exposed; /* list of exposed regions,
76: translated. After ValidateTree,
77: draw background in exposed and
78: send translated regions to client */
79:
80: RegionPtr borderExposed;
81: xRectangle clientWinSize; /* x,y, w,h of unobscured window
82: relative to parent */
83: DDXPointRec absCorner;
84: DDXPointRec oldAbsCorner; /* used in ValidateTree */
85: int class; /* InputOutput, InputOnly */
86: Mask eventMask;
87: Mask dontPropagateMask;
88: Mask allEventMasks;
89: Mask deliverableEvents;
90: pointer otherClients; /* defined in input.h */
91: pointer passiveGrabs; /* define in input.h */
92:
93: PropertyPtr userProps; /* client's property list */
94:
95: XID backgroundPixmapID; /* for screen saver, root only */
96: PixmapPtr backgroundTile;
97: unsigned long backgroundPixel;
98: PixmapPtr borderTile;
99: unsigned long borderPixel;
100: int borderWidth;
101: void (* PaintWindowBackground)();
102: void (* PaintWindowBorder)();
103: void (* CopyWindow)();
104: void (* ClearToBackground)();
105:
106: unsigned long backingBitPlanes;
107: unsigned long backingPixel;
108: int backingStore; /* no, whenMapped, always */
109: BackingStorePtr backStorage;
110:
111: char bitGravity;
112: char winGravity;
113: Colormap colormap;
114:
115: /* bits for accelerator information */
116:
117: Bool saveUnder:1;
118: unsigned visibility:2;
119: unsigned mapped:1;
120: unsigned realized:1; /* ancestors are all mapped */
121: unsigned viewable:1; /* realized && InputOutput */
122: unsigned overrideRedirect:1;
123: unsigned marked:1;
124:
125: pointer devBackingStore; /* optional */
126: pointer devPrivate; /* dix never looks at this */
127: } WindowRec;
128:
129: extern int DeleteWindow();
130: extern int ChangeWindowAttributes();
131: extern int WalkTree();
132: extern CreateRootWindow();
133: extern WindowPtr CreateWindow();
134: extern int DeleteWindow();
135: extern int DestroySubwindows();
136: extern int ChangeWindowAttributes();
137: extern int GetWindowAttributes();
138: extern int ConfigureWindow();
139: extern int ReparentWindow();
140: extern int MapWindow();
141: extern int MapSubwindow();
142: extern int UnmapWindow();
143: extern int UnmapSubwindow();
144: extern RegionPtr NotClippedByChildren();
145:
146: #endif /* WINDOWSTRUCT_H */
147:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.