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