VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.5.3/window.h@ 17448

Last change on this file since 17448 was 17448, checked in by vboxsync, 16 years ago

Additions/x11: added a full header set for X.Org server 1.5 and 1.6

  • Property svn:eol-style set to native
File size: 6.6 KB
Line 
1/***********************************************************
2
3Copyright 1987, 1998 The Open Group
4
5Permission to use, copy, modify, distribute, and sell this software and its
6documentation for any purpose is hereby granted without fee, provided that
7the above copyright notice appear in all copies and that both that
8copyright notice and this permission notice appear in supporting
9documentation.
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
21Except as contained in this notice, the name of The Open Group shall not be
22used in advertising or otherwise to promote the sale, use or other dealings
23in this Software without prior written authorization from The Open Group.
24
25
26Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
27
28 All Rights Reserved
29
30Permission to use, copy, modify, and distribute this software and its
31documentation for any purpose and without fee is hereby granted,
32provided that the above copyright notice appear in all copies and that
33both that copyright notice and this permission notice appear in
34supporting documentation, and that the name of Digital not be
35used in advertising or publicity pertaining to distribution of the
36software without specific, written prior permission.
37
38DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
39ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
40DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
41ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
42WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
43ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
44SOFTWARE.
45
46******************************************************************/
47
48#ifndef WINDOW_H
49#define WINDOW_H
50
51#include "misc.h"
52#include "region.h"
53#include "screenint.h"
54#include <X11/Xproto.h>
55
56#define TOTALLY_OBSCURED 0
57#define UNOBSCURED 1
58#define OBSCURED 2
59
60#define VisibilityNotViewable 3
61
62/* return values for tree-walking callback procedures */
63#define WT_STOPWALKING 0
64#define WT_WALKCHILDREN 1
65#define WT_DONTWALKCHILDREN 2
66#define WT_NOMATCH 3
67#define NullWindow ((WindowPtr) 0)
68
69typedef struct _BackingStore *BackingStorePtr;
70typedef struct _Window *WindowPtr;
71
72typedef int (*VisitWindowProcPtr)(
73 WindowPtr /*pWin*/,
74 pointer /*data*/);
75
76extern int TraverseTree(
77 WindowPtr /*pWin*/,
78 VisitWindowProcPtr /*func*/,
79 pointer /*data*/);
80
81extern int WalkTree(
82 ScreenPtr /*pScreen*/,
83 VisitWindowProcPtr /*func*/,
84 pointer /*data*/);
85
86extern Bool CreateRootWindow(
87 ScreenPtr /*pScreen*/);
88
89extern void InitRootWindow(
90 WindowPtr /*pWin*/);
91
92typedef WindowPtr (* RealChildHeadProc) (WindowPtr pWin);
93
94void RegisterRealChildHeadProc (RealChildHeadProc proc);
95
96extern WindowPtr RealChildHead(
97 WindowPtr /*pWin*/);
98
99extern WindowPtr CreateWindow(
100 Window /*wid*/,
101 WindowPtr /*pParent*/,
102 int /*x*/,
103 int /*y*/,
104 unsigned int /*w*/,
105 unsigned int /*h*/,
106 unsigned int /*bw*/,
107 unsigned int /*class*/,
108 Mask /*vmask*/,
109 XID* /*vlist*/,
110 int /*depth*/,
111 ClientPtr /*client*/,
112 VisualID /*visual*/,
113 int* /*error*/);
114
115extern int DeleteWindow(
116 pointer /*pWin*/,
117 XID /*wid*/);
118
119extern int DestroySubwindows(
120 WindowPtr /*pWin*/,
121 ClientPtr /*client*/);
122
123/* Quartz support on Mac OS X uses the HIToolbox
124 framework whose ChangeWindowAttributes function conflicts here. */
125#ifdef __APPLE__
126#define ChangeWindowAttributes Darwin_X_ChangeWindowAttributes
127#endif
128extern int ChangeWindowAttributes(
129 WindowPtr /*pWin*/,
130 Mask /*vmask*/,
131 XID* /*vlist*/,
132 ClientPtr /*client*/);
133
134/* Quartz support on Mac OS X uses the HIToolbox
135 framework whose GetWindowAttributes function conflicts here. */
136#ifdef __APPLE__
137#define GetWindowAttributes(w,c,x) Darwin_X_GetWindowAttributes(w,c,x)
138extern void Darwin_X_GetWindowAttributes(
139#else
140extern void GetWindowAttributes(
141#endif
142 WindowPtr /*pWin*/,
143 ClientPtr /*client*/,
144 xGetWindowAttributesReply* /* wa */);
145
146extern RegionPtr CreateUnclippedWinSize(
147 WindowPtr /*pWin*/);
148
149extern void GravityTranslate(
150 int /*x*/,
151 int /*y*/,
152 int /*oldx*/,
153 int /*oldy*/,
154 int /*dw*/,
155 int /*dh*/,
156 unsigned /*gravity*/,
157 int* /*destx*/,
158 int* /*desty*/);
159
160extern int ConfigureWindow(
161 WindowPtr /*pWin*/,
162 Mask /*mask*/,
163 XID* /*vlist*/,
164 ClientPtr /*client*/);
165
166extern int CirculateWindow(
167 WindowPtr /*pParent*/,
168 int /*direction*/,
169 ClientPtr /*client*/);
170
171extern int ReparentWindow(
172 WindowPtr /*pWin*/,
173 WindowPtr /*pParent*/,
174 int /*x*/,
175 int /*y*/,
176 ClientPtr /*client*/);
177
178extern int MapWindow(
179 WindowPtr /*pWin*/,
180 ClientPtr /*client*/);
181
182extern void MapSubwindows(
183 WindowPtr /*pParent*/,
184 ClientPtr /*client*/);
185
186extern int UnmapWindow(
187 WindowPtr /*pWin*/,
188 Bool /*fromConfigure*/);
189
190extern void UnmapSubwindows(
191 WindowPtr /*pWin*/);
192
193extern void HandleSaveSet(
194 ClientPtr /*client*/);
195
196extern Bool PointInWindowIsVisible(
197 WindowPtr /*pWin*/,
198 int /*x*/,
199 int /*y*/);
200
201extern RegionPtr NotClippedByChildren(
202 WindowPtr /*pWin*/);
203
204extern void SendVisibilityNotify(
205 WindowPtr /*pWin*/);
206
207extern int dixSaveScreens(
208 ClientPtr client,
209 int on,
210 int mode);
211
212extern int SaveScreens(
213 int on,
214 int mode);
215
216extern WindowPtr FindWindowWithOptional(
217 WindowPtr /*w*/);
218
219extern void CheckWindowOptionalNeed(
220 WindowPtr /*w*/);
221
222extern Bool MakeWindowOptional(
223 WindowPtr /*pWin*/);
224
225extern WindowPtr MoveWindowInStack(
226 WindowPtr /*pWin*/,
227 WindowPtr /*pNextSib*/);
228
229void SetWinSize(
230 WindowPtr /*pWin*/);
231
232void SetBorderSize(
233 WindowPtr /*pWin*/);
234
235void ResizeChildrenWinSize(
236 WindowPtr /*pWin*/,
237 int /*dx*/,
238 int /*dy*/,
239 int /*dw*/,
240 int /*dh*/);
241
242extern void ShapeExtensionInit(void);
243
244extern void SendShapeNotify(
245 WindowPtr /* pWin */,
246 int /* which */ );
247
248extern RegionPtr CreateBoundingShape(
249 WindowPtr /* pWin */ );
250
251extern RegionPtr CreateClipShape(
252 WindowPtr /* pWin */ );
253
254extern void DisableMapUnmapEvents(
255 WindowPtr /* pWin */ );
256extern void EnableMapUnmapEvents(
257 WindowPtr /* pWin */ );
258
259#endif /* WINDOW_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette