jpayne@69
|
1 /************************************************************
|
jpayne@69
|
2
|
jpayne@69
|
3 Copyright 1989, 1998 The Open Group
|
jpayne@69
|
4
|
jpayne@69
|
5 Permission to use, copy, modify, distribute, and sell this software and its
|
jpayne@69
|
6 documentation for any purpose is hereby granted without fee, provided that
|
jpayne@69
|
7 the above copyright notice appear in all copies and that both that
|
jpayne@69
|
8 copyright notice and this permission notice appear in supporting
|
jpayne@69
|
9 documentation.
|
jpayne@69
|
10
|
jpayne@69
|
11 The above copyright notice and this permission notice shall be included in
|
jpayne@69
|
12 all copies or substantial portions of the Software.
|
jpayne@69
|
13
|
jpayne@69
|
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
jpayne@69
|
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
jpayne@69
|
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
jpayne@69
|
17 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
jpayne@69
|
18 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
jpayne@69
|
19 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
jpayne@69
|
20
|
jpayne@69
|
21 Except as contained in this notice, the name of The Open Group shall not be
|
jpayne@69
|
22 used in advertising or otherwise to promote the sale, use or other dealings
|
jpayne@69
|
23 in this Software without prior written authorization from The Open Group.
|
jpayne@69
|
24
|
jpayne@69
|
25 ********************************************************/
|
jpayne@69
|
26
|
jpayne@69
|
27 #ifndef _SHAPE_H_
|
jpayne@69
|
28 #define _SHAPE_H_
|
jpayne@69
|
29
|
jpayne@69
|
30 #include <X11/Xfuncproto.h>
|
jpayne@69
|
31 #include <X11/extensions/shapeconst.h>
|
jpayne@69
|
32
|
jpayne@69
|
33 #ifndef _SHAPE_SERVER_
|
jpayne@69
|
34 #include <X11/Xutil.h>
|
jpayne@69
|
35
|
jpayne@69
|
36 typedef struct {
|
jpayne@69
|
37 int type; /* of event */
|
jpayne@69
|
38 unsigned long serial; /* # of last request processed by server */
|
jpayne@69
|
39 Bool send_event; /* true if this came from a SendEvent request */
|
jpayne@69
|
40 Display *display; /* Display the event was read from */
|
jpayne@69
|
41 Window window; /* window of event */
|
jpayne@69
|
42 int kind; /* ShapeBounding or ShapeClip */
|
jpayne@69
|
43 int x, y; /* extents of new region */
|
jpayne@69
|
44 unsigned width, height;
|
jpayne@69
|
45 Time time; /* server timestamp when region changed */
|
jpayne@69
|
46 Bool shaped; /* true if the region exists */
|
jpayne@69
|
47 } XShapeEvent;
|
jpayne@69
|
48
|
jpayne@69
|
49 _XFUNCPROTOBEGIN
|
jpayne@69
|
50
|
jpayne@69
|
51 extern Bool XShapeQueryExtension (
|
jpayne@69
|
52 Display* /* display */,
|
jpayne@69
|
53 int* /* event_base */,
|
jpayne@69
|
54 int* /* error_base */
|
jpayne@69
|
55 );
|
jpayne@69
|
56
|
jpayne@69
|
57 extern Status XShapeQueryVersion (
|
jpayne@69
|
58 Display* /* display */,
|
jpayne@69
|
59 int* /* major_version */,
|
jpayne@69
|
60 int* /* minor_version */
|
jpayne@69
|
61 );
|
jpayne@69
|
62
|
jpayne@69
|
63 extern void XShapeCombineRegion (
|
jpayne@69
|
64 Display* /* display */,
|
jpayne@69
|
65 Window /* dest */,
|
jpayne@69
|
66 int /* dest_kind */,
|
jpayne@69
|
67 int /* x_off */,
|
jpayne@69
|
68 int /* y_off */,
|
jpayne@69
|
69 Region /* region */,
|
jpayne@69
|
70 int /* op */
|
jpayne@69
|
71 );
|
jpayne@69
|
72
|
jpayne@69
|
73 extern void XShapeCombineRectangles (
|
jpayne@69
|
74 Display* /* display */,
|
jpayne@69
|
75 Window /* dest */,
|
jpayne@69
|
76 int /* dest_kind */,
|
jpayne@69
|
77 int /* x_off */,
|
jpayne@69
|
78 int /* y_off */,
|
jpayne@69
|
79 XRectangle* /* rectangles */,
|
jpayne@69
|
80 int /* n_rects */,
|
jpayne@69
|
81 int /* op */,
|
jpayne@69
|
82 int /* ordering */
|
jpayne@69
|
83 );
|
jpayne@69
|
84
|
jpayne@69
|
85 extern void XShapeCombineMask (
|
jpayne@69
|
86 Display* /* display */,
|
jpayne@69
|
87 Window /* dest */,
|
jpayne@69
|
88 int /* dest_kind */,
|
jpayne@69
|
89 int /* x_off */,
|
jpayne@69
|
90 int /* y_off */,
|
jpayne@69
|
91 Pixmap /* src */,
|
jpayne@69
|
92 int /* op */
|
jpayne@69
|
93 );
|
jpayne@69
|
94
|
jpayne@69
|
95 extern void XShapeCombineShape (
|
jpayne@69
|
96 Display* /* display */,
|
jpayne@69
|
97 Window /* dest */,
|
jpayne@69
|
98 int /* dest_kind */,
|
jpayne@69
|
99 int /* x_off */,
|
jpayne@69
|
100 int /* y_off */,
|
jpayne@69
|
101 Window /* src */,
|
jpayne@69
|
102 int /* src_kind */,
|
jpayne@69
|
103 int /* op */
|
jpayne@69
|
104 );
|
jpayne@69
|
105
|
jpayne@69
|
106 extern void XShapeOffsetShape (
|
jpayne@69
|
107 Display* /* display */,
|
jpayne@69
|
108 Window /* dest */,
|
jpayne@69
|
109 int /* dest_kind */,
|
jpayne@69
|
110 int /* x_off */,
|
jpayne@69
|
111 int /* y_off */
|
jpayne@69
|
112 );
|
jpayne@69
|
113
|
jpayne@69
|
114 extern Status XShapeQueryExtents (
|
jpayne@69
|
115 Display* /* display */,
|
jpayne@69
|
116 Window /* window */,
|
jpayne@69
|
117 Bool* /* bounding_shaped */,
|
jpayne@69
|
118 int* /* x_bounding */,
|
jpayne@69
|
119 int* /* y_bounding */,
|
jpayne@69
|
120 unsigned int* /* w_bounding */,
|
jpayne@69
|
121 unsigned int* /* h_bounding */,
|
jpayne@69
|
122 Bool* /* clip_shaped */,
|
jpayne@69
|
123 int* /* x_clip */,
|
jpayne@69
|
124 int* /* y_clip */,
|
jpayne@69
|
125 unsigned int* /* w_clip */,
|
jpayne@69
|
126 unsigned int* /* h_clip */
|
jpayne@69
|
127 );
|
jpayne@69
|
128
|
jpayne@69
|
129 extern void XShapeSelectInput (
|
jpayne@69
|
130 Display* /* display */,
|
jpayne@69
|
131 Window /* window */,
|
jpayne@69
|
132 unsigned long /* mask */
|
jpayne@69
|
133 );
|
jpayne@69
|
134
|
jpayne@69
|
135 extern unsigned long XShapeInputSelected (
|
jpayne@69
|
136 Display* /* display */,
|
jpayne@69
|
137 Window /* window */
|
jpayne@69
|
138 );
|
jpayne@69
|
139
|
jpayne@69
|
140 extern XRectangle *XShapeGetRectangles (
|
jpayne@69
|
141 Display* /* display */,
|
jpayne@69
|
142 Window /* window */,
|
jpayne@69
|
143 int /* kind */,
|
jpayne@69
|
144 int* /* count */,
|
jpayne@69
|
145 int* /* ordering */
|
jpayne@69
|
146 );
|
jpayne@69
|
147
|
jpayne@69
|
148 _XFUNCPROTOEND
|
jpayne@69
|
149
|
jpayne@69
|
150 #endif /* !_SHAPE_SERVER_ */
|
jpayne@69
|
151
|
jpayne@69
|
152 #endif /* _SHAPE_H_ */
|