Annotation of researchv9/X11/src/X.V11R1/lib/oldXtk/Intrinsic.h, revision 1.1.1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.