~ubuntu-branches/ubuntu/trusty/x11proto-core/trusty

« back to all changes in this revision

Viewing changes to X.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Stone
  • Date: 2005-07-22 18:25:10 UTC
  • Revision ID: james.westby@ubuntu.com-20050722182510-t2zzpzgwtbs5bpa9
Tags: upstream-6.8.99.15+cvs.20050722
ImportĀ upstreamĀ versionĀ 6.8.99.15+cvs.20050722

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *      $Xorg: X.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $
 
3
 */
 
4
 
 
5
/* Definitions for the X window system likely to be used by applications */
 
6
 
 
7
#ifndef X_H
 
8
#define X_H
 
9
 
 
10
/***********************************************************
 
11
 
 
12
Copyright 1987, 1998  The Open Group
 
13
 
 
14
Permission to use, copy, modify, distribute, and sell this software and its
 
15
documentation for any purpose is hereby granted without fee, provided that
 
16
the above copyright notice appear in all copies and that both that
 
17
copyright notice and this permission notice appear in supporting
 
18
documentation.
 
19
 
 
20
The above copyright notice and this permission notice shall be included in
 
21
all copies or substantial portions of the Software.
 
22
 
 
23
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
24
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
25
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 
26
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 
27
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 
28
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
29
 
 
30
Except as contained in this notice, the name of The Open Group shall not be
 
31
used in advertising or otherwise to promote the sale, use or other dealings
 
32
in this Software without prior written authorization from The Open Group.
 
33
 
 
34
 
 
35
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 
36
 
 
37
                        All Rights Reserved
 
38
 
 
39
Permission to use, copy, modify, and distribute this software and its 
 
40
documentation for any purpose and without fee is hereby granted, 
 
41
provided that the above copyright notice appear in all copies and that
 
42
both that copyright notice and this permission notice appear in 
 
43
supporting documentation, and that the name of Digital not be
 
44
used in advertising or publicity pertaining to distribution of the
 
45
software without specific, written prior permission.  
 
46
 
 
47
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 
48
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 
49
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 
50
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 
51
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 
52
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 
53
SOFTWARE.
 
54
 
 
55
******************************************************************/
 
56
/* $XFree86: xc/include/X.h,v 1.6 2003/07/09 15:27:28 tsi Exp $ */
 
57
 
 
58
#define X_PROTOCOL      11              /* current protocol version */
 
59
#define X_PROTOCOL_REVISION 0           /* current minor version */
 
60
 
 
61
/* Resources */
 
62
 
 
63
/*
 
64
 * _XSERVER64 must ONLY be defined when compiling X server sources on
 
65
 * systems where unsigned long is not 32 bits, must NOT be used in
 
66
 * client or library code.
 
67
 */
 
68
#ifndef _XSERVER64
 
69
#  ifndef _XTYPEDEF_XID
 
70
#    define _XTYPEDEF_XID
 
71
typedef unsigned long XID;
 
72
#  endif
 
73
#  ifndef _XTYPEDEF_MASK
 
74
#    define _XTYPEDEF_MASK
 
75
typedef unsigned long Mask;
 
76
#  endif
 
77
#  ifndef _XTYPEDEF_ATOM
 
78
#    define _XTYPEDEF_ATOM
 
79
typedef unsigned long Atom;             /* Also in Xdefs.h */
 
80
#  endif
 
81
typedef unsigned long VisualID;
 
82
typedef unsigned long Time;
 
83
#else
 
84
#  include <X11/Xmd.h>
 
85
#  ifndef _XTYPEDEF_XID
 
86
#    define _XTYPEDEF_XID
 
87
typedef CARD32 XID;
 
88
#  endif
 
89
#  ifndef _XTYPEDEF_MASK
 
90
#    define _XTYPEDEF_MASK
 
91
typedef CARD32 Mask;
 
92
#  endif
 
93
#  ifndef _XTYPEDEF_ATOM
 
94
#    define _XTYPEDEF_ATOM
 
95
typedef CARD32 Atom;
 
96
#  endif
 
97
typedef CARD32 VisualID;
 
98
typedef CARD32 Time;
 
99
#endif
 
100
 
 
101
typedef XID Window;
 
102
typedef XID Drawable;
 
103
#ifndef _XTYPEDEF_FONT
 
104
#  define _XTYPEDEF_FONT
 
105
typedef XID Font;
 
106
#endif
 
107
typedef XID Pixmap;
 
108
typedef XID Cursor;
 
109
typedef XID Colormap;
 
110
typedef XID GContext;
 
111
typedef XID KeySym;
 
112
 
 
113
typedef unsigned char KeyCode;
 
114
 
 
115
/*****************************************************************
 
116
 * RESERVED RESOURCE AND CONSTANT DEFINITIONS
 
117
 *****************************************************************/
 
118
 
 
119
#ifndef None
 
120
#define None                 0L /* universal null resource or null atom */
 
121
#endif
 
122
 
 
123
#define ParentRelative       1L /* background pixmap in CreateWindow
 
124
                                    and ChangeWindowAttributes */
 
125
 
 
126
#define CopyFromParent       0L /* border pixmap in CreateWindow
 
127
                                       and ChangeWindowAttributes
 
128
                                   special VisualID and special window
 
129
                                       class passed to CreateWindow */
 
130
 
 
131
#define PointerWindow        0L /* destination window in SendEvent */
 
132
#define InputFocus           1L /* destination window in SendEvent */
 
133
 
 
134
#define PointerRoot          1L /* focus window in SetInputFocus */
 
135
 
 
136
#define AnyPropertyType      0L /* special Atom, passed to GetProperty */
 
137
 
 
138
#define AnyKey               0L /* special Key Code, passed to GrabKey */
 
139
 
 
140
#define AnyButton            0L /* special Button Code, passed to GrabButton */
 
141
 
 
142
#define AllTemporary         0L /* special Resource ID passed to KillClient */
 
143
 
 
144
#define CurrentTime          0L /* special Time */
 
145
 
 
146
#define NoSymbol             0L /* special KeySym */
 
147
 
 
148
/***************************************************************** 
 
149
 * EVENT DEFINITIONS 
 
150
 *****************************************************************/
 
151
 
 
152
/* Input Event Masks. Used as event-mask window attribute and as arguments
 
153
   to Grab requests.  Not to be confused with event names.  */
 
154
 
 
155
#define NoEventMask                     0L
 
156
#define KeyPressMask                    (1L<<0)  
 
157
#define KeyReleaseMask                  (1L<<1)  
 
158
#define ButtonPressMask                 (1L<<2)  
 
159
#define ButtonReleaseMask               (1L<<3)  
 
160
#define EnterWindowMask                 (1L<<4)  
 
161
#define LeaveWindowMask                 (1L<<5)  
 
162
#define PointerMotionMask               (1L<<6)  
 
163
#define PointerMotionHintMask           (1L<<7)  
 
164
#define Button1MotionMask               (1L<<8)  
 
165
#define Button2MotionMask               (1L<<9)  
 
166
#define Button3MotionMask               (1L<<10) 
 
167
#define Button4MotionMask               (1L<<11) 
 
168
#define Button5MotionMask               (1L<<12) 
 
169
#define ButtonMotionMask                (1L<<13) 
 
170
#define KeymapStateMask                 (1L<<14)
 
171
#define ExposureMask                    (1L<<15) 
 
172
#define VisibilityChangeMask            (1L<<16) 
 
173
#define StructureNotifyMask             (1L<<17) 
 
174
#define ResizeRedirectMask              (1L<<18) 
 
175
#define SubstructureNotifyMask          (1L<<19) 
 
176
#define SubstructureRedirectMask        (1L<<20) 
 
177
#define FocusChangeMask                 (1L<<21) 
 
178
#define PropertyChangeMask              (1L<<22) 
 
179
#define ColormapChangeMask              (1L<<23) 
 
180
#define OwnerGrabButtonMask             (1L<<24) 
 
181
 
 
182
/* Event names.  Used in "type" field in XEvent structures.  Not to be
 
183
confused with event masks above.  They start from 2 because 0 and 1
 
184
are reserved in the protocol for errors and replies. */
 
185
 
 
186
#define KeyPress                2
 
187
#define KeyRelease              3
 
188
#define ButtonPress             4
 
189
#define ButtonRelease           5
 
190
#define MotionNotify            6
 
191
#define EnterNotify             7
 
192
#define LeaveNotify             8
 
193
#define FocusIn                 9
 
194
#define FocusOut                10
 
195
#define KeymapNotify            11
 
196
#define Expose                  12
 
197
#define GraphicsExpose          13
 
198
#define NoExpose                14
 
199
#define VisibilityNotify        15
 
200
#define CreateNotify            16
 
201
#define DestroyNotify           17
 
202
#define UnmapNotify             18
 
203
#define MapNotify               19
 
204
#define MapRequest              20
 
205
#define ReparentNotify          21
 
206
#define ConfigureNotify         22
 
207
#define ConfigureRequest        23
 
208
#define GravityNotify           24
 
209
#define ResizeRequest           25
 
210
#define CirculateNotify         26
 
211
#define CirculateRequest        27
 
212
#define PropertyNotify          28
 
213
#define SelectionClear          29
 
214
#define SelectionRequest        30
 
215
#define SelectionNotify         31
 
216
#define ColormapNotify          32
 
217
#define ClientMessage           33
 
218
#define MappingNotify           34
 
219
#define LASTEvent               35      /* must be bigger than any event # */
 
220
 
 
221
 
 
222
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
 
223
   state in various key-, mouse-, and button-related events. */
 
224
 
 
225
#define ShiftMask               (1<<0)
 
226
#define LockMask                (1<<1)
 
227
#define ControlMask             (1<<2)
 
228
#define Mod1Mask                (1<<3)
 
229
#define Mod2Mask                (1<<4)
 
230
#define Mod3Mask                (1<<5)
 
231
#define Mod4Mask                (1<<6)
 
232
#define Mod5Mask                (1<<7)
 
233
 
 
234
/* modifier names.  Used to build a SetModifierMapping request or
 
235
   to read a GetModifierMapping request.  These correspond to the
 
236
   masks defined above. */
 
237
#define ShiftMapIndex           0
 
238
#define LockMapIndex            1
 
239
#define ControlMapIndex         2
 
240
#define Mod1MapIndex            3
 
241
#define Mod2MapIndex            4
 
242
#define Mod3MapIndex            5
 
243
#define Mod4MapIndex            6
 
244
#define Mod5MapIndex            7
 
245
 
 
246
 
 
247
/* button masks.  Used in same manner as Key masks above. Not to be confused
 
248
   with button names below. */
 
249
 
 
250
#define Button1Mask             (1<<8)
 
251
#define Button2Mask             (1<<9)
 
252
#define Button3Mask             (1<<10)
 
253
#define Button4Mask             (1<<11)
 
254
#define Button5Mask             (1<<12)
 
255
 
 
256
#define AnyModifier             (1<<15)  /* used in GrabButton, GrabKey */
 
257
 
 
258
 
 
259
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
 
260
   and ButtonRelease events.  Not to be confused with button masks above.
 
261
   Note that 0 is already defined above as "AnyButton".  */
 
262
 
 
263
#define Button1                 1
 
264
#define Button2                 2
 
265
#define Button3                 3
 
266
#define Button4                 4
 
267
#define Button5                 5
 
268
 
 
269
/* Notify modes */
 
270
 
 
271
#define NotifyNormal            0
 
272
#define NotifyGrab              1
 
273
#define NotifyUngrab            2
 
274
#define NotifyWhileGrabbed      3
 
275
 
 
276
#define NotifyHint              1       /* for MotionNotify events */
 
277
                       
 
278
/* Notify detail */
 
279
 
 
280
#define NotifyAncestor          0
 
281
#define NotifyVirtual           1
 
282
#define NotifyInferior          2
 
283
#define NotifyNonlinear         3
 
284
#define NotifyNonlinearVirtual  4
 
285
#define NotifyPointer           5
 
286
#define NotifyPointerRoot       6
 
287
#define NotifyDetailNone        7
 
288
 
 
289
/* Visibility notify */
 
290
 
 
291
#define VisibilityUnobscured            0
 
292
#define VisibilityPartiallyObscured     1
 
293
#define VisibilityFullyObscured         2
 
294
 
 
295
/* Circulation request */
 
296
 
 
297
#define PlaceOnTop              0
 
298
#define PlaceOnBottom           1
 
299
 
 
300
/* protocol families */
 
301
 
 
302
#define FamilyInternet          0       /* IPv4 */
 
303
#define FamilyDECnet            1
 
304
#define FamilyChaos             2
 
305
#define FamilyInternet6         6       /* IPv6 */
 
306
 
 
307
/* authentication families not tied to a specific protocol */
 
308
#define FamilyServerInterpreted 5
 
309
 
 
310
/* Property notification */
 
311
 
 
312
#define PropertyNewValue        0
 
313
#define PropertyDelete          1
 
314
 
 
315
/* Color Map notification */
 
316
 
 
317
#define ColormapUninstalled     0
 
318
#define ColormapInstalled       1
 
319
 
 
320
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
 
321
 
 
322
#define GrabModeSync            0
 
323
#define GrabModeAsync           1
 
324
 
 
325
/* GrabPointer, GrabKeyboard reply status */
 
326
 
 
327
#define GrabSuccess             0
 
328
#define AlreadyGrabbed          1
 
329
#define GrabInvalidTime         2
 
330
#define GrabNotViewable         3
 
331
#define GrabFrozen              4
 
332
 
 
333
/* AllowEvents modes */
 
334
 
 
335
#define AsyncPointer            0
 
336
#define SyncPointer             1
 
337
#define ReplayPointer           2
 
338
#define AsyncKeyboard           3
 
339
#define SyncKeyboard            4
 
340
#define ReplayKeyboard          5
 
341
#define AsyncBoth               6
 
342
#define SyncBoth                7
 
343
 
 
344
/* Used in SetInputFocus, GetInputFocus */
 
345
 
 
346
#define RevertToNone            (int)None
 
347
#define RevertToPointerRoot     (int)PointerRoot
 
348
#define RevertToParent          2
 
349
 
 
350
/*****************************************************************
 
351
 * ERROR CODES 
 
352
 *****************************************************************/
 
353
 
 
354
#define Success            0    /* everything's okay */
 
355
#define BadRequest         1    /* bad request code */
 
356
#define BadValue           2    /* int parameter out of range */
 
357
#define BadWindow          3    /* parameter not a Window */
 
358
#define BadPixmap          4    /* parameter not a Pixmap */
 
359
#define BadAtom            5    /* parameter not an Atom */
 
360
#define BadCursor          6    /* parameter not a Cursor */
 
361
#define BadFont            7    /* parameter not a Font */
 
362
#define BadMatch           8    /* parameter mismatch */
 
363
#define BadDrawable        9    /* parameter not a Pixmap or Window */
 
364
#define BadAccess         10    /* depending on context:
 
365
                                 - key/button already grabbed
 
366
                                 - attempt to free an illegal 
 
367
                                   cmap entry 
 
368
                                - attempt to store into a read-only 
 
369
                                   color map entry.
 
370
                                - attempt to modify the access control
 
371
                                   list from other than the local host.
 
372
                                */
 
373
#define BadAlloc          11    /* insufficient resources */
 
374
#define BadColor          12    /* no such colormap */
 
375
#define BadGC             13    /* parameter not a GC */
 
376
#define BadIDChoice       14    /* choice not in range or already used */
 
377
#define BadName           15    /* font or color name doesn't exist */
 
378
#define BadLength         16    /* Request length incorrect */
 
379
#define BadImplementation 17    /* server is defective */
 
380
 
 
381
#define FirstExtensionError     128
 
382
#define LastExtensionError      255
 
383
 
 
384
/*****************************************************************
 
385
 * WINDOW DEFINITIONS 
 
386
 *****************************************************************/
 
387
 
 
388
/* Window classes used by CreateWindow */
 
389
/* Note that CopyFromParent is already defined as 0 above */
 
390
 
 
391
#define InputOutput             1
 
392
#define InputOnly               2
 
393
 
 
394
/* Window attributes for CreateWindow and ChangeWindowAttributes */
 
395
 
 
396
#define CWBackPixmap            (1L<<0)
 
397
#define CWBackPixel             (1L<<1)
 
398
#define CWBorderPixmap          (1L<<2)
 
399
#define CWBorderPixel           (1L<<3)
 
400
#define CWBitGravity            (1L<<4)
 
401
#define CWWinGravity            (1L<<5)
 
402
#define CWBackingStore          (1L<<6)
 
403
#define CWBackingPlanes         (1L<<7)
 
404
#define CWBackingPixel          (1L<<8)
 
405
#define CWOverrideRedirect      (1L<<9)
 
406
#define CWSaveUnder             (1L<<10)
 
407
#define CWEventMask             (1L<<11)
 
408
#define CWDontPropagate         (1L<<12)
 
409
#define CWColormap              (1L<<13)
 
410
#define CWCursor                (1L<<14)
 
411
 
 
412
/* ConfigureWindow structure */
 
413
 
 
414
#define CWX                     (1<<0)
 
415
#define CWY                     (1<<1)
 
416
#define CWWidth                 (1<<2)
 
417
#define CWHeight                (1<<3)
 
418
#define CWBorderWidth           (1<<4)
 
419
#define CWSibling               (1<<5)
 
420
#define CWStackMode             (1<<6)
 
421
 
 
422
 
 
423
/* Bit Gravity */
 
424
 
 
425
#define ForgetGravity           0
 
426
#define NorthWestGravity        1
 
427
#define NorthGravity            2
 
428
#define NorthEastGravity        3
 
429
#define WestGravity             4
 
430
#define CenterGravity           5
 
431
#define EastGravity             6
 
432
#define SouthWestGravity        7
 
433
#define SouthGravity            8
 
434
#define SouthEastGravity        9
 
435
#define StaticGravity           10
 
436
 
 
437
/* Window gravity + bit gravity above */
 
438
 
 
439
#define UnmapGravity            0
 
440
 
 
441
/* Used in CreateWindow for backing-store hint */
 
442
 
 
443
#define NotUseful               0
 
444
#define WhenMapped              1
 
445
#define Always                  2
 
446
 
 
447
/* Used in GetWindowAttributes reply */
 
448
 
 
449
#define IsUnmapped              0
 
450
#define IsUnviewable            1
 
451
#define IsViewable              2
 
452
 
 
453
/* Used in ChangeSaveSet */
 
454
 
 
455
#define SetModeInsert           0
 
456
#define SetModeDelete           1
 
457
 
 
458
/* Used in ChangeCloseDownMode */
 
459
 
 
460
#define DestroyAll              0
 
461
#define RetainPermanent         1
 
462
#define RetainTemporary         2
 
463
 
 
464
/* Window stacking method (in configureWindow) */
 
465
 
 
466
#define Above                   0
 
467
#define Below                   1
 
468
#define TopIf                   2
 
469
#define BottomIf                3
 
470
#define Opposite                4
 
471
 
 
472
/* Circulation direction */
 
473
 
 
474
#define RaiseLowest             0
 
475
#define LowerHighest            1
 
476
 
 
477
/* Property modes */
 
478
 
 
479
#define PropModeReplace         0
 
480
#define PropModePrepend         1
 
481
#define PropModeAppend          2
 
482
 
 
483
/*****************************************************************
 
484
 * GRAPHICS DEFINITIONS
 
485
 *****************************************************************/
 
486
 
 
487
/* graphics functions, as in GC.alu */
 
488
 
 
489
#define GXclear                 0x0             /* 0 */
 
490
#define GXand                   0x1             /* src AND dst */
 
491
#define GXandReverse            0x2             /* src AND NOT dst */
 
492
#define GXcopy                  0x3             /* src */
 
493
#define GXandInverted           0x4             /* NOT src AND dst */
 
494
#define GXnoop                  0x5             /* dst */
 
495
#define GXxor                   0x6             /* src XOR dst */
 
496
#define GXor                    0x7             /* src OR dst */
 
497
#define GXnor                   0x8             /* NOT src AND NOT dst */
 
498
#define GXequiv                 0x9             /* NOT src XOR dst */
 
499
#define GXinvert                0xa             /* NOT dst */
 
500
#define GXorReverse             0xb             /* src OR NOT dst */
 
501
#define GXcopyInverted          0xc             /* NOT src */
 
502
#define GXorInverted            0xd             /* NOT src OR dst */
 
503
#define GXnand                  0xe             /* NOT src OR NOT dst */
 
504
#define GXset                   0xf             /* 1 */
 
505
 
 
506
/* LineStyle */
 
507
 
 
508
#define LineSolid               0
 
509
#define LineOnOffDash           1
 
510
#define LineDoubleDash          2
 
511
 
 
512
/* capStyle */
 
513
 
 
514
#define CapNotLast              0
 
515
#define CapButt                 1
 
516
#define CapRound                2
 
517
#define CapProjecting           3
 
518
 
 
519
/* joinStyle */
 
520
 
 
521
#define JoinMiter               0
 
522
#define JoinRound               1
 
523
#define JoinBevel               2
 
524
 
 
525
/* fillStyle */
 
526
 
 
527
#define FillSolid               0
 
528
#define FillTiled               1
 
529
#define FillStippled            2
 
530
#define FillOpaqueStippled      3
 
531
 
 
532
/* fillRule */
 
533
 
 
534
#define EvenOddRule             0
 
535
#define WindingRule             1
 
536
 
 
537
/* subwindow mode */
 
538
 
 
539
#define ClipByChildren          0
 
540
#define IncludeInferiors        1
 
541
 
 
542
/* SetClipRectangles ordering */
 
543
 
 
544
#define Unsorted                0
 
545
#define YSorted                 1
 
546
#define YXSorted                2
 
547
#define YXBanded                3
 
548
 
 
549
/* CoordinateMode for drawing routines */
 
550
 
 
551
#define CoordModeOrigin         0       /* relative to the origin */
 
552
#define CoordModePrevious       1       /* relative to previous point */
 
553
 
 
554
/* Polygon shapes */
 
555
 
 
556
#define Complex                 0       /* paths may intersect */
 
557
#define Nonconvex               1       /* no paths intersect, but not convex */
 
558
#define Convex                  2       /* wholly convex */
 
559
 
 
560
/* Arc modes for PolyFillArc */
 
561
 
 
562
#define ArcChord                0       /* join endpoints of arc */
 
563
#define ArcPieSlice             1       /* join endpoints to center of arc */
 
564
 
 
565
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
 
566
   GC.stateChanges */
 
567
 
 
568
#define GCFunction              (1L<<0)
 
569
#define GCPlaneMask             (1L<<1)
 
570
#define GCForeground            (1L<<2)
 
571
#define GCBackground            (1L<<3)
 
572
#define GCLineWidth             (1L<<4)
 
573
#define GCLineStyle             (1L<<5)
 
574
#define GCCapStyle              (1L<<6)
 
575
#define GCJoinStyle             (1L<<7)
 
576
#define GCFillStyle             (1L<<8)
 
577
#define GCFillRule              (1L<<9) 
 
578
#define GCTile                  (1L<<10)
 
579
#define GCStipple               (1L<<11)
 
580
#define GCTileStipXOrigin       (1L<<12)
 
581
#define GCTileStipYOrigin       (1L<<13)
 
582
#define GCFont                  (1L<<14)
 
583
#define GCSubwindowMode         (1L<<15)
 
584
#define GCGraphicsExposures     (1L<<16)
 
585
#define GCClipXOrigin           (1L<<17)
 
586
#define GCClipYOrigin           (1L<<18)
 
587
#define GCClipMask              (1L<<19)
 
588
#define GCDashOffset            (1L<<20)
 
589
#define GCDashList              (1L<<21)
 
590
#define GCArcMode               (1L<<22)
 
591
 
 
592
#define GCLastBit               22
 
593
/*****************************************************************
 
594
 * FONTS 
 
595
 *****************************************************************/
 
596
 
 
597
/* used in QueryFont -- draw direction */
 
598
 
 
599
#define FontLeftToRight         0
 
600
#define FontRightToLeft         1
 
601
 
 
602
#define FontChange              255
 
603
 
 
604
/*****************************************************************
 
605
 *  IMAGING 
 
606
 *****************************************************************/
 
607
 
 
608
/* ImageFormat -- PutImage, GetImage */
 
609
 
 
610
#define XYBitmap                0       /* depth 1, XYFormat */
 
611
#define XYPixmap                1       /* depth == drawable depth */
 
612
#define ZPixmap                 2       /* depth == drawable depth */
 
613
 
 
614
/*****************************************************************
 
615
 *  COLOR MAP STUFF 
 
616
 *****************************************************************/
 
617
 
 
618
/* For CreateColormap */
 
619
 
 
620
#define AllocNone               0       /* create map with no entries */
 
621
#define AllocAll                1       /* allocate entire map writeable */
 
622
 
 
623
 
 
624
/* Flags used in StoreNamedColor, StoreColors */
 
625
 
 
626
#define DoRed                   (1<<0)
 
627
#define DoGreen                 (1<<1)
 
628
#define DoBlue                  (1<<2)
 
629
 
 
630
/*****************************************************************
 
631
 * CURSOR STUFF
 
632
 *****************************************************************/
 
633
 
 
634
/* QueryBestSize Class */
 
635
 
 
636
#define CursorShape             0       /* largest size that can be displayed */
 
637
#define TileShape               1       /* size tiled fastest */
 
638
#define StippleShape            2       /* size stippled fastest */
 
639
 
 
640
/***************************************************************** 
 
641
 * KEYBOARD/POINTER STUFF
 
642
 *****************************************************************/
 
643
 
 
644
#define AutoRepeatModeOff       0
 
645
#define AutoRepeatModeOn        1
 
646
#define AutoRepeatModeDefault   2
 
647
 
 
648
#define LedModeOff              0
 
649
#define LedModeOn               1
 
650
 
 
651
/* masks for ChangeKeyboardControl */
 
652
 
 
653
#define KBKeyClickPercent       (1L<<0)
 
654
#define KBBellPercent           (1L<<1)
 
655
#define KBBellPitch             (1L<<2)
 
656
#define KBBellDuration          (1L<<3)
 
657
#define KBLed                   (1L<<4)
 
658
#define KBLedMode               (1L<<5)
 
659
#define KBKey                   (1L<<6)
 
660
#define KBAutoRepeatMode        (1L<<7)
 
661
 
 
662
#define MappingSuccess          0
 
663
#define MappingBusy             1
 
664
#define MappingFailed           2
 
665
 
 
666
#define MappingModifier         0
 
667
#define MappingKeyboard         1
 
668
#define MappingPointer          2
 
669
 
 
670
/*****************************************************************
 
671
 * SCREEN SAVER STUFF 
 
672
 *****************************************************************/
 
673
 
 
674
#define DontPreferBlanking      0
 
675
#define PreferBlanking          1
 
676
#define DefaultBlanking         2
 
677
 
 
678
#define DisableScreenSaver      0
 
679
#define DisableScreenInterval   0
 
680
 
 
681
#define DontAllowExposures      0
 
682
#define AllowExposures          1
 
683
#define DefaultExposures        2
 
684
 
 
685
/* for ForceScreenSaver */
 
686
 
 
687
#define ScreenSaverReset 0
 
688
#define ScreenSaverActive 1
 
689
 
 
690
/*****************************************************************
 
691
 * HOSTS AND CONNECTIONS
 
692
 *****************************************************************/
 
693
 
 
694
/* for ChangeHosts */
 
695
 
 
696
#define HostInsert              0
 
697
#define HostDelete              1
 
698
 
 
699
/* for ChangeAccessControl */
 
700
 
 
701
#define EnableAccess            1      
 
702
#define DisableAccess           0
 
703
 
 
704
/* Display classes  used in opening the connection 
 
705
 * Note that the statically allocated ones are even numbered and the
 
706
 * dynamically changeable ones are odd numbered */
 
707
 
 
708
#define StaticGray              0
 
709
#define GrayScale               1
 
710
#define StaticColor             2
 
711
#define PseudoColor             3
 
712
#define TrueColor               4
 
713
#define DirectColor             5
 
714
 
 
715
 
 
716
/* Byte order  used in imageByteOrder and bitmapBitOrder */
 
717
 
 
718
#define LSBFirst                0
 
719
#define MSBFirst                1
 
720
 
 
721
#endif /* X_H */