Lots more changes which hopefully change nothing but the clarity.
[synfig.git] / synfig-osx / trunk / launcher / applewmstr.h
1 /* $XFree86: xc/lib/GL/dri/xf86dristr.h,v 1.9 2001/03/21 16:01:08 dawes Exp $ */
2 /**************************************************************************
3
4 Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
5 Copyright 2000 VA Linux Systems, Inc.
6 Copyright (c) 2002 Apple Computer, Inc.
7 All Rights Reserved.
8
9 Permission is hereby granted, free of charge, to any person obtaining a
10 copy of this software and associated documentation files (the
11 "Software"), to deal in the Software without restriction, including
12 without limitation the rights to use, copy, modify, merge, publish,
13 distribute, sub license, and/or sell copies of the Software, and to
14 permit persons to whom the Software is furnished to do so, subject to
15 the following conditions:
16
17 The above copyright notice and this permission notice (including the
18 next paragraph) shall be included in all copies or substantial portions
19 of the Software.
20
21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
24 IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
25 ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
26 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
29 **************************************************************************/
30
31 /*
32  * Authors:
33  *   Kevin E. Martin <martin@valinux.com>
34  *   Jens Owen <jens@valinux.com>
35  *   Rickard E. (Rik) Fiath <faith@valinux.com>
36  *
37  */
38
39 #ifndef _APPLEWMSTR_H_
40 #define _APPLEWMSTR_H_
41
42 #include "applewm.h"
43
44 #define APPLEWMNAME "Apple-WM"
45
46 #define APPLE_WM_MAJOR_VERSION  1       /* current version numbers */
47 #define APPLE_WM_MINOR_VERSION  0
48 #define APPLE_WM_PATCH_VERSION  0
49
50 typedef struct _AppleWMQueryVersion {
51     CARD8       reqType;                /* always WMReqCode */
52     CARD8       wmReqType;              /* always X_WMQueryVersion */
53     CARD16      length B16;
54 } xAppleWMQueryVersionReq;
55 #define sz_xAppleWMQueryVersionReq      4
56
57 typedef struct {
58     BYTE        type;                   /* X_Reply */
59     BOOL        pad1;
60     CARD16      sequenceNumber B16;
61     CARD32      length B32;
62     CARD16      majorVersion B16;       /* major version of WM protocol */
63     CARD16      minorVersion B16;       /* minor version of WM protocol */
64     CARD32      patchVersion B32;       /* patch version of WM protocol */
65     CARD32      pad3 B32;
66     CARD32      pad4 B32;
67     CARD32      pad5 B32;
68     CARD32      pad6 B32;
69 } xAppleWMQueryVersionReply;
70 #define sz_xAppleWMQueryVersionReply    32
71
72 typedef struct _AppleWMQueryDirectRenderingCapable {
73     CARD8       reqType;                /* always WMReqCode */
74     CARD8       wmReqType;              /* X_WMQueryDirectRenderingCapable */
75     CARD16      length B16;
76     CARD32      screen B32;
77 } xAppleWMQueryDirectRenderingCapableReq;
78 #define sz_xAppleWMQueryDirectRenderingCapableReq       8
79
80 typedef struct {
81     BYTE        type;                   /* X_Reply */
82     BOOL        pad1;
83     CARD16      sequenceNumber B16;
84     CARD32      length B32;
85     BOOL        isCapable;
86     BOOL        pad2;
87     BOOL        pad3;
88     BOOL        pad4;
89     CARD32      pad5 B32;
90     CARD32      pad6 B32;
91     CARD32      pad7 B32;
92     CARD32      pad8 B32;
93     CARD32      pad9 B32;
94 } xAppleDRIQueryDirectRenderingCapableReply;
95 #define sz_xAppleWMQueryDirectRenderingCapableReply     32
96
97 typedef struct _AppleWMAuthConnection {
98     CARD8       reqType;                /* always WMReqCode */
99     CARD8       wmReqType;              /* always X_WMCloseConnection */
100     CARD16      length B16;
101     CARD32      screen B32;
102     CARD32      magic B32;
103 } xAppleWMAuthConnectionReq;
104 #define sz_xAppleWMAuthConnectionReq    12
105
106 typedef struct {
107     BYTE        type;
108     BOOL        pad1;
109     CARD16      sequenceNumber B16;
110     CARD32      length B32;
111     CARD32      authenticated B32;
112     CARD32      pad2 B32;
113     CARD32      pad3 B32;
114     CARD32      pad4 B32;
115     CARD32      pad5 B32;
116     CARD32      pad6 B32;
117 } xAppleWMAuthConnectionReply;
118 #define zx_xAppleWMAuthConnectionReply  32
119
120 typedef struct _AppleWMCreateSurface {
121     CARD8       reqType;                /* always WMReqCode */
122     CARD8       wmReqType;              /* always X_WMCreateSurface */
123     CARD16      length B16;
124     CARD32      screen B32;
125     CARD32      drawable B32;
126     CARD32      client_id B32;
127 } xAppleWMCreateSurfaceReq;
128 #define sz_xAppleWMCreateSurfaceReq     16
129
130 typedef struct {
131     BYTE        type;                   /* X_Reply */
132     BOOL        pad1;
133     CARD16      sequenceNumber B16;
134     CARD32      length B32;
135     CARD32      key_0 B32;
136     CARD32      key_1 B32;
137     CARD32      uid B32;
138     CARD32      pad4 B32;
139     CARD32      pad5 B32;
140     CARD32      pad6 B32;
141 } xAppleWMCreateSurfaceReply;
142 #define sz_xAppleWMCreateSurfaceReply   32
143
144 typedef struct _AppleWMDestroySurface {
145     CARD8       reqType;                /* always WMReqCode */
146     CARD8       wmReqType;              /* always X_WMDestroySurface */
147     CARD16      length B16;
148     CARD32      screen B32;
149     CARD32      drawable B32;
150 } xAppleWMDestroySurfaceReq;
151 #define sz_xAppleWMDestroySurfaceReq    12
152
153 typedef struct _AppleWMDisableUpdate {
154     CARD8       reqType;                /* always WMReqCode */
155     CARD8       wmReqType;              /* always X_WMDisableUpdate */
156     CARD16      length B16;
157     CARD32      screen B32;
158 } xAppleWMDisableUpdateReq;
159 #define sz_xAppleWMDisableUpdateReq     8
160
161 typedef struct _AppleWMReenableUpdate {
162     CARD8       reqType;                /* always WMReqCode */
163     CARD8       wmReqType;              /* always X_WMReenableUpdate */
164     CARD16      length B16;
165     CARD32      screen B32;
166 } xAppleWMReenableUpdateReq;
167 #define sz_xAppleWMReenableUpdateReq    8
168
169 typedef struct _AppleWMSelectInput {
170     CARD8       reqType;                /* always WMReqCode */
171     CARD8       wmReqType;              /* always X_WMSelectInput */
172     CARD16      length B16;
173     CARD32      mask B32;
174 } xAppleWMSelectInputReq;
175 #define sz_xAppleWMSelectInputReq       8
176
177 typedef struct _AppleWMNotify {
178         BYTE    type;           /* always eventBase + event type */
179         BYTE    kind;
180         CARD16  sequenceNumber B16;
181         Time    time B32;       /* time of change */
182         CARD16  pad1 B16;
183         CARD32  arg B32;
184         CARD32  pad3 B32;
185 } xAppleWMNotifyEvent;
186 #define sz_xAppleWMNotifyEvent  20
187
188 typedef struct _AppleWMSetWindowMenu {
189     CARD8       reqType;                /* always WMReqCode */
190     CARD8       wmReqType;              /* always X_WMSetWindowMenu */
191     CARD16      length B16;
192     CARD16      nitems B16;
193     CARD16      pad1 B16;
194 } xAppleWMSetWindowMenuReq;
195 #define sz_xAppleWMSetWindowMenuReq     8
196
197 typedef struct _AppleWMSetWindowMenuCheck {
198     CARD8       reqType;                /* always WMReqCode */
199     CARD8       wmReqType;              /* always X_WMSetWindowMenuCheck */
200     CARD16      length B16;
201     CARD32      index;
202 } xAppleWMSetWindowMenuCheckReq;
203 #define sz_xAppleWMSetWindowMenuCheckReq 8
204
205 typedef struct _AppleWMSetFrontProcess {
206     CARD8       reqType;                /* always WMReqCode */
207     CARD8       wmReqType;              /* always X_WMSetFrontProcess */
208     CARD16      length B16;
209 } xAppleWMSetFrontProcessReq;
210 #define sz_xAppleWMSetFrontProcessReq 4
211
212 typedef struct _AppleWMSetWindowLevel {
213     CARD8       reqType;                /* always WMReqCode */
214     CARD8       wmReqType;              /* always X_WMSetWindowLevel */
215     CARD16      length B16;
216     CARD32      window;
217     CARD32      level;
218 } xAppleWMSetWindowLevelReq;
219 #define sz_xAppleWMSetWindowLevelReq 12
220
221 typedef struct _AppleWMSetCanQuit {
222     CARD8       reqType;                /* always WMReqCode */
223     CARD8       wmReqType;              /* always X_WMSetCanQuit */
224     CARD16      length B16;
225     CARD32      state;
226 } xAppleWMSetCanQuitReq;
227 #define sz_xAppleWMSetCanQuitReq 8
228
229 typedef struct _AppleWMFrameGetRect {
230     CARD8       reqType;                /* always WMReqCode */
231     CARD8       wmReqType;              /* always X_WMFrameGetRect */
232     CARD16      length B16;
233     CARD16      frame_class B16;
234     CARD16      frame_rect B16;
235     CARD16      ix B16;
236     CARD16      iy B16;
237     CARD16      iw B16;
238     CARD16      ih B16;
239     CARD16      ox B16;
240     CARD16      oy B16;
241     CARD16      ow B16;
242     CARD16      oh B16;
243 } xAppleWMFrameGetRectReq;
244 #define sz_xAppleWMFrameGetRectReq      24
245
246 typedef struct {
247     BYTE        type;                   /* X_Reply */
248     BOOL        pad1;
249     CARD16      sequenceNumber B16;
250     CARD32      length B32;
251     CARD16      x B16;
252     CARD16      y B16;
253     CARD16      w B16;
254     CARD16      h B16;
255     CARD32      pad3 B32;
256     CARD32      pad4 B32;
257     CARD32      pad5 B32;
258     CARD32      pad6 B32;
259 } xAppleWMFrameGetRectReply;
260 #define sz_xAppleWMFrameGetRectReply    32
261
262 typedef struct _AppleWMFrameHitTest {
263     CARD8       reqType;                /* always WMReqCode */
264     CARD8       wmReqType;              /* always X_WMFrameHitTest */
265     CARD16      length B16;
266     CARD16      frame_class B16;
267     CARD16      pad1 B16;
268     CARD16      px B16;
269     CARD16      py B16;
270     CARD16      ix B16;
271     CARD16      iy B16;
272     CARD16      iw B16;
273     CARD16      ih B16;
274     CARD16      ox B16;
275     CARD16      oy B16;
276     CARD16      ow B16;
277     CARD16      oh B16;
278 } xAppleWMFrameHitTestReq;
279 #define sz_xAppleWMFrameHitTestReq      28
280
281 typedef struct {
282     BYTE        type;                   /* X_Reply */
283     BOOL        pad1;
284     CARD16      sequenceNumber B16;
285     CARD32      length B32;
286     CARD32      ret B32;
287     CARD32      pad2 B32;
288     CARD32      pad3 B32;
289     CARD32      pad4 B32;
290     CARD32      pad5 B32;
291     CARD32      pad6 B32;
292 } xAppleWMFrameHitTestReply;
293 #define sz_xAppleWMFrameHitTestReply    32
294
295 typedef struct _AppleWMFrameDraw {
296     CARD8       reqType;                /* always WMReqCode */
297     CARD8       wmReqType;              /* always X_WMFrameDraw */
298     CARD16      length B16;
299     CARD32      screen B32;
300     CARD32      window B32;
301     CARD16      frame_class B16;
302     CARD16      frame_attr B16;
303     CARD16      ix B16;
304     CARD16      iy B16;
305     CARD16      iw B16;
306     CARD16      ih B16;
307     CARD16      ox B16;
308     CARD16      oy B16;
309     CARD16      ow B16;
310     CARD16      oh B16;
311     CARD32      title_length B32;
312 } xAppleWMFrameDrawReq;
313 #define sz_xAppleWMFrameDrawReq 36
314
315 #ifdef _APPLEWM_SERVER_
316
317 void AppleWMSendEvent (
318 #if NeedFunctionPrototypes
319     int                 /* type */,
320     unsigned int        /* mask */,
321     int                 /* which */,
322     int                 /* arg */
323 #endif
324 );
325
326 unsigned int AppleWMSelectedEvents (
327 #if NeedFunctionPrototypes
328     void
329 #endif
330 );
331
332 #endif /* _APPLEWM_SERVER_ */
333 #endif /* _APPLEWMSTR_H_ */