upload tizen2.0 source
[framework/uifw/xorg/proto/x11proto-composite.git] / compositeproto.h
1 /*
2  * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice (including the next
12  * paragraph) shall be included in all copies or substantial portions of the
13  * Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 /*
24  * Copyright © 2003 Keith Packard
25  *
26  * Permission to use, copy, modify, distribute, and sell this software and its
27  * documentation for any purpose is hereby granted without fee, provided that
28  * the above copyright notice appear in all copies and that both that
29  * copyright notice and this permission notice appear in supporting
30  * documentation, and that the name of Keith Packard not be used in
31  * advertising or publicity pertaining to distribution of the software without
32  * specific, written prior permission.  Keith Packard makes no
33  * representations about the suitability of this software for any purpose.  It
34  * is provided "as is" without express or implied warranty.
35  *
36  * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
37  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
38  * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
39  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
40  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
41  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
42  * PERFORMANCE OF THIS SOFTWARE.
43  */
44
45 #ifndef _COMPOSITEPROTO_H_
46 #define _COMPOSITEPROTO_H_
47
48 #include <X11/Xmd.h>
49 #include <X11/extensions/composite.h>
50
51 #define Window CARD32
52 #define Region CARD32
53 #define Pixmap CARD32
54
55 /* 
56  * requests and replies
57  */
58 typedef struct {
59     CARD8   reqType;
60     CARD8   compositeReqType;
61     CARD16  length B16;
62     CARD32  majorVersion B32;
63     CARD32  minorVersion B32;
64 } xCompositeQueryVersionReq;
65
66 #define sz_xCompositeQueryVersionReq   12
67
68 typedef struct {
69     BYTE    type;   /* X_Reply */
70     BYTE    pad1;
71     CARD16  sequenceNumber B16;
72     CARD32  length B32;
73     CARD32  majorVersion B32;
74     CARD32  minorVersion B32;
75     CARD32  pad2 B32;
76     CARD32  pad3 B32;
77     CARD32  pad4 B32;
78     CARD32  pad5 B32;
79 } xCompositeQueryVersionReply;
80
81 #define sz_xCompositeQueryVersionReply  32
82
83 typedef struct {
84     CARD8   reqType;
85     CARD8   compositeReqType;
86     CARD16  length B16;
87     Window  window B32;
88     CARD8   update;
89     CARD8   pad1;
90     CARD16  pad2 B16;
91 } xCompositeRedirectWindowReq;
92
93 #define sz_xCompositeRedirectWindowReq  12
94
95 typedef struct {
96     CARD8   reqType;
97     CARD8   compositeReqType;
98     CARD16  length B16;
99     Window  window B32;
100     CARD8   update;
101     CARD8   pad1;
102     CARD16  pad2 B16;
103 } xCompositeRedirectSubwindowsReq;
104
105 #define sz_xCompositeRedirectSubwindowsReq          12
106
107 typedef struct {
108     CARD8   reqType;
109     CARD8   compositeReqType;
110     CARD16  length B16;
111     Window  window B32;
112     CARD8   update;
113     CARD8   pad1;
114     CARD16  pad2 B16;
115 } xCompositeUnredirectWindowReq;
116
117 #define sz_xCompositeUnredirectWindowReq    12
118
119 typedef struct {
120     CARD8   reqType;
121     CARD8   compositeReqType;
122     CARD16  length B16;
123     Window  window B32;
124     CARD8   update;
125     CARD8   pad1;
126     CARD16  pad2 B16;
127 } xCompositeUnredirectSubwindowsReq;
128
129 #define sz_xCompositeUnredirectSubwindowsReq   12
130
131 typedef struct {
132     CARD8   reqType;
133     CARD8   compositeReqType;
134     CARD16  length B16;
135     Region  region B32;
136     Window  window B32;
137 } xCompositeCreateRegionFromBorderClipReq;
138
139 #define sz_xCompositeCreateRegionFromBorderClipReq  12
140
141 /* Version 0.2 additions */
142
143 typedef struct {
144     CARD8   reqType;
145     CARD8   compositeReqType;
146     CARD16  length;
147     Window  window B32;
148     Pixmap  pixmap B32;
149 } xCompositeNameWindowPixmapReq;
150
151 #define sz_xCompositeNameWindowPixmapReq            12
152
153 /* Version 0.3 additions */
154
155 typedef struct {
156     CARD8   reqType;
157     CARD8   compositeReqType;
158     CARD16  length B16;
159     Window  window B32;
160 } xCompositeGetOverlayWindowReq;
161
162 #define sz_xCompositeGetOverlayWindowReq sizeof(xCompositeGetOverlayWindowReq)
163
164 typedef struct {
165     BYTE    type;   /* X_Reply */
166     BYTE    pad1;
167     CARD16  sequenceNumber B16;
168     CARD32  length B32;
169     Window  overlayWin B32;
170     CARD32  pad2 B32;
171     CARD32  pad3 B32;
172     CARD32  pad4 B32;
173     CARD32  pad5 B32;
174     CARD32  pad6 B32;
175 } xCompositeGetOverlayWindowReply;
176
177 #define sz_xCompositeGetOverlayWindowReply sizeof(xCompositeGetOverlayWindowReply)
178
179 typedef struct {
180     CARD8   reqType;
181     CARD8   compositeReqType;
182     CARD16  length B16;
183     Window  window B32;
184 } xCompositeReleaseOverlayWindowReq;
185
186 #define sz_xCompositeReleaseOverlayWindowReq sizeof(xCompositeReleaseOverlayWindowReq)
187
188 #undef Window
189 #undef Region
190 #undef Pixmap
191
192 #endif /* _COMPOSITEPROTO_H_ */