|
|
1.1 ! root 1: /* $Header: Intrinsic.h,v 1.2 87/07/13 09:27:06 toddb Exp $ */ ! 2: /* ! 3: * sccsid: %W% %G% ! 4: */ ! 5: ! 6: /* ! 7: * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. ! 8: * ! 9: * All Rights Reserved ! 10: * ! 11: * Permission to use, copy, modify, and distribute this software and its ! 12: * documentation for any purpose and without fee is hereby granted, ! 13: * provided that the above copyright notice appear in all copies and that ! 14: * both that copyright notice and this permission notice appear in ! 15: * supporting documentation, and that the name of Digital Equipment ! 16: * Corporation not be used in advertising or publicity pertaining to ! 17: * distribution of the software without specific, written prior permission. ! 18: * ! 19: * ! 20: * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ! 21: * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ! 22: * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ! 23: * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, ! 24: * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ! 25: * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ! 26: * SOFTWARE. ! 27: */ ! 28: ! 29: #ifndef _Xtintrinsic_h ! 30: #define _Xtintrinsic_h ! 31: ! 32: #include <X11/Xresource.h> ! 33: #include <X11/Xutil.h> ! 34: ! 35: /**************************************************************** ! 36: **************************************************************** ! 37: *** *** ! 38: *** *** ! 39: *** X Toolkit Intrinsics *** ! 40: *** *** ! 41: *** *** ! 42: **************************************************************** ! 43: ****************************************************************/ ! 44: ! 45: ! 46: /**************************************************************** ! 47: * ! 48: * System Dependent Definitions ! 49: * ! 50: * ! 51: * The typedef for XtArgVal should be chosen such that ! 52: * sizeof (XtArgVal) == max (sizeof(caddr_t), sizeof(long)) ! 53: * ! 54: * ArgLists rely heavily on the above typedef. ! 55: * ! 56: ****************************************************************/ ! 57: ! 58: typedef char *XtArgVal; ! 59: ! 60: ! 61: ! 62: /**************************************************************** ! 63: * ! 64: * Miscellaneous definitions ! 65: * ! 66: ****************************************************************/ ! 67: ! 68: #include <sys/types.h> ! 69: ! 70: #ifndef NULL ! 71: #define NULL 0 ! 72: #endif ! 73: ! 74: #define Boolean int ! 75: #ifndef FALSE ! 76: #define FALSE 0 ! 77: #define TRUE 1 ! 78: #endif ! 79: ! 80: #define XtNumber(arr) (sizeof(arr) / sizeof(arr[0])) ! 81: ! 82: typedef char *String; ! 83: ! 84: typedef unsigned long GCMask; /* Mask of values that are used by widget*/ ! 85: typedef unsigned long Pixel; /* Index into colormap */ ! 86: typedef int Position; /* Offset from 0 coordinate */ ! 87: typedef unsigned int Dimension; /* Size in pixels */ ! 88: ! 89: ! 90: /**************************************************************** ! 91: * ! 92: * Error codes ! 93: * ! 94: ****************************************************************/ ! 95: ! 96: typedef int XtStatus; ! 97: ! 98: #define XtSUCCESS 0 /* No error. */ ! 99: ! 100: extern int (*XtErrorFunction)(); ! 101: extern int XtreferenceCount; ! 102: ! 103: ! 104: #define XtNOMEM 1 /* Out of memory. */ ! 105: #define XtFOPEN 3 /* fopen failed. */ ! 106: #define XtNOTWINDOW 4 /* Given window id is invalid. */ ! 107: ! 108: ! 109: /**************************************************************** ! 110: * ! 111: * Toolkit initialization ! 112: * ! 113: ****************************************************************/ ! 114: ! 115: extern void XtInitialize(); ! 116: ! 117: /**************************************************************** ! 118: * ! 119: * Memory Allocation ! 120: * ! 121: ****************************************************************/ ! 122: ! 123: #ifndef _Alloc_c_ ! 124: ! 125: extern char *XtMalloc(); /* size */ ! 126: /* unsigned size; */ ! 127: ! 128: extern char *XtCalloc(); /* num, size */ ! 129: /* unsigned num, size; */ ! 130: ! 131: extern char *XtRealloc(); /* ptr, num */ ! 132: /* char *ptr; */ ! 133: /* unsigned num; */ ! 134: ! 135: extern void XtFree(); /* ptr */ ! 136: /* char *ptr; */ ! 137: ! 138: #endif ! 139: ! 140: ! 141: ! 142: ! 143: /**************************************************************** ! 144: * ! 145: * Arg lists ! 146: * ! 147: ****************************************************************/ ! 148: ! 149: typedef struct { ! 150: XrmAtom name; ! 151: XtArgVal value; ! 152: } Arg, *ArgList; ! 153: ! 154: #define XtSetArg(arg, n, d) \ ! 155: ( (arg).name = (n), (arg).value = (XtArgVal)(d) ) ! 156: ! 157: extern ArgList XtMergeArgLists(); /* args1, argCount1, args2, argCount2 */ ! 158: /* ArgList args1; */ ! 159: /* int argCount1; */ ! 160: /* ArgList args2; */ ! 161: /* int argCount2; */ ! 162: ! 163: ! 164: ! 165: /**************************************************************** ! 166: * ! 167: * Cursor Management ! 168: * ! 169: ****************************************************************/ ! 170: ! 171: extern Cursor XtGetCursor(); /* num */ ! 172: /* int num; */ ! 173: ! 174: ! 175: /**************************************************************** ! 176: * ! 177: * Event Management ! 178: * ! 179: ****************************************************************/ ! 180: ! 181: typedef enum { ! 182: XteventHandled, /* Event dispatched and handled */ ! 183: XteventNotHandled, /* Event dispatched but not handled by event proc */ ! 184: XteventNoHandler, /* No event handler proc found */ ! 185: } XtEventReturnCode; ! 186: ! 187: #define XtINPUT_READ (1) ! 188: #define XtINPUT_WRITE (2) ! 189: #define XtINPUT_EXCEPT (4) ! 190: ! 191: /* These are hand-generated atoms for use in ClientMessage events ! 192: * They are never sent to the server. They will not conflict with ! 193: * any server-generated atoms because one of the 3 most significant ! 194: * bits is set. We should consider getting real atoms from the server ! 195: * at runtime ! 196: */ ! 197: ! 198: #define XtHasInput (0x80000001) ! 199: /* XClientEvent.data.l[0] is source ! 200: * XClientEvent.data.l[1] is condition ! 201: */ ! 202: ! 203: #define XtTimerExpired (0x80000002) ! 204: /* XClientEvent.data.l[0] is cookie ! 205: */ ! 206: ! 207: typedef XtEventReturnCode (*XtEventHandler)(); /* event, data */ ! 208: /* XEvent *event; */ ! 209: /* caddr_t data; */ ! 210: ! 211: extern void XtSetEventHandler(); /* w, proc, eventMask, data */ ! 212: /* Window w; */ ! 213: /* XtEventHandler proc; */ ! 214: /* unsigned long eventMask; */ ! 215: /* caddr_t data; */ ! 216: ! 217: extern void XtSetGlobalEventHandler(); /* dpy, proc, eventMask, data */ ! 218: /* Display *dpy; */ ! 219: /* XtEventHandler proc; */ ! 220: /* unsigned long eventMask; */ ! 221: /* caddr_t data; */ ! 222: ! 223: extern void XtDeleteEventHandler(); /* w, proc */ ! 224: /* Window w; */ ! 225: /* XtEventHandler proc; */ ! 226: ! 227: extern void XtClearEventHandlers(); /* window */ ! 228: /* Window window; */ ! 229: ! 230: extern void XtMakeMaster(); /* w */ ! 231: /* Window w; */ ! 232: ! 233: extern XtEventReturnCode XtDispatchEvent(); /* event */ ! 234: /* XEvent *event; */ ! 235: ! 236: /**************************************************************** ! 237: * ! 238: * Event Gathering Routines ! 239: * ! 240: ****************************************************************/ ! 241: ! 242: extern void XtSetTimeOut(); /* wID, cookie, interval */ ! 243: /* Window wID; */ ! 244: /* caddr_t cookie; */ ! 245: /* int interval; */ ! 246: ! 247: extern int XtGetTimeOut(); /* wID, cookie */ ! 248: /* Window wID; */ ! 249: /* caddr_t cookie; */ ! 250: ! 251: extern int XtClearTimeOut(); /* wID, cookie */ ! 252: /* Window wID; */ ! 253: /* caddr_t cookie; */ ! 254: ! 255: extern void XtAddInput(); /* wID, source, condition */ ! 256: /* Window wID; */ ! 257: /* int source; */ ! 258: /* int condition; */ ! 259: ! 260: extern void XtRemoveInput(); /* wID, source, condition */ ! 261: /* Window wID; */ ! 262: /* int source; */ ! 263: /* int condition; */ ! 264: ! 265: extern void XtNextEvent(); /* event */ ! 266: /* XtEvent *event; */ ! 267: ! 268: extern XtPeekEvent(); /* event */ ! 269: /* XtEvent *event; */ ! 270: ! 271: ! 272: /**************************************************************** ! 273: * ! 274: * Geometry Management ! 275: * ! 276: ****************************************************************/ ! 277: ! 278: typedef enum { ! 279: XtgeometryMove, /* Move window to wb.x, wb.y */ ! 280: XtgeometryResize, /* Resize window to wb.width, wb.height */ ! 281: XtgeometryTop, /* Move window to top of stack */ ! 282: XtgeometryBottom, /* Move window to bottom of stack */ ! 283: XtgeometryGetWindowBox /* Return window position, dimensions */ ! 284: } XtGeometryRequest; ! 285: ! 286: typedef struct { ! 287: Position x, y; ! 288: Dimension width, height, borderWidth; ! 289: } WindowBox, *WindowBoxPtr; ! 290: ! 291: typedef enum { ! 292: XtgeometryYes, /* Request accepted. */ ! 293: XtgeometryNo, /* Request denied. */ ! 294: XtgeometryAlmost, /* Request denied, but willing to take replyBox. */ ! 295: XtgeometryNoManager /* Request denied: couldn't find geometry manager */ ! 296: } XtGeometryReturnCode; ! 297: ! 298: typedef XtGeometryReturnCode (*XtGeometryHandler)(); ! 299: /* dpy, w, request, requestBox, replyBox */ ! 300: /* Display *dpy; */ ! 301: /* Window w; */ ! 302: /* XtGeometryRequest request; */ ! 303: /* WindowBox *requestBox; */ ! 304: /* WindowBox *replyBox; /* RETURN */ ! 305: ! 306: extern XtStatus XtSetGeometryHandler(); /* dpy, w, proc */ ! 307: /* Display *dpy; */ ! 308: /* Window w; */ ! 309: /* XtGeometryHandler proc; */ ! 310: ! 311: extern XtStatus XtGetGeometryHandler(); /* dpy, w, proc */ ! 312: /* Display *dpy; */ ! 313: /* Window w; */ ! 314: /* XtGeometryHandler *proc; /* RETURN */ ! 315: ! 316: extern XtStatus XtClearGeometryHandler(); /* w */ ! 317: /* Window w; */ ! 318: ! 319: extern XtGeometryReturnCode XtMakeGeometryRequest(); ! 320: /* dpy, window, request, requestBox, replyBox */ ! 321: /* Display *dpy; */ ! 322: /* Window window; */ ! 323: /* XtGeometryRequest request; */ ! 324: /* WindowBox *requestBox; */ ! 325: /* WindowBox *replyBox; /* RETURN */ ! 326: ! 327: typedef struct { ! 328: Window w; ! 329: WindowBox wb; ! 330: } WindowLug, *WindowLugPtr; ! 331: ! 332: ! 333: /**************************************************************** ! 334: * ! 335: * Graphic Context Management ! 336: *****************************************************************/ ! 337: ! 338: extern GC XtGetGC(); /* widgetKind, drawable, valueMask, values */ ! 339: /* XContext widgetKind; */ ! 340: /* Drawable d; */ ! 341: /* int valueMask; */ ! 342: /* XGCValues *values; */ ! 343: ! 344: ! 345: /**************************************************************** ! 346: * ! 347: * Messages ! 348: * ! 349: ****************************************************************/ ! 350: ! 351: extern XtEventReturnCode XtSendEvent(); /* w, type */ ! 352: /* Window w; */ ! 353: /* unsigned long type; */ ! 354: ! 355: extern XtEventReturnCode XtSendDestroyNotify(); /* w */ ! 356: /* Window w; */ ! 357: ! 358: extern XtEventReturnCode XtSendExpose(); /* w */ ! 359: /* Window w; */ ! 360: ! 361: extern XtEventReturnCode XtSendConfigureNotify(); /* w, box */ ! 362: /* Window w; */ ! 363: /* WindowBox box; */ ! 364: ! 365: extern XtEventReturnCode XtSendMessage(); /* w, message, args, argCount */ ! 366: /* Window w; */ ! 367: /* XtMessage message; */ ! 368: /* ArgList args; */ ! 369: /* int argCount; */ ! 370: ! 371: extern XtStatus XtGetWindowSize(); /* window, width, height, borderWidth */ ! 372: /* Window window; */ ! 373: /* int *width, *height, *borderWidth; /* RETURN */ ! 374: ! 375: ! 376: /**************************************************************** ! 377: * ! 378: * Resources ! 379: * ! 380: ****************************************************************/ ! 381: ! 382: typedef struct _Resource { ! 383: XrmAtom name; /* Resource name */ ! 384: XrmAtom class; /* Resource class */ ! 385: XrmAtom type; /* Representation type desired */ ! 386: unsigned int size; /* Size in bytes of representation */ ! 387: caddr_t addr; /* Where to put resource value */ ! 388: caddr_t defaultaddr; /* Default resource value (or addr) */ ! 389: } Resource, *ResourceList; ! 390: ! 391: ! 392: extern void XtGetResources(); ! 393: /* resources, resourceCount, args, argCount, ! 394: parent, widgetName, widgetClass, names, classes */ ! 395: /* ResourceList resources; */ ! 396: /* int resourceCount; */ ! 397: /* ArgList args; */ ! 398: /* int argCount; */ ! 399: /* Window parent; */ ! 400: /* XrmAtom widgetName; */ ! 401: /* XrmAtom widgetClass; */ ! 402: /* XrmNameList *names; /* RETURN */ ! 403: /* XrmClassList *classes; /* RETURN */ ! 404: ! 405: extern void XtSetNameAndClass(); /* dpy, w, names, classes */ ! 406: /* Display *dpy; */ ! 407: /* Window w; */ ! 408: /* XrmNameList names; */ ! 409: /* XrmClassList classes; */ ! 410: ! 411: extern void XtGetValues(); /* resources, resourceCount, args, argCount */ ! 412: /* ResourceList resources; */ ! 413: /* int resourceCount; */ ! 414: /* ArgList args; */ ! 415: /* int argCount; */ ! 416: ! 417: extern void XtSetValues(); /* resources, resourceCount, args, argCount */ ! 418: /* ResourceList resources; */ ! 419: /* int resourceCount; */ ! 420: /* ArgList args; */ ! 421: /* int argCount; */ ! 422: ! 423: extern int XtDefaultFGPixel, XtDefaultBGPixel; ! 424: ! 425: ! 426: ! 427: ! 428: /**************************************************************** ! 429: * ! 430: * Translation Management ! 431: * ! 432: ****************************************************************/ ! 433: ! 434: typedef caddr_t XtEventsPtr; ! 435: ! 436: typedef struct { ! 437: char *string; ! 438: caddr_t value; ! 439: } XtActionsRec, *XtActionsPtr; ! 440: ! 441: /* Different classes of action tokens */ ! 442: ! 443: typedef enum {XttokenChar, XttokenString, XttokenAction} TokenType; ! 444: ! 445: /* List of tokens. */ ! 446: ! 447: typedef XrmQuark XtAction; ! 448: #define XtAtomToAction(atom) ((XtAction) XrmAtomToQuark(atom)) ! 449: ! 450: typedef struct _XtActionTokenRec { ! 451: TokenType type; ! 452: union { ! 453: char c; ! 454: char *str; ! 455: XtAction action; ! 456: } value; ! 457: struct _XtActionTokenRec *next; ! 458: } XtActionTokenRec, *XtActionTokenPtr; ! 459: ! 460: typedef struct _TranslationRec *TranslationPtr; ! 461: ! 462: extern XtEventsPtr XtSetActionBindings(); ! 463: /* eventTable, actionTable, defaultValue */ ! 464: /* XtEventsPtr eventTable; */ ! 465: /* XtActionsPtr actionTable; */ ! 466: /* caddr_t defaultValue; */ ! 467: ! 468: extern XtEventsPtr XtParseEventBindings(); /* stringTable */ ! 469: /* char **stringTable */ ! 470: ! 471: extern caddr_t XtInterpretAction(); /* state, action */ ! 472: /* TranslationPtr start; */ ! 473: /* XtAction action; */ ! 474: ! 475: XtActionTokenPtr XtTranslateEvent(); /* event, state */ ! 476: /* XEvent *event; */ ! 477: /* TranslationPtr state; */ ! 478: ! 479: ! 480: ! 481: /*********************************************************************** ! 482: * ! 483: * Utility routines ! 484: * ! 485: ***********************************************************************/ ! 486: ! 487: extern Window XtCreateWindow(); /* (dpy, parent, x, y, width, height, ! 488: borderWidth, border, background, ! 489: bitgravity) */ ! 490: /* Display *dpy; */ ! 491: /* Window parent; */ ! 492: /* Position x, y; */ ! 493: /* Dimension width, height, borderWidth; */ ! 494: /* Pixel border; */ ! 495: /* Pixel background; */ ! 496: /* int bitgravity; */ ! 497: ! 498: #endif _Xtintrinsic_h ! 499: /* DON'T ADD STUFF AFTER THIS #endif */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.