1 /* $XConsortium: window.h /main/8 1996/03/21 13:35:33 mor $ */
2 /***********************************************************
4 Copyright (c) 1987 X Consortium
6 Permission is hereby granted, free of charge, to any person obtaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
13 The above copyright notice and this permission notice shall be included in
14 all copies or substantial portions of the Software.
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 Except as contained in this notice, the name of the X Consortium shall not be
24 used in advertising or otherwise to promote the sale, use or other dealings
25 in this Software without prior written authorization from the X Consortium.
28 Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
32 Permission to use, copy, modify, and distribute this software and its
33 documentation for any purpose and without fee is hereby granted,
34 provided that the above copyright notice appear in all copies and that
35 both that copyright notice and this permission notice appear in
36 supporting documentation, and that the name of Digital not be
37 used in advertising or publicity pertaining to distribution of the
38 software without specific, written prior permission.
40 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
41 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
42 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
43 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
44 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
45 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
48 ******************************************************************/
55 #include "screenint.h"
56 #include "X11/Xproto.h"
58 #define TOTALLY_OBSCURED 0
62 #define VisibilityNotViewable 3
64 /* return values for tree-walking callback procedures */
65 #define WT_STOPWALKING 0
66 #define WT_WALKCHILDREN 1
67 #define WT_DONTWALKCHILDREN 2
69 #define NullWindow ((WindowPtr) 0)
71 typedef struct _BackingStore *BackingStorePtr;
72 typedef struct _Window *WindowPtr;
74 typedef int (*VisitWindowProcPtr)(
75 #if NeedNestedPrototypes
81 extern int TraverseTree(
82 #if NeedFunctionPrototypes
84 VisitWindowProcPtr /*func*/,
90 #if NeedFunctionPrototypes
91 ScreenPtr /*pScreen*/,
92 VisitWindowProcPtr /*func*/,
97 extern WindowPtr AllocateWindow(
98 #if NeedFunctionPrototypes
103 extern Bool CreateRootWindow(
104 #if NeedFunctionPrototypes
105 ScreenPtr /*pScreen*/
109 extern void InitRootWindow(
110 #if NeedFunctionPrototypes
115 extern void ClippedRegionFromBox(
116 #if NeedFunctionPrototypes
126 extern WindowPtr RealChildHead(
127 #if NeedFunctionPrototypes
132 extern WindowPtr CreateWindow(
133 #if NeedFunctionPrototypes
135 WindowPtr /*pParent*/,
141 unsigned int /*class*/,
145 ClientPtr /*client*/,
151 extern int DeleteWindow(
152 #if NeedFunctionPrototypes
158 extern void DestroySubwindows(
159 #if NeedFunctionPrototypes
165 extern int ChangeWindowAttributes(
166 #if NeedFunctionPrototypes
174 extern void GetWindowAttributes(
175 #if NeedFunctionPrototypes
177 ClientPtr /*client*/,
178 xGetWindowAttributesReply* /* wa */
182 extern RegionPtr CreateUnclippedWinSize(
183 #if NeedFunctionPrototypes
188 extern void GravityTranslate(
189 #if NeedFunctionPrototypes
196 unsigned /*gravity*/,
202 extern int ConfigureWindow(
203 #if NeedFunctionPrototypes
211 extern int CirculateWindow(
212 #if NeedFunctionPrototypes
213 WindowPtr /*pParent*/,
219 extern int ReparentWindow(
220 #if NeedFunctionPrototypes
222 WindowPtr /*pParent*/,
229 extern int MapWindow(
230 #if NeedFunctionPrototypes
236 extern void MapSubwindows(
237 #if NeedFunctionPrototypes
238 WindowPtr /*pParent*/,
243 extern int UnmapWindow(
244 #if NeedFunctionPrototypes
246 Bool /*fromConfigure*/
250 extern void UnmapSubwindows(
251 #if NeedFunctionPrototypes
256 extern void HandleSaveSet(
257 #if NeedFunctionPrototypes
262 extern Bool VisibleBoundingBoxFromPoint(
263 #if NeedFunctionPrototypes
271 extern Bool PointInWindowIsVisible(
272 #if NeedFunctionPrototypes
279 extern RegionPtr NotClippedByChildren(
280 #if NeedFunctionPrototypes
285 extern void SendVisibilityNotify(
286 #if NeedFunctionPrototypes
291 extern void SaveScreens(
292 #if NeedFunctionPrototypes
298 extern WindowPtr FindWindowWithOptional(
299 #if NeedFunctionPrototypes
304 extern void CheckWindowOptionalNeed(
305 #if NeedFunctionPrototypes
310 extern Bool MakeWindowOptional(
311 #if NeedFunctionPrototypes
316 extern void DisposeWindowOptional(
317 #if NeedFunctionPrototypes
322 extern WindowPtr MoveWindowInStack(
323 #if NeedFunctionPrototypes
325 WindowPtr /*pNextSib*/
330 #if NeedFunctionPrototypes
336 #if NeedFunctionPrototypes
341 void ResizeChildrenWinSize(
342 #if NeedFunctionPrototypes
351 #endif /* WINDOW_H */