/[dtapublic]/projs/trunk/shared_source/tk_base/x.h
ViewVC logotype

Contents of /projs/trunk/shared_source/tk_base/x.h

Parent Directory Parent Directory | Revision Log Revision Log


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

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25