Annotation of micropolis/src/tk/tkint.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * tkInt.h --
                      3:  *
                      4:  *     Declarations for things used internally by the Tk
                      5:  *     procedures but not exported outside the module.
                      6:  *
                      7:  * Copyright 1990-1992 Regents of the University of California.
                      8:  * Permission to use, copy, modify, and distribute this
                      9:  * software and its documentation for any purpose and without
                     10:  * fee is hereby granted, provided that the above copyright
                     11:  * notice appear in all copies.  The University of California
                     12:  * makes no representations about the suitability of this
                     13:  * software for any purpose.  It is provided "as is" without
                     14:  * express or implied warranty.
                     15:  *
                     16:  * $Header: /user6/ouster/wish/RCS/tkInt.h,v 1.65 92/08/21 11:42:27 ouster Exp $ SPRITE (Berkeley)
                     17:  */
                     18: 
                     19: #ifndef _TKINT
                     20: #define _TKINT
                     21: 
                     22: #ifndef _XLIB_H_
                     23: #include <X11/Xlib.h>
                     24: #ifdef IS_LINUX
                     25: #include <X11/Xlibint.h>
                     26: #endif
                     27: #endif
                     28: #ifndef _XUTIL_H
                     29: #include <X11/Xutil.h>
                     30: #endif
                     31: #ifndef _TK
                     32: #include "tk.h"
                     33: #endif
                     34: #ifndef _TCL
                     35: #include "tcl.h"
                     36: #endif
                     37: #ifndef _TCLHASH
                     38: #include "tclhash.h"
                     39: #endif
                     40: 
                     41: /*
                     42:  * One of the following structures is maintained for each display
                     43:  * containing a window managed by Tk:
                     44:  */
                     45: 
                     46: typedef struct TkDisplay {
                     47:     Display *display;          /* Xlib's info about display. */
                     48:     struct TkDisplay *nextPtr; /* Next in list of all displays. */
                     49:     char *name;                        /* Name of display (with any screen
                     50:                                 * identifier removed).  Malloc-ed. */
                     51:     Time lastEventTime;                /* Time of last event received for this
                     52:                                 * display. */
                     53: 
                     54:     /*
                     55:      * Information used by tkEvent.c only:
                     56:      */
                     57: 
                     58:     struct TkWindow *mouseMainPtr;
                     59:                                /* Pointer to the main window of this
                     60:                                 * display that currently contains the
                     61:                                 * mouse pointer.  NULL means the pointer
                     62:                                 * isn't in a main window managed by
                     63:                                 * this process. */
                     64: 
                     65:     /*
                     66:      * Information used by tkBind.c only:
                     67:      */
                     68: 
                     69:     int firstKeycode;          /* First keycode supported by
                     70:                                 * display. */
                     71:     int lastKeycode;           /* Last keycode supported by
                     72:                                 * display. */
                     73:     int symsPerCode;           /* Number of KeySyms in "keySyms"
                     74:                                 * for each keycode.  0 means the
                     75:                                 * keysym information hasn't been
                     76:                                 * retrieved from the server yet. */
                     77:     KeySym *keySyms;           /* Array of KeySyms, returned by
                     78:                                 * XGetKeyboardMapping. */
                     79: 
                     80:     /*
                     81:      * Information used by tkError.c only:
                     82:      */
                     83: 
                     84:     struct TkErrorHandler *errorPtr;
                     85:                                /* First in list of error handlers
                     86:                                 * for this display.  NULL means
                     87:                                 * no handlers exist at present. */
                     88:     int deleteCount;           /* Counts # of handlers deleted since
                     89:                                 * last time inactive handlers were
                     90:                                 * garbage-collected.  When this number
                     91:                                 * gets big, handlers get cleaned up. */
                     92: 
                     93:     /*
                     94:      * Information used by tkSend.c only:
                     95:      */
                     96: 
                     97:     Tk_Window commWindow;      /* Window used for communication
                     98:                                 * between interpreters during "send"
                     99:                                 * commands.  NULL means send info hasn't
                    100:                                 * been initialized yet. */
                    101:     Atom commProperty;         /* X's name for comm property. */
                    102:     Atom registryProperty;     /* X's name for property containing
                    103:                                 * registry of interpreter names. */
                    104: 
                    105:     /*
                    106:      * Information used by tkSelect.c only:
                    107:      */
                    108: 
                    109:     Tk_Window selectionOwner;  /* Current owner of selection, or
                    110:                                 * NULL if selection isn't owned by
                    111:                                 * a window in this process.  */
                    112:     int selectionSerial;       /* Serial number of last XSelectionSetOwner
                    113:                                 * request we made to server (used to
                    114:                                 * filter out redundant SelectionClear
                    115:                                 * events. */
                    116:     Time selectionTime;                /* Timestamp used to acquire selection. */
                    117:     Atom multipleAtom;         /* Atom for MULTIPLE.  None means
                    118:                                 * selection stuff isn't initialized. */
                    119:     Atom incrAtom;             /* Atom for INCR. */
                    120:     Atom targetsAtom;          /* Atom for TARGETS. */
                    121:     Atom timestampAtom;                /* Atom for TIMESTAMP. */
                    122:     Atom textAtom;             /* Atom for TEXT. */
                    123:     Atom compoundTextAtom;     /* Atom for COMPOUND_TEXT. */
                    124: 
                    125:     /*
                    126:      * Information used by tkAtom.c only:
                    127:      */
                    128: 
                    129:     int atomInit;              /* 0 means stuff below hasn't been
                    130:                                 * initialized yet. */
                    131:     Tcl_HashTable nameTable;   /* Maps from names to Atom's. */
                    132:     Tcl_HashTable atomTable;   /* Maps from Atom's back to names. */
                    133: 
                    134:     /*
                    135:      * Information used by tkCursor.c only:
                    136:      */
                    137: 
                    138:     Font cursorFont;           /* Font to use for standard cursors.
                    139:                                 * None means font not loaded yet. */
                    140: 
                    141:     /*
                    142:      * Information used by tkGrab.c only:
                    143:      */
                    144: 
                    145:     struct TkWindow *grabWinPtr;
                    146:                                /* Window in which the pointer is currently
                    147:                                 * grabbed, or NULL if none. */
                    148:     struct TkWindow *ungrabWinPtr;
                    149:                                /* Window to which pointer should be returned
                    150:                                 * when the current grab ends (i.e. the
                    151:                                 * window that the mouse is really on top
                    152:                                 * of). */
                    153:     struct TkWindow *buttonWinPtr;
                    154:                                /* Window in which first mouse button was
                    155:                                 * pressed while grab was in effect, or NULL
                    156:                                 * if no such press in effect. */
                    157:     struct TkWindow *pointerWinPtr;
                    158:                                /* The window that officially contains the
                    159:                                 * pointer, as far as this application is
                    160:                                 * concerned.  If a grab is in effect then
                    161:                                 * this may not be the window that's underneath
                    162:                                 * the pointer.  NULL means the application
                    163:                                 * doesn't consider the pointer to be in any
                    164:                                 * window. */
                    165:     struct TkWindow *serverWinPtr;
                    166:                                /* The window that contains the pointer, as
                    167:                                 * far as the X server is concerned.  This
                    168:                                 * field gets set on every Enter or Leave
                    169:                                 * event even if the grab code eventually
                    170:                                 * discards the event.  NULL means the server
                    171:                                 * thinks the pointer is outside any window
                    172:                                 * of any application on this screen. */
                    173:     int grabFlags;             /* Miscellaneous flag values.  See definitions
                    174:                                 * in tkGrab.c. */
                    175: /* XXX: FOCUS */
                    176:     struct TkWindow *focusPtr; /* Identifies window that currently has the
                    177:                                 * focus (or that will get the focus the next
                    178:                                 * time the pointer enters any of the top-level
                    179:                                 * windows associated with this display).
                    180:                                 * NULL means nobody has the focus.
                    181:                                 * Managed by tkEvent.c. */
                    182: } TkDisplay;
                    183: 
                    184: /*
                    185:  * One of the following structures exists for each error handler
                    186:  * created by a call to Tk_CreateErrorHandler.  The structure
                    187:  * is managed by tkError.c.
                    188:  */
                    189: 
                    190: typedef struct TkErrorHandler {
                    191:     TkDisplay *dispPtr;                /* Display to which handler applies. */
                    192:     unsigned long firstRequest;        /* Only errors with serial numbers
                    193:                                 * >= to this are considered. */
                    194:     unsigned long lastRequest; /* Only errors with serial numbers
                    195:                                 * <= to this are considered.  This
                    196:                                 * field is filled in when XUnhandle
                    197:                                 * is called.  -1 means XUnhandle
                    198:                                 * hasn't been called yet. */
                    199:     int error;                 /* Consider only errors with this
                    200:                                 * error_code (-1 means consider
                    201:                                 * all errors). */
                    202:     int request;               /* Consider only errors with this
                    203:                                 * major request code (-1 means
                    204:                                 * consider all major codes). */
                    205:     int minorCode;             /* Consider only errors with this
                    206:                                 * minor request code (-1 means
                    207:                                 * consider all minor codes). */
                    208:     Tk_ErrorProc *errorProc;   /* Procedure to invoke when a matching
                    209:                                 * error occurs.  NULL means just ignore
                    210:                                 * errors. */
                    211:     ClientData clientData;     /* Arbitrary value to pass to
                    212:                                 * errorProc. */
                    213:     struct TkErrorHandler *nextPtr;
                    214:                                /* Pointer to next older handler for
                    215:                                 * this display, or NULL for end of
                    216:                                 * list. */
                    217: } TkErrorHandler;
                    218: 
                    219: /*
                    220:  * One of the following structures exists for each event handler
                    221:  * created by calling Tk_CreateEventHandler.  This information
                    222:  * is used by tkEvent.c only.
                    223:  */
                    224: 
                    225: typedef struct TkEventHandler {
                    226:     unsigned long mask;                /* Events for which to invoke
                    227:                                 * proc. */
                    228:     Tk_EventProc *proc;                /* Procedure to invoke when an event
                    229:                                 * in mask occurs. */
                    230:     ClientData clientData;     /* Argument to pass to proc. */
                    231:     struct TkEventHandler *nextPtr;
                    232:                                /* Next in list of handlers
                    233:                                 * associated with window (NULL means
                    234:                                 * end of list). */
                    235: } TkEventHandler;
                    236: 
                    237: /*
                    238:  * One of the following structures exists for each selection
                    239:  * handler created by calling Tk_CreateSelHandler.  This
                    240:  * information is used by tkSelect.c only.
                    241:  */
                    242: 
                    243: typedef struct TkSelHandler {
                    244:     Atom target;               /* Target type for selection
                    245:                                 * conversion, such as TARGETS or
                    246:                                 * STRING. */
                    247:     Atom format;               /* Format in which selection
                    248:                                 * info will be returned, such
                    249:                                 * as STRING or ATOM. */
                    250:     Tk_SelectionProc *proc;    /* Procedure to generate selection
                    251:                                 * in this format. */
                    252:     ClientData clientData;     /* Argument to pass to proc. */
                    253:     int size;                  /* Size of units returned by proc
                    254:                                 * (8 for STRING, 32 for almost
                    255:                                 * anything else). */
                    256:     struct TkSelHandler *nextPtr;
                    257:                                /* Next selection handler associated
                    258:                                 * with same window (NULL for end of
                    259:                                 * list). */
                    260: } TkSelHandler;
                    261: 
                    262: /*
                    263:  * Tk keeps one of the following data structures for each main
                    264:  * window (created by a call to Tk_CreateMainWindow).  It stores
                    265:  * information that is shared by all of the windows associated
                    266:  * with a particular main window.
                    267:  */
                    268: 
                    269: typedef struct TkMainInfo {
                    270:     struct TkWindow *winPtr;   /* Pointer to main window. */
                    271:     Tcl_Interp *interp;                /* Interpreter associated with application. */
                    272:     Tcl_HashTable nameTable;   /* Hash table mapping path names to TkWindow
                    273:                                 * structs for all windows related to this
                    274:                                 * main window.  Managed by tkWindow.c. */
                    275:     Tk_BindingTable bindingTable;
                    276:                                /* Used in conjunction with "bind" command
                    277:                                 * to bind events to Tcl commands. */
                    278: /* XXX: FOCUS */
                    279: /*    struct TkWindow *focusPtr; */    /* Identifies window that currently has the
                    280:                                 * focus (or that will get the focus the next
                    281:                                 * time the pointer enters any of the top-level
                    282:                                 * windows associated with this display).
                    283:                                 * NULL means nobody has the focus.
                    284:                                 * Managed by tkEvent.c. */
                    285:     struct ElArray *optionRootPtr;
                    286:                                /* Top level of option hierarchy for this
                    287:                                 * main window.  NULL means uninitialized.
                    288:                                 * Managed by tkOption.c. */
                    289: } TkMainInfo;
                    290: 
                    291: /*
                    292:  * Tk keeps one of the following structures for each window.
                    293:  * Some of the information (like size and location) is a shadow
                    294:  * of information managed by the X server, and some is special
                    295:  * information used here, such as event and geometry management
                    296:  * information.  This information is (mostly) managed by tkWindow.c.
                    297:  * WARNING: the declaration below must be kept consistent with the
                    298:  * Tk_ClientWindow structure in tk.h.  If you change one, be sure to
                    299:  * change the other!!
                    300:  */
                    301: 
                    302: typedef struct TkWindow {
                    303: 
                    304:     /*
                    305:      * Structural information:
                    306:      */
                    307: 
                    308:     Display *display;          /* Display containing window. */
                    309:     TkDisplay *dispPtr;                /* Tk's information about display
                    310:                                 * for window. */
                    311:     int screenNum;             /* Index of screen for window, among all
                    312:                                 * those for dispPtr. */
                    313:     Window window;             /* X's id for window.   NULL means window
                    314:                                 * hasn't actually been created yet, or it's
                    315:                                 * been deleted. */
                    316:     struct TkWindow *childList;        /* First in list of child windows,
                    317:                                 * or NULL if no children. */
                    318:     struct TkWindow *parentPtr;        /* Pointer to parent window (logical
                    319:                                 * parent, not necessarily X parent), or
                    320:                                 * NULL if this is a main window. */
                    321:     struct TkWindow *nextPtr;  /* Next in list of children with
                    322:                                 * same parent (NULL if end of
                    323:                                 * list). */
                    324:     TkMainInfo *mainPtr;       /* Information shared by all windows
                    325:                                 * associated with a particular main
                    326:                                 * window.  NULL means this window is
                    327:                                 * a rogue that isn't associated with
                    328:                                 * any application (at present, there
                    329:                                 * should never be any rogues).  */
                    330: 
                    331:     /*
                    332:      * Name and type information for the window:
                    333:      */
                    334: 
                    335:     char *pathName;            /* Path name of window (concatenation
                    336:                                 * of all names between this window and
                    337:                                 * its top-level ancestor).  This is a
                    338:                                 * pointer into an entry in
                    339:                                 * mainPtr->nameTable or NULL if mainPtr
                    340:                                 * is NULL. */
                    341:     Tk_Uid nameUid;            /* Name of the window within its parent
                    342:                                 * (unique within the parent). */
                    343:     Tk_Uid classUid;           /* Class of the window.  NULL means window
                    344:                                 * hasn't been given a class yet. */
                    345: 
                    346:     /*
                    347:      * Geometry and other attributes of window.  This information
                    348:      * may not be updated on the server immediately;  stuff that
                    349:      * hasn't been reflected in the server yet is called "dirty".
                    350:      * At present, information can be dirty only if the window
                    351:      * hasn't yet been created.
                    352:      */
                    353: 
                    354:     XWindowChanges changes;    /* Geometry and other info about
                    355:                                 * window. */
                    356:     unsigned int dirtyChanges; /* Bits indicate fields of "changes"
                    357:                                 * that are dirty. */
                    358:     XSetWindowAttributes atts; /* Current attributes of window. */
                    359:     unsigned long dirtyAtts;   /* Bits indicate fields of "atts"
                    360:                                 * that are dirty. */
                    361: 
                    362:     unsigned int flags;                /* Various flag values:  these are all
                    363:                                 * defined in tk.h (confusing, but they're
                    364:                                 * needed there for some query macros). */
                    365: 
                    366:     /*
                    367:      * Information kept by the event manager (tkEvent.c):
                    368:      */
                    369: 
                    370:     TkEventHandler *handlerList;/* First in list of event handlers
                    371:                                 * declared for this window, or
                    372:                                 * NULL if none. */
                    373:     /*
                    374:      * Information related to input focussing (tkEvent.c):
                    375:      */
                    376: 
                    377:     Tk_FocusProc *focusProc;   /* Procedure to invoke when this window
                    378:                                 * gets or loses the input focus.  NULL
                    379:                                 * means this window is not prepared to
                    380:                                 * receive the focus. */
                    381:     ClientData focusData;      /* Arbitrary value to pass to focusProc. */
                    382: 
                    383:     /*
                    384:      * Information used by tkOption.c to manage options for the
                    385:      * window.
                    386:      */
                    387: 
                    388:     int optionLevel;           /* -1 means no option information is
                    389:                                 * currently cached for this window.
                    390:                                 * Otherwise this gives the level in
                    391:                                 * the option stack at which info is
                    392:                                 * cached. */
                    393:     /*
                    394:      * Information used by tkSelect.c to manage the selection.
                    395:      */
                    396: 
                    397:     TkSelHandler *selHandlerList;
                    398:                                /* First in list of handlers for
                    399:                                 * returning the selection in various
                    400:                                 * forms. */
                    401:     Tk_LostSelProc *selClearProc;
                    402:     ClientData selClearData;   /* Info to pass to selClearProc. */
                    403: 
                    404:     /*
                    405:      * Information used by tkGeometry.c for geometry management.
                    406:      */
                    407: 
                    408:     Tk_GeometryProc *geomProc; /* Procedure to handle geometry
                    409:                                 * requests (NULL means no window is
                    410:                                 * unmanaged). */
                    411:     ClientData geomData;       /* Argument for geomProc. */
                    412:     int reqWidth, reqHeight;   /* Arguments from last call to
                    413:                                 * Tk_GeometryRequest, or 0's if
                    414:                                 * Tk_GeometryRequest hasn't been
                    415:                                 * called. */
                    416:     int internalBorderWidth;   /* Width of internal border of window
                    417:                                 * (0 means no internal border).  Geom.
                    418:                                 * mgr. should not place children on top
                    419:                                 * of the border. */
                    420: 
                    421:     /*
                    422:      * Information maintained by tkWm.c for window manager communication.
                    423:      */
                    424: 
                    425:     struct TkWmInfo *wmInfoPtr;        /* For top-level windows, points to
                    426:                                 * structure with wm-related info (see
                    427:                                 * tkWm.c).  For other windows, this
                    428:                                 * is NULL. */
                    429: } TkWindow;
                    430: 
                    431: /*
                    432:  * The context below is used to map from an X window id to
                    433:  * the TkWindow structure associated with the window.
                    434:  */
                    435: 
                    436: extern XContext tkWindowContext;
                    437: 
                    438: /*
                    439:  * Pointer to first entry in list of all displays currently known.
                    440:  */
                    441: 
                    442: extern TkDisplay *tkDisplayList;
                    443: 
                    444: /*
                    445:  * Flags passed to TkMeasureChars:
                    446:  */
                    447: 
                    448: #define TK_WHOLE_WORDS         1
                    449: #define TK_AT_LEAST_ONE                2
                    450: #define TK_PARTIAL_OK          4
                    451: #define TK_NEWLINES_NOT_SPECIAL        8
                    452: 
                    453: /*
                    454:  * Location of library directory containing Tk scripts.  This value
                    455:  * is put in the $tkLibrary variable for each application.
                    456:  */
                    457: 
                    458: #ifndef TK_LIBRARY
                    459: #ifdef MSDOS
                    460: #define TK_LIBRARY "res/tk"
                    461: #else
                    462: #define TK_LIBRARY "/usr/local/lib/tk"
                    463: #endif
                    464: #endif
                    465: 
                    466: /*
                    467:  * See tkShare.c for explanation of following disgusting variable:
                    468:  */
                    469: 
                    470: extern XEvent *tkShareEventPtr;
                    471: 
                    472: /*
                    473:  * Secret way to inhibit event collapsing.  -deh
                    474:  */
                    475: 
                    476: extern int             tkCollapseMotion;
                    477: 
                    478: /*
                    479:  * Secret way to break out to Tk_MainLoop.  -deh
                    480:  */
                    481: 
                    482: extern int             tkMustExit;
                    483: 
                    484: /*
                    485:  * Miscellaneous variables shared among Tk modules but not exported
                    486:  * to the outside world:
                    487:  */
                    488: 
                    489: extern Tk_Uid          tkActiveUid;
                    490: extern Tk_Uid          tkDisabledUid;
                    491: extern Tk_Uid          tkNormalUid;
                    492: 
                    493: /*
                    494:  * Internal procedures shared among Tk modules but not exported
                    495:  * to the outside world:
                    496:  */
                    497: 
                    498: extern int             TkAreaToPolygon _ANSI_ARGS_((double *polyPtr,
                    499:                            int numPoints, double *rectPtr));
                    500: extern void            TkBezierPoints _ANSI_ARGS_((double control[],
                    501:                            int numSteps, double *coordPtr));
                    502: extern void            TkBindError _ANSI_ARGS_((Tcl_Interp *interp));
                    503: extern void            TkBindEventProc _ANSI_ARGS_((TkWindow *winPtr,
                    504:                            XEvent *eventPtr));
                    505: extern Time            TkCurrentTime _ANSI_ARGS_((TkDisplay *dispPtr));
                    506: extern int             TkDeadAppCmd _ANSI_ARGS_((ClientData clientData,
                    507:                            Tcl_Interp *interp, int argc, char **argv));
                    508: extern void            TkDisplayChars _ANSI_ARGS_((Display *display,
                    509:                            Drawable drawable, GC gc,
                    510:                            XFontStruct *fontStructPtr, char *string,
                    511:                            int numChars, int x, int y, int flags));
                    512: extern void            TkEventDeadWindow _ANSI_ARGS_((TkWindow *winPtr));
                    513: extern void            TkFocusEventProc _ANSI_ARGS_((TkWindow *winPtr,
                    514:                            XEvent *eventPtr));
                    515: extern void            TkGetButtPoints _ANSI_ARGS_((double p1[], double p2[],
                    516:                            double width, int project, double m1[],
                    517:                            double m2[]));
                    518: extern int             TkGetInterpNames _ANSI_ARGS_((Tcl_Interp *interp,
                    519:                            Tk_Window tkwin));
                    520: extern int             TkGetMiterPoints _ANSI_ARGS_((double p1[], double p2[],
                    521:                            double p3[], double width, double m1[],
                    522:                            double m2[]));
                    523: extern void            TkGrabDeadWindow _ANSI_ARGS_((TkWindow *winPtr));
                    524: extern int             TkLineToArea _ANSI_ARGS_((double end1Ptr[2],
                    525:                            double end2Ptr[2], double rectPtr[4]));
                    526: extern double          TkLineToPoint _ANSI_ARGS_((double end1Ptr[2],
                    527:                            double end2Ptr[2], double pointPtr[2]));
                    528: extern int             TkMeasureChars _ANSI_ARGS_((XFontStruct *fontStructPtr,
                    529:                            char *source, int maxChars, int startX, int maxX,
                    530:                            int flags, int *nextXPtr));
                    531: extern void            TkOptionDeadWindow _ANSI_ARGS_((TkWindow *winPtr));
                    532: extern int             TkOvalToArea _ANSI_ARGS_((double *ovalPtr,
                    533:                            double *rectPtr));
                    534: extern double          TkOvalToPoint _ANSI_ARGS_((double ovalPtr[4],
                    535:                            double width, int filled, double pointPtr[2]));
                    536: extern int             TkPointerEvent _ANSI_ARGS_((XEvent *eventPtr,
                    537:                            TkWindow *winPtr));
                    538: extern int             TkPolygonToArea _ANSI_ARGS_((double *polyPtr,
                    539:                            int numPoints, double *rectPtr));
                    540: extern double          TkPolygonToPoint _ANSI_ARGS_((double *polyPtr,
                    541:                            int numPoints, double *pointPtr));
                    542: extern void            TkSelDeadWindow _ANSI_ARGS_((TkWindow *winPtr));
                    543: extern void            TkSelEventProc _ANSI_ARGS_((Tk_Window tkwin,
                    544:                            XEvent *eventPtr));
                    545: extern void            TkSelPropProc _ANSI_ARGS_((XEvent *eventPtr));
                    546: extern void            TkUnderlineChars _ANSI_ARGS_((Display *display,
                    547:                            Drawable drawable, GC gc,
                    548:                            XFontStruct *fontStructPtr, char *string,
                    549:                            int x, int y, int flags, int firstChar,
                    550:                            int lastChar));
                    551: extern void            TkWmDeadWindow _ANSI_ARGS_((TkWindow *winPtr));
                    552: extern int             TkWmMapWindow _ANSI_ARGS_((TkWindow *winPtr));
                    553: extern void            TkWmSetClass _ANSI_ARGS_((TkWindow *winPtr));
                    554: extern void            TkWmNewWindow _ANSI_ARGS_((TkWindow *winPtr));
                    555: 
                    556: #endif  /* _TKINT */

unix.superglobalmegacorp.com

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