Initial commit
[xorg_rtime.git] / xorg-server-1.4 / hw / xnest / XNWindow.h
blob21be5f5e3970e36b074166c8cf2e39c0b8ae9bcf
1 /*
3 Copyright 1993 by Davor Matic
5 Permission to use, copy, modify, distribute, and sell this software
6 and its documentation for any purpose is hereby granted without fee,
7 provided that the above copyright notice appear in all copies and that
8 both that copyright notice and this permission notice appear in
9 supporting documentation. Davor Matic makes no representations about
10 the suitability of this software for any purpose. It is provided "as
11 is" without express or implied warranty.
15 #ifndef XNESTWINDOW_H
16 #define XNESTWINDOW_H
18 typedef struct {
19 Window window;
20 Window parent;
21 int x;
22 int y;
23 unsigned int width;
24 unsigned int height;
25 unsigned int border_width;
26 Window sibling_above;
27 #ifdef SHAPE
28 RegionPtr bounding_shape;
29 RegionPtr clip_shape;
30 #endif /* SHAPE */
31 } xnestPrivWin;
33 typedef struct {
34 WindowPtr pWin;
35 Window window;
36 } xnestWindowMatch;
38 extern int xnestWindowPrivateIndex;
40 #define xnestWindowPriv(pWin) \
41 ((xnestPrivWin *)((pWin)->devPrivates[xnestWindowPrivateIndex].ptr))
43 #define xnestWindow(pWin) (xnestWindowPriv(pWin)->window)
45 #define xnestWindowParent(pWin) \
46 ((pWin)->parent ? \
47 xnestWindow((pWin)->parent) : \
48 xnestDefaultWindows[pWin->drawable.pScreen->myNum])
50 #define xnestWindowSiblingAbove(pWin) \
51 ((pWin)->prevSib ? xnestWindow((pWin)->prevSib) : None)
53 #define xnestWindowSiblingBelow(pWin) \
54 ((pWin)->nextSib ? xnestWindow((pWin)->nextSib) : None)
56 #define CWParent CWSibling
57 #define CWStackingOrder CWStackMode
59 WindowPtr xnestWindowPtr(Window window);
60 Bool xnestCreateWindow(WindowPtr pWin);
61 Bool xnestDestroyWindow(WindowPtr pWin);
62 Bool xnestPositionWindow(WindowPtr pWin, int x, int y);
63 void xnestConfigureWindow(WindowPtr pWin, unsigned int mask);
64 Bool xnestChangeWindowAttributes(WindowPtr pWin, unsigned long mask);
65 Bool xnestRealizeWindow(WindowPtr pWin);
66 Bool xnestUnrealizeWindow(WindowPtr pWin);
67 void xnestPaintWindowBackground(WindowPtr pWin, RegionPtr pRegion, int what);
68 void xnestPaintWindowBorder(WindowPtr pWin, RegionPtr pRegion, int what);
69 void xnestCopyWindow(WindowPtr pWin, xPoint oldOrigin, RegionPtr oldRegion);
70 void xnestClipNotify(WindowPtr pWin, int dx, int dy);
71 void xnestWindowExposures(WindowPtr pWin, RegionPtr pRgn,
72 RegionPtr other_exposed);
73 #ifdef SHAPE
74 void xnestSetShape(WindowPtr pWin);
75 void xnestShapeWindow(WindowPtr pWin);
76 #endif /* SHAPE */
78 #endif /* XNESTWINDOW_H */