|
|
1.1 ! root 1: /* ! 2: * tk.h -- ! 3: * ! 4: * Declarations for Tk-related things that are visible ! 5: * outside of the Tk module itself. ! 6: * ! 7: * Copyright 1989-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/tk.h,v 1.90 92/08/20 16:36:30 ouster Exp $ SPRITE (Berkeley) ! 17: */ ! 18: ! 19: #ifndef _TK ! 20: #define _TK ! 21: ! 22: #ifndef _TCL ! 23: #include <tcl.h> ! 24: #endif ! 25: #ifndef _XLIB_H ! 26: #include <X11/Xlib.h> ! 27: #endif ! 28: #ifdef __STDC__ ! 29: ! 30: /* This is so gcc's stddef.h doesn't clash with sunos4.1.1's stdtypes.h */ ! 31: #ifdef __sys_stdtypes_h ! 32: #define _PTRDIFF_T ! 33: #define _SIZE_T ! 34: #define _WCHAR_T ! 35: #endif ! 36: ! 37: #include <stddef.h> ! 38: #endif ! 39: ! 40: /* ! 41: * Dummy types that are used by clients: ! 42: */ ! 43: ! 44: typedef struct Tk_ErrorHandler_ *Tk_ErrorHandler; ! 45: typedef struct Tk_TimerToken_ *Tk_TimerToken; ! 46: typedef struct Tk_Window_ *Tk_Window; ! 47: typedef struct Tk_3DBorder_ *Tk_3DBorder; ! 48: typedef struct Tk_BindingTable_ *Tk_BindingTable; ! 49: ! 50: /* ! 51: * Additional types exported to clients. ! 52: */ ! 53: ! 54: typedef char *Tk_Uid; ! 55: ! 56: /* ! 57: * Structure used to specify how to handle argv options. ! 58: */ ! 59: ! 60: typedef struct { ! 61: char *key; /* The key string that flags the option in the ! 62: * argv array. */ ! 63: int type; /* Indicates option type; see below. */ ! 64: char *src; /* Value to be used in setting dst; usage ! 65: * depends on type. */ ! 66: char *dst; /* Address of value to be modified; usage ! 67: * depends on type. */ ! 68: char *help; /* Documentation message describing this option. */ ! 69: } Tk_ArgvInfo; ! 70: ! 71: /* ! 72: * Legal values for the type field of a Tk_ArgvInfo: see the user ! 73: * documentation for details. ! 74: */ ! 75: ! 76: #define TK_ARGV_CONSTANT 15 ! 77: #define TK_ARGV_INT 16 ! 78: #define TK_ARGV_STRING 17 ! 79: #define TK_ARGV_UID 18 ! 80: #define TK_ARGV_REST 19 ! 81: #define TK_ARGV_FLOAT 20 ! 82: #define TK_ARGV_FUNC 21 ! 83: #define TK_ARGV_GENFUNC 22 ! 84: #define TK_ARGV_HELP 23 ! 85: #define TK_ARGV_CONST_OPTION 24 ! 86: #define TK_ARGV_OPTION_VALUE 25 ! 87: #define TK_ARGV_OPTION_NAME_VALUE 26 ! 88: #define TK_ARGV_END 27 ! 89: ! 90: /* ! 91: * Flag bits for passing to Tk_ParseArgv: ! 92: */ ! 93: ! 94: #define TK_ARGV_NO_DEFAULTS 0x1 ! 95: #define TK_ARGV_NO_LEFTOVERS 0x2 ! 96: #define TK_ARGV_NO_ABBREV 0x4 ! 97: #define TK_ARGV_DONT_SKIP_FIRST_ARG 0x8 ! 98: ! 99: /* ! 100: * Structure used to describe application-specific configuration ! 101: * options: indicates procedures to call to parse an option and ! 102: * to return a text string describing an option. ! 103: */ ! 104: ! 105: typedef int (Tk_OptionParseProc) _ANSI_ARGS_((ClientData clientData, ! 106: Tcl_Interp *interp, Tk_Window tkwin, char *value, char *widgRec, ! 107: int offset)); ! 108: typedef char *(Tk_OptionPrintProc) _ANSI_ARGS_((ClientData clientData, ! 109: Tk_Window tkwin, char *widgRec, int offset, ! 110: Tcl_FreeProc **freeProcPtr)); ! 111: ! 112: typedef struct Tk_CustomOption { ! 113: Tk_OptionParseProc *parseProc; /* Procedure to call to parse an ! 114: * option and store it in converted ! 115: * form. */ ! 116: Tk_OptionPrintProc *printProc; /* Procedure to return a printable ! 117: * string describing an existing ! 118: * option. */ ! 119: ClientData clientData; /* Arbitrary one-word value used by ! 120: * option parser: passed to ! 121: * parseProc and printProc. */ ! 122: } Tk_CustomOption; ! 123: ! 124: /* ! 125: * Structure used to specify information for Tk_ConfigureWidget. Each ! 126: * structure gives complete information for one option, including ! 127: * how the option is specified on the command line, where it appears ! 128: * in the option database, etc. ! 129: */ ! 130: ! 131: typedef struct Tk_ConfigSpec { ! 132: int type; /* Type of option, such as TK_CONFIG_COLOR; ! 133: * see definitions below. Last option in ! 134: * table must have type TK_CONFIG_END. */ ! 135: char *argvName; /* Switch used to specify option in argv. ! 136: * NULL means this spec is part of a group. */ ! 137: char *dbName; /* Name for option in option database. */ ! 138: char *dbClass; /* Class for option in database. */ ! 139: char *defValue; /* Default value for option if not ! 140: * specified in command line or database. */ ! 141: int offset; /* Where in widget record to store value; ! 142: * use Tk_Offset macro to generate values ! 143: * for this. */ ! 144: int specFlags; /* Any combination of the values defined ! 145: * below; other bits are used internally ! 146: * by tkConfig.c. */ ! 147: Tk_CustomOption *customPtr; /* If type is TK_CONFIG_CUSTOM then this is ! 148: * a pointer to info about how to parse and ! 149: * print the option. Otherwise it is ! 150: * irrelevant. */ ! 151: } Tk_ConfigSpec; ! 152: ! 153: /* ! 154: * Type values for Tk_ConfigSpec structures. See the user ! 155: * documentation for details. ! 156: */ ! 157: ! 158: #define TK_CONFIG_BOOLEAN 1 ! 159: #define TK_CONFIG_INT 2 ! 160: #define TK_CONFIG_DOUBLE 3 ! 161: #define TK_CONFIG_STRING 4 ! 162: #define TK_CONFIG_UID 5 ! 163: #define TK_CONFIG_COLOR 6 ! 164: #define TK_CONFIG_FONT 7 ! 165: #define TK_CONFIG_BITMAP 8 ! 166: #define TK_CONFIG_BORDER 9 ! 167: #define TK_CONFIG_RELIEF 10 ! 168: #define TK_CONFIG_CURSOR 11 ! 169: #define TK_CONFIG_ACTIVE_CURSOR 12 ! 170: #define TK_CONFIG_JUSTIFY 13 ! 171: #define TK_CONFIG_ANCHOR 14 ! 172: #define TK_CONFIG_SYNONYM 15 ! 173: #define TK_CONFIG_CAP_STYLE 16 ! 174: #define TK_CONFIG_JOIN_STYLE 17 ! 175: #define TK_CONFIG_PIXELS 18 ! 176: #define TK_CONFIG_MM 19 ! 177: #define TK_CONFIG_WINDOW 20 ! 178: #define TK_CONFIG_CUSTOM 21 ! 179: #define TK_CONFIG_END 22 ! 180: #define TK_CONFIG_PIXMAP 30 ! 181: ! 182: /* ! 183: * Macro to use to fill in "offset" fields of Tk_ConfigInfos. ! 184: * Computes number of bytes from beginning of structure to a ! 185: * given field. ! 186: */ ! 187: ! 188: #ifdef offsetof ! 189: #define Tk_Offset(type, field) ((int) offsetof(type, field)) ! 190: #else ! 191: #define Tk_Offset(type, field) ((int) ((char *) &((type *) 0)->field)) ! 192: #endif ! 193: ! 194: /* ! 195: * Possible values for flags argument to Tk_ConfigureWidget: ! 196: */ ! 197: ! 198: #define TK_CONFIG_ARGV_ONLY 1 ! 199: ! 200: /* ! 201: * Possible flag values for Tk_ConfigInfo structures. Any bits at ! 202: * or above TK_CONFIG_USER_BIT may be used by clients for selecting ! 203: * certain entries. Before changing any values here, coordinate with ! 204: * tkConfig.c (internal-use-only flags are defined there). ! 205: */ ! 206: ! 207: #define TK_CONFIG_COLOR_ONLY 1 ! 208: #define TK_CONFIG_MONO_ONLY 2 ! 209: #define TK_CONFIG_NULL_OK 4 ! 210: #define TK_CONFIG_DONT_SET_DEFAULT 8 ! 211: #define TK_CONFIG_OPTION_SPECIFIED 0x10 ! 212: #define TK_CONFIG_USER_BIT 0x100 ! 213: ! 214: /* ! 215: * Bits to pass to Tk_CreateFileHandler to indicate what sorts ! 216: * of events are of interest: ! 217: */ ! 218: ! 219: #define TK_READABLE 1 ! 220: #define TK_WRITABLE 2 ! 221: #define TK_EXCEPTION 4 ! 222: ! 223: /* ! 224: * Flag values to pass to Tk_DoOneEvent to disable searches ! 225: * for some kinds of events: ! 226: */ ! 227: ! 228: #define TK_DONT_WAIT 1 ! 229: #define TK_X_EVENTS 2 ! 230: #define TK_FILE_EVENTS 4 ! 231: #define TK_TIMER_EVENTS 8 ! 232: #define TK_IDLE_EVENTS 0x10 ! 233: #define TK_ALL_EVENTS 0x1e ! 234: ! 235: /* ! 236: * Priority levels to pass to Tk_AddOption: ! 237: */ ! 238: ! 239: #define TK_WIDGET_DEFAULT_PRIO 20 ! 240: #define TK_STARTUP_FILE_PRIO 40 ! 241: #define TK_USER_DEFAULT_PRIO 60 ! 242: #define TK_INTERACTIVE_PRIO 80 ! 243: #define TK_MAX_PRIO 100 ! 244: ! 245: /* ! 246: * Relief values returned by Tk_GetRelief: ! 247: */ ! 248: ! 249: #define TK_RELIEF_RAISED 1 ! 250: #define TK_RELIEF_FLAT 2 ! 251: #define TK_RELIEF_SUNKEN 4 ! 252: ! 253: /* ! 254: * Special EnterNotify/LeaveNotify "mode" for use in events ! 255: * generated by tkShare.c. Pick a high enough value that it's ! 256: * unlikely to conflict with existing values (like NotifyNormal) ! 257: * or any new values defined in the future. ! 258: */ ! 259: ! 260: #define TK_NOTIFY_SHARE 20 ! 261: ! 262: /* ! 263: * Enumerated type for describing a point by which to anchor something: ! 264: */ ! 265: ! 266: typedef enum { ! 267: TK_ANCHOR_N, TK_ANCHOR_NE, TK_ANCHOR_E, TK_ANCHOR_SE, ! 268: TK_ANCHOR_S, TK_ANCHOR_SW, TK_ANCHOR_W, TK_ANCHOR_NW, ! 269: TK_ANCHOR_CENTER ! 270: } Tk_Anchor; ! 271: ! 272: /* ! 273: * Enumerated type for describing a style of justification: ! 274: */ ! 275: ! 276: typedef enum { ! 277: TK_JUSTIFY_LEFT, TK_JUSTIFY_RIGHT, ! 278: TK_JUSTIFY_CENTER, TK_JUSTIFY_FILL ! 279: } Tk_Justify; ! 280: ! 281: /* ! 282: *-------------------------------------------------------------- ! 283: * ! 284: * Macros for querying Tk_Window structures. See the ! 285: * manual entries for documentation. ! 286: * ! 287: *-------------------------------------------------------------- ! 288: */ ! 289: ! 290: #define Tk_Display(tkwin) (((Tk_FakeWin *) (tkwin))->display) ! 291: #define Tk_ScreenNumber(tkwin) (((Tk_FakeWin *) (tkwin))->screenNum) ! 292: #define Tk_Screen(tkwin) (ScreenOfDisplay(Tk_Display(tkwin), \ ! 293: Tk_ScreenNumber(tkwin))) ! 294: #define Tk_WindowId(tkwin) (((Tk_FakeWin *) (tkwin))->window) ! 295: #define Tk_PathName(tkwin) (((Tk_FakeWin *) (tkwin))->pathName) ! 296: #define Tk_Name(tkwin) (((Tk_FakeWin *) (tkwin))->nameUid) ! 297: #define Tk_Class(tkwin) (((Tk_FakeWin *) (tkwin))->classUid) ! 298: #define Tk_X(tkwin) (((Tk_FakeWin *) (tkwin))->changes.x) ! 299: #define Tk_Y(tkwin) (((Tk_FakeWin *) (tkwin))->changes.y) ! 300: #define Tk_Width(tkwin) (((Tk_FakeWin *) (tkwin))->changes.width) ! 301: #define Tk_Height(tkwin) \ ! 302: (((Tk_FakeWin *) (tkwin))->changes.height) ! 303: #define Tk_Changes(tkwin) (&((Tk_FakeWin *) (tkwin))->changes) ! 304: #define Tk_Attributes(tkwin) (&((Tk_FakeWin *) (tkwin))->atts) ! 305: #define Tk_IsMapped(tkwin) \ ! 306: (((Tk_FakeWin *) (tkwin))->flags & TK_MAPPED) ! 307: #define Tk_ReqWidth(tkwin) (((Tk_FakeWin *) (tkwin))->reqWidth) ! 308: #define Tk_ReqHeight(tkwin) (((Tk_FakeWin *) (tkwin))->reqHeight) ! 309: #define Tk_InternalBorderWidth(tkwin) \ ! 310: (((Tk_FakeWin *) (tkwin))->internalBorderWidth) ! 311: #define Tk_Parent(tkwin) (((Tk_FakeWin *) (tkwin))->parentPtr) ! 312: ! 313: /* ! 314: * The structure below is needed by the macros above so that they can ! 315: * access the fields of a Tk_Window. The fields not needed by the macros ! 316: * are declared as "dummyX". The structure has its own type in order to ! 317: * prevent applications from accessing Tk_Window fields except using ! 318: * official macros. WARNING!! The structure definition must be kept ! 319: * consistent with the TkWindow structure in tkInt.h. If you change one, ! 320: * then change the other. See the declaration in tkInt.h for ! 321: * documentation on what the fields are used for internally. ! 322: */ ! 323: ! 324: typedef struct Tk_FakeWin { ! 325: Display *display; ! 326: char *dummy1; ! 327: int screenNum; ! 328: Window window; ! 329: char *dummy2; ! 330: Tk_Window parentPtr; ! 331: char *dummy4; ! 332: char *dummy5; ! 333: char *pathName; ! 334: Tk_Uid nameUid; ! 335: Tk_Uid classUid; ! 336: XWindowChanges changes; ! 337: unsigned int dummy6; ! 338: XSetWindowAttributes atts; ! 339: unsigned long dummy7; ! 340: unsigned int flags; ! 341: char *dummy8; ! 342: char *dummy9; ! 343: ClientData dummy10; ! 344: int dummy12; ! 345: char *dummy13; ! 346: char *dummy14; ! 347: ClientData dummy15; ! 348: char *dummy16; ! 349: ClientData dummy17; ! 350: int reqWidth, reqHeight; ! 351: int internalBorderWidth; ! 352: char *dummyX; ! 353: } Tk_FakeWin; ! 354: ! 355: /* ! 356: * Flag values for TkWindow (and Tk_FakeWin) structures are: ! 357: * ! 358: * TK_MAPPED: 1 means window is currently mapped, ! 359: * 0 means unmapped. ! 360: * TK_RECURSIVE_DESTROY: 1 means a recursive destroy is in ! 361: * progress, so some cleanup operations ! 362: * can be omitted. ! 363: * TK_TOP_LEVEL: 1 means this is a top-level window (it ! 364: * was or will be created as a child of ! 365: * a root window). ! 366: * TK_ALREADY_DEAD: 1 means the window is in the process of ! 367: * being destroyed already. ! 368: * TK_NEED_CONFIG_NOTIFY: 1 means that the window has been reconfigured ! 369: * before it was made to exist. At the time of ! 370: * making it exist a ConfigureNotify event needs ! 371: * to be generated. ! 372: * TK_GRAB_FLAG: Used to manage grabs. See tkGrab.c for ! 373: * details. ! 374: */ ! 375: ! 376: #define TK_MAPPED 1 ! 377: #define TK_RECURSIVE_DESTROY 2 ! 378: #define TK_TOP_LEVEL 4 ! 379: #define TK_ALREADY_DEAD 8 ! 380: #define TK_NEED_CONFIG_NOTIFY 0x10 ! 381: #define TK_GRAB_FLAG 0x20 ! 382: ! 383: /* ! 384: *-------------------------------------------------------------- ! 385: * ! 386: * Additional procedure types defined by Tk. ! 387: * ! 388: *-------------------------------------------------------------- ! 389: */ ! 390: ! 391: typedef int (Tk_ErrorProc) _ANSI_ARGS_((ClientData clientData, ! 392: XErrorEvent *errEventPtr)); ! 393: typedef void (Tk_EventProc) _ANSI_ARGS_((ClientData clientData, ! 394: XEvent *eventPtr)); ! 395: typedef void (Tk_FileProc) _ANSI_ARGS_((ClientData clientData, int mask)); ! 396: typedef void (Tk_FocusProc) _ANSI_ARGS_((ClientData clientData, int gotFocus)); ! 397: typedef void (Tk_FreeProc) _ANSI_ARGS_((ClientData clientData)); ! 398: typedef int (Tk_GenericProc) _ANSI_ARGS_((ClientData clientData, ! 399: XEvent *eventPtr)); ! 400: typedef void (Tk_GeometryProc) _ANSI_ARGS_((ClientData clientData, ! 401: Tk_Window tkwin)); ! 402: typedef int (Tk_GetSelProc) _ANSI_ARGS_((ClientData clientData, ! 403: Tcl_Interp *interp, char *portion)); ! 404: typedef void (Tk_IdleProc) _ANSI_ARGS_((ClientData clientData)); ! 405: typedef void (Tk_LostSelProc) _ANSI_ARGS_((ClientData clientData)); ! 406: typedef Bool (Tk_RestrictProc) _ANSI_ARGS_((Display *display, XEvent *eventPtr, ! 407: char *arg)); ! 408: typedef int (Tk_SelectionProc) _ANSI_ARGS_((ClientData clientData, ! 409: int offset, char *buffer, int maxBytes)); ! 410: typedef void (Tk_TimerProc) _ANSI_ARGS_((ClientData clientData)); ! 411: ! 412: /* ! 413: *-------------------------------------------------------------- ! 414: * ! 415: * Exported procedures and variables. ! 416: * ! 417: *-------------------------------------------------------------- ! 418: */ ! 419: ! 420: extern XColor * Tk_3DBorderColor _ANSI_ARGS_((Tk_3DBorder border)); ! 421: extern void Tk_AddOption _ANSI_ARGS_((Tk_Window tkwin, char *name, ! 422: char *value, int priority)); ! 423: extern void Tk_BindEvent _ANSI_ARGS_((Tk_BindingTable bindingTable, ! 424: XEvent *eventPtr, Tk_Window tkwin, int numObjects, ! 425: ClientData *objectPtr)); ! 426: extern void Tk_CancelIdleCall _ANSI_ARGS_((Tk_IdleProc *idleProc, ! 427: ClientData clientData)); ! 428: extern void Tk_ChangeWindowAttributes _ANSI_ARGS_((Tk_Window tkwin, ! 429: unsigned long valueMask, ! 430: XSetWindowAttributes *attsPtr)); ! 431: extern int Tk_ConfigureInfo _ANSI_ARGS_((Tcl_Interp *interp, ! 432: Tk_Window tkwin, Tk_ConfigSpec *specs, ! 433: char *widgRec, char *argvName, int flags)); ! 434: extern int Tk_ConfigureWidget _ANSI_ARGS_((Tcl_Interp *interp, ! 435: Tk_Window tkwin, Tk_ConfigSpec *specs, ! 436: int argc, char **argv, char *widgRec, ! 437: int flags)); ! 438: extern Tk_Window Tk_CoordsToWindow _ANSI_ARGS_((int rootX, int rootY, ! 439: Tk_Window tkwin)); ! 440: extern unsigned long Tk_CreateBinding _ANSI_ARGS_((Tcl_Interp *interp, ! 441: Tk_BindingTable bindingTable, ClientData object, ! 442: char *eventString, char *command, int append)); ! 443: extern Tk_BindingTable Tk_CreateBindingTable _ANSI_ARGS_((Tcl_Interp *interp)); ! 444: extern Tk_ErrorHandler Tk_CreateErrorHandler _ANSI_ARGS_((Display *display, ! 445: int error, int request, int minorCode, ! 446: Tk_ErrorProc *errorProc, ClientData clientData)); ! 447: extern void Tk_CreateEventHandler _ANSI_ARGS_((Tk_Window token, ! 448: unsigned long mask, Tk_EventProc *proc, ! 449: ClientData clientData)); ! 450: extern void Tk_CreateFileHandler _ANSI_ARGS_((int fd, int mask, ! 451: Tk_FileProc *proc, ClientData clientData)); ! 452: extern void Tk_CreateFocusHandler _ANSI_ARGS_((Tk_Window tkwin, ! 453: Tk_FocusProc *proc, ClientData clientData)); ! 454: extern void Tk_CreateGenericHandler _ANSI_ARGS_(( ! 455: Tk_GenericProc *proc, ClientData clientData)); ! 456: extern Tk_Window Tk_CreateMainWindow _ANSI_ARGS_((Tcl_Interp *interp, ! 457: char *screenName, char *baseName)); ! 458: extern void Tk_CreateSelHandler _ANSI_ARGS_((Tk_Window tkwin, ! 459: Atom target, Tk_SelectionProc *proc, ! 460: ClientData clientData, Atom format)); ! 461: extern Tk_TimerToken Tk_CreateTimerHandler _ANSI_ARGS_((int milliseconds, ! 462: Tk_TimerProc *proc, ClientData clientData)); ! 463: // Added by Don to support finer timer resolution. ! 464: extern Tk_TimerToken Tk_CreateMicroTimerHandler _ANSI_ARGS_((int seconds, ! 465: int microseconds, Tk_TimerProc *proc, ClientData clientData)); ! 466: extern Tk_Window Tk_CreateWindow _ANSI_ARGS_((Tcl_Interp *interp, ! 467: Tk_Window parent, char *name, char *screenName)); ! 468: extern Tk_Window Tk_CreateWindowFromPath _ANSI_ARGS_(( ! 469: Tcl_Interp *interp, Tk_Window tkwin, ! 470: char *pathName, char *screenName)); ! 471: extern int Tk_DefineBitmap _ANSI_ARGS_((Tcl_Interp *interp, ! 472: Tk_Uid name, char *source, unsigned int width, ! 473: unsigned int height)); ! 474: extern int Tk_DefinePixmap _ANSI_ARGS_((Tcl_Interp *interp, ! 475: Tk_Uid name, Tk_Window, Pixmap pixmap, ! 476: char *source, unsigned int width, ! 477: unsigned int height)); ! 478: extern void Tk_DefineCursor _ANSI_ARGS_((Tk_Window window, ! 479: Cursor cursor)); ! 480: extern void Tk_DeleteAllBindings _ANSI_ARGS_(( ! 481: Tk_BindingTable bindingTable, ClientData object)); ! 482: extern int Tk_DeleteBinding _ANSI_ARGS_((Tcl_Interp *interp, ! 483: Tk_BindingTable bindingTable, ClientData object, ! 484: char *eventString)); ! 485: extern void Tk_DeleteBindingTable _ANSI_ARGS_(( ! 486: Tk_BindingTable bindingTable)); ! 487: extern void Tk_DeleteErrorHandler _ANSI_ARGS_(( ! 488: Tk_ErrorHandler handler)); ! 489: extern void Tk_DeleteEventHandler _ANSI_ARGS_((Tk_Window token, ! 490: unsigned long mask, Tk_EventProc *proc, ! 491: ClientData clientData)); ! 492: extern void Tk_DeleteFileHandler _ANSI_ARGS_((int fd)); ! 493: extern void Tk_DeleteGenericHandler _ANSI_ARGS_(( ! 494: Tk_GenericProc *proc, ClientData clientData)); ! 495: extern void Tk_DeleteTimerHandler _ANSI_ARGS_(( ! 496: Tk_TimerToken token)); ! 497: extern void Tk_DestroyWindow _ANSI_ARGS_((Tk_Window tkwin)); ! 498: extern char * Tk_DisplayName _ANSI_ARGS_((Tk_Window tkwin)); ! 499: extern int Tk_DoOneEvent _ANSI_ARGS_((int flags)); ! 500: extern void Tk_DoWhenIdle _ANSI_ARGS_((Tk_IdleProc *proc, ! 501: ClientData clientData)); ! 502: extern void Tk_Draw3DPolygon _ANSI_ARGS_((Display *display, ! 503: Drawable drawable, Tk_3DBorder border, ! 504: XPoint *pointPtr, int numPoints, int borderWidth, ! 505: int leftRelief)); ! 506: extern void Tk_Draw3DRectangle _ANSI_ARGS_((Display *display, ! 507: Drawable drawable, Tk_3DBorder border, int x, ! 508: int y, int width, int height, int borderWidth, ! 509: int relief)); ! 510: extern void Tk_EventuallyFree _ANSI_ARGS_((ClientData clientData, ! 511: Tk_FreeProc *freeProc)); ! 512: extern void Tk_Fill3DPolygon _ANSI_ARGS_((Display *display, ! 513: Drawable drawable, Tk_3DBorder border, ! 514: XPoint *pointPtr, int numPoints, int borderWidth, ! 515: int leftRelief)); ! 516: extern void Tk_Fill3DRectangle _ANSI_ARGS_((Display *display, ! 517: Drawable drawable, Tk_3DBorder border, int x, ! 518: int y, int width, int height, int borderWidth, ! 519: int relief)); ! 520: extern void Tk_Free3DBorder _ANSI_ARGS_((Tk_3DBorder border)); ! 521: extern void Tk_FreeBitmap _ANSI_ARGS_((Pixmap bitmap)); ! 522: extern void Tk_FreePixmap _ANSI_ARGS_((Pixmap bitmap)); ! 523: extern void Tk_FreeColor _ANSI_ARGS_((XColor *colorPtr)); ! 524: extern int Tk_IndexOfScreen _ANSI_ARGS_((Screen *screen)); ! 525: extern int Tk_DefaultDepth _ANSI_ARGS_((Screen *screen)); ! 526: extern Visual *Tk_DefaultVisual _ANSI_ARGS_((Screen *screen)); ! 527: extern Colormap Tk_DefaultColormap _ANSI_ARGS_((Screen *screen)); ! 528: extern Window Tk_DefaultRootWindow _ANSI_ARGS_((Display *dpy)); ! 529: extern GC Tk_DefaultGC _ANSI_ARGS_((Screen *screen)); ! 530: extern Pixmap Tk_DefaultPixmap _ANSI_ARGS_((Screen *screen)); ! 531: extern void Tk_FreeCursor _ANSI_ARGS_((Cursor cursor)); ! 532: extern void Tk_FreeFontStruct _ANSI_ARGS_(( ! 533: XFontStruct *fontStructPtr)); ! 534: extern void Tk_FreeGC _ANSI_ARGS_((GC gc)); ! 535: extern void Tk_GeometryRequest _ANSI_ARGS_((Tk_Window tkwin, ! 536: int reqWidth, int reqHeight)); ! 537: extern Tk_3DBorder Tk_Get3DBorder _ANSI_ARGS_((Tcl_Interp *interp, ! 538: Tk_Window tkwin, Colormap colormap, ! 539: Tk_Uid colorName)); ! 540: extern void Tk_GetAllBindings _ANSI_ARGS_((Tcl_Interp *interp, ! 541: Tk_BindingTable bindingTable, ClientData object)); ! 542: extern int Tk_GetAnchor _ANSI_ARGS_((Tcl_Interp *interp, ! 543: char *string, Tk_Anchor *anchorPtr)); ! 544: extern char * Tk_GetAtomName _ANSI_ARGS_((Tk_Window tkwin, ! 545: Atom atom)); ! 546: extern char * Tk_GetBinding _ANSI_ARGS_((Tcl_Interp *interp, ! 547: Tk_BindingTable bindingTable, ClientData object, ! 548: char *eventString)); ! 549: extern Pixmap Tk_GetBitmap _ANSI_ARGS_((Tcl_Interp *interp, ! 550: Tk_Window tkwin, Tk_Uid string)); ! 551: extern Pixmap Tk_GetPixmap _ANSI_ARGS_((Tcl_Interp *interp, ! 552: Tk_Window tkwin, Tk_Uid string)); ! 553: extern Pixmap Tk_GetBitmapFromData _ANSI_ARGS_((Tcl_Interp *interp, ! 554: Tk_Window tkwin, char *source, ! 555: unsigned int width, unsigned int height)); ! 556: extern Pixmap Tk_GetPixmapFromData _ANSI_ARGS_((Tcl_Interp *interp, ! 557: Tk_Window tkwin, char *source, ! 558: unsigned int width, unsigned int height)); ! 559: extern int Tk_GetCapStyle _ANSI_ARGS_((Tcl_Interp *interp, ! 560: char *string, int *capPtr)); ! 561: extern XColor * Tk_GetColor _ANSI_ARGS_((Tcl_Interp *interp, ! 562: Tk_Window tkwin, Colormap colormap, Tk_Uid name)); ! 563: extern XColor * Tk_GetColorByValue _ANSI_ARGS_((Tcl_Interp *interp, ! 564: Tk_Window tkwin, Colormap colormap, ! 565: XColor *colorPtr)); ! 566: extern Cursor Tk_GetCursor _ANSI_ARGS_((Tcl_Interp *interp, ! 567: Tk_Window tkwin, Tk_Uid string)); ! 568: extern Cursor Tk_GetCursorFromData _ANSI_ARGS_((Tcl_Interp *interp, ! 569: Tk_Window tkwin, char *source, char *mask, ! 570: unsigned int width, unsigned int height, ! 571: int xHot, int yHot, Tk_Uid fg, Tk_Uid bg)); ! 572: extern XFontStruct * Tk_GetFontStruct _ANSI_ARGS_((Tcl_Interp *interp, ! 573: Tk_Window tkwin, Tk_Uid name)); ! 574: extern GC Tk_GetGC _ANSI_ARGS_((Tk_Window tkwin, ! 575: unsigned long valueMask, XGCValues *valuePtr)); ! 576: extern int Tk_GetJoinStyle _ANSI_ARGS_((Tcl_Interp *interp, ! 577: char *string, int *joinPtr)); ! 578: extern int Tk_GetJustify _ANSI_ARGS_((Tcl_Interp *interp, ! 579: char *string, Tk_Justify *justifyPtr)); ! 580: extern Tk_Uid Tk_GetOption _ANSI_ARGS_((Tk_Window tkwin, char *name, ! 581: char *className)); ! 582: extern int Tk_GetPixels _ANSI_ARGS_((Tcl_Interp *interp, ! 583: Tk_Window tkwin, char *string, int *intPtr)); ! 584: extern int Tk_GetRelief _ANSI_ARGS_((Tcl_Interp *interp, ! 585: char *name, int *reliefPtr)); ! 586: extern void Tk_GetRootCoords _ANSI_ARGS_ ((Tk_Window tkwin, ! 587: int *xPtr, int *yPtr)); ! 588: extern int Tk_GetScreenMM _ANSI_ARGS_((Tcl_Interp *interp, ! 589: Tk_Window tkwin, char *string, double *doublePtr)); ! 590: extern int Tk_GetSelection _ANSI_ARGS_((Tcl_Interp *interp, ! 591: Tk_Window tkwin, Atom target, Tk_GetSelProc *proc, ! 592: ClientData clientData)); ! 593: extern Tk_Uid Tk_GetUid _ANSI_ARGS_((char *string)); ! 594: extern int Tk_Grab _ANSI_ARGS_((Tcl_Interp *interp, ! 595: Tk_Window tkwin, int grabGlobal)); ! 596: extern void Tk_HandleEvent _ANSI_ARGS_((XEvent *eventPtr)); ! 597: extern Atom Tk_InternAtom _ANSI_ARGS_((Tk_Window tkwin, ! 598: char *name)); ! 599: extern void Tk_MainLoop _ANSI_ARGS_((void)); ! 600: extern void Tk_MakeWindowExist _ANSI_ARGS_((Tk_Window tkwin)); ! 601: extern void Tk_ManageGeometry _ANSI_ARGS_((Tk_Window tkwin, ! 602: Tk_GeometryProc *proc, ClientData clientData)); ! 603: extern void Tk_MapWindow _ANSI_ARGS_((Tk_Window tkwin)); ! 604: extern void Tk_MoveResizeWindow _ANSI_ARGS_((Tk_Window tkwin, ! 605: int x, int y, unsigned int width, ! 606: unsigned int height)); ! 607: extern void Tk_MoveWindow _ANSI_ARGS_((Tk_Window tkwin, int x, ! 608: int y)); ! 609: extern char * Tk_NameOf3DBorder _ANSI_ARGS_((Tk_3DBorder border)); ! 610: extern char * Tk_NameOfAnchor _ANSI_ARGS_((Tk_Anchor anchor)); ! 611: extern char * Tk_NameOfBitmap _ANSI_ARGS_((Pixmap bitmap)); ! 612: extern char * Tk_NameOfPixmap _ANSI_ARGS_((Pixmap bitmap)); ! 613: extern char * Tk_NameOfCapStyle _ANSI_ARGS_((int cap)); ! 614: extern char * Tk_NameOfColor _ANSI_ARGS_((XColor *colorPtr)); ! 615: extern char * Tk_NameOfCursor _ANSI_ARGS_((Cursor cursor)); ! 616: extern char * Tk_NameOfFontStruct _ANSI_ARGS_(( ! 617: XFontStruct *fontStructPtr)); ! 618: extern char * Tk_NameOfJoinStyle _ANSI_ARGS_((int join)); ! 619: extern char * Tk_NameOfJustify _ANSI_ARGS_((Tk_Justify justify)); ! 620: extern char * Tk_NameOfRelief _ANSI_ARGS_((int relief)); ! 621: extern Tk_Window Tk_NameToWindow _ANSI_ARGS_((Tcl_Interp *interp, ! 622: char *pathName, Tk_Window tkwin)); ! 623: extern void Tk_OwnSelection _ANSI_ARGS_((Tk_Window tkwin, ! 624: Tk_LostSelProc *proc, ClientData clientData)); ! 625: extern int Tk_ParseArgv _ANSI_ARGS_((Tcl_Interp *interp, ! 626: Tk_Window tkwin, int *argcPtr, char **argv, ! 627: Tk_ArgvInfo *argTable, int flags)); ! 628: extern void Tk_Preserve _ANSI_ARGS_((ClientData clientData)); ! 629: extern int Tk_RegisterInterp _ANSI_ARGS_((Tcl_Interp *interp, ! 630: char *name, Tk_Window tkwin)); ! 631: extern void Tk_Release _ANSI_ARGS_((ClientData clientData)); ! 632: extern void Tk_ResizeWindow _ANSI_ARGS_((Tk_Window tkwin, ! 633: unsigned int width, unsigned int height)); ! 634: extern Tk_RestrictProc *Tk_RestrictEvents _ANSI_ARGS_((Tk_RestrictProc *proc, ! 635: char *arg, char **prevArgPtr)); ! 636: extern void Tk_SetBackgroundFromBorder _ANSI_ARGS_(( ! 637: Tk_Window tkwin, Tk_3DBorder border)); ! 638: extern void Tk_SetClass _ANSI_ARGS_((Tk_Window tkwin, ! 639: char *className)); ! 640: extern void Tk_SetGrid _ANSI_ARGS_((Tk_Window tkwin, ! 641: int reqWidth, int reqHeight, int gridWidth, ! 642: int gridHeight)); ! 643: extern void Tk_SetInternalBorder _ANSI_ARGS_((Tk_Window tkwin, ! 644: int width)); ! 645: extern void Tk_SetWindowBackground _ANSI_ARGS_((Tk_Window tkwin, ! 646: unsigned long pixel)); ! 647: extern void Tk_SetWindowBackgroundPixmap _ANSI_ARGS_(( ! 648: Tk_Window tkwin, Pixmap pixmap)); ! 649: extern void Tk_SetWindowBorder _ANSI_ARGS_((Tk_Window tkwin, ! 650: unsigned long pixel)); ! 651: extern void Tk_SetWindowBorderWidth _ANSI_ARGS_((Tk_Window tkwin, ! 652: int width)); ! 653: extern void Tk_SetWindowBorderPixmap _ANSI_ARGS_((Tk_Window tkwin, ! 654: Pixmap pixmap)); ! 655: extern void Tk_ShareEvents _ANSI_ARGS_((Tk_Window tkwin, ! 656: Tk_Uid groupId)); ! 657: extern void Tk_SizeOfBitmap _ANSI_ARGS_((Pixmap bitmap, ! 658: unsigned int *widthPtr, unsigned int *heightPtr)); ! 659: extern void Tk_SizeOfPixmap _ANSI_ARGS_((Pixmap bitmap, ! 660: unsigned int *widthPtr, unsigned int *heightPtr)); ! 661: extern void Tk_Sleep _ANSI_ARGS_((int ms)); ! 662: extern void Tk_UndefineCursor _ANSI_ARGS_((Tk_Window window)); ! 663: extern int Tk_UndefinePixmap _ANSI_ARGS_((Tcl_Interp *interp, ! 664: Tk_Uid name, Tk_Window tkwin)); ! 665: extern void Tk_Ungrab _ANSI_ARGS_((Tk_Window tkwin)); ! 666: extern void Tk_UnmapWindow _ANSI_ARGS_((Tk_Window tkwin)); ! 667: extern void Tk_UnshareEvents _ANSI_ARGS_((Tk_Window tkwin, ! 668: Tk_Uid groupId)); ! 669: ! 670: ! 671: extern int tk_NumMainWindows; ! 672: ! 673: /* ! 674: * Added by dhopkins for OLPC Micropolis gtk.Socket integration. ! 675: */ ! 676: extern Window tk_RootWindow; ! 677: ! 678: /* ! 679: * Tcl commands exported by Tk: ! 680: */ ! 681: ! 682: extern int Tk_AfterCmd _ANSI_ARGS_((ClientData clientData, ! 683: Tcl_Interp *interp, int argc, char **argv)); ! 684: extern int Tk_ApplicationCmd _ANSI_ARGS_((ClientData clientData, ! 685: Tcl_Interp *interp, int argc, char **argv)); ! 686: extern int Tk_BindCmd _ANSI_ARGS_((ClientData clientData, ! 687: Tcl_Interp *interp, int argc, char **argv)); ! 688: extern int Tk_ButtonCmd _ANSI_ARGS_((ClientData clientData, ! 689: Tcl_Interp *interp, int argc, char **argv)); ! 690: extern int Tk_CanvasCmd _ANSI_ARGS_((ClientData clientData, ! 691: Tcl_Interp *interp, int argc, char **argv)); ! 692: extern int Tk_DestroyCmd _ANSI_ARGS_((ClientData clientData, ! 693: Tcl_Interp *interp, int argc, char **argv)); ! 694: extern int Tk_EntryCmd _ANSI_ARGS_((ClientData clientData, ! 695: Tcl_Interp *interp, int argc, char **argv)); ! 696: extern int Tk_FrameCmd _ANSI_ARGS_((ClientData clientData, ! 697: Tcl_Interp *interp, int argc, char **argv)); ! 698: extern int Tk_FocusCmd _ANSI_ARGS_((ClientData clientData, ! 699: Tcl_Interp *interp, int argc, char **argv)); ! 700: extern int Tk_GrabCmd _ANSI_ARGS_((ClientData clientData, ! 701: Tcl_Interp *interp, int argc, char **argv)); ! 702: extern int Tk_ListboxCmd _ANSI_ARGS_((ClientData clientData, ! 703: Tcl_Interp *interp, int argc, char **argv)); ! 704: extern int Tk_MenuCmd _ANSI_ARGS_((ClientData clientData, ! 705: Tcl_Interp *interp, int argc, char **argv)); ! 706: extern int Tk_MenubuttonCmd _ANSI_ARGS_((ClientData clientData, ! 707: Tcl_Interp *interp, int argc, char **argv)); ! 708: extern int Tk_MessageCmd _ANSI_ARGS_((ClientData clientData, ! 709: Tcl_Interp *interp, int argc, char **argv)); ! 710: extern int Tk_OptionCmd _ANSI_ARGS_((ClientData clientData, ! 711: Tcl_Interp *interp, int argc, char **argv)); ! 712: extern int Tk_PackCmd _ANSI_ARGS_((ClientData clientData, ! 713: Tcl_Interp *interp, int argc, char **argv)); ! 714: extern int Tk_PlaceCmd _ANSI_ARGS_((ClientData clientData, ! 715: Tcl_Interp *interp, int argc, char **argv)); ! 716: extern int Tk_ScaleCmd _ANSI_ARGS_((ClientData clientData, ! 717: Tcl_Interp *interp, int argc, char **argv)); ! 718: extern int Tk_ScrollbarCmd _ANSI_ARGS_((ClientData clientData, ! 719: Tcl_Interp *interp, int argc, char **argv)); ! 720: extern int Tk_SelectionCmd _ANSI_ARGS_((ClientData clientData, ! 721: Tcl_Interp *interp, int argc, char **argv)); ! 722: extern int Tk_SendCmd _ANSI_ARGS_((ClientData clientData, ! 723: Tcl_Interp *interp, int argc, char **argv)); ! 724: extern int Tk_TextCmd _ANSI_ARGS_((ClientData clientData, ! 725: Tcl_Interp *interp, int argc, char **argv)); ! 726: extern int Tk_TkwaitCmd _ANSI_ARGS_((ClientData clientData, ! 727: Tcl_Interp *interp, int argc, char **argv)); ! 728: extern int Tk_UpdateCmd _ANSI_ARGS_((ClientData clientData, ! 729: Tcl_Interp *interp, int argc, char **argv)); ! 730: extern int Tk_WinfoCmd _ANSI_ARGS_((ClientData clientData, ! 731: Tcl_Interp *interp, int argc, char **argv)); ! 732: extern int Tk_WmCmd _ANSI_ARGS_((ClientData clientData, ! 733: Tcl_Interp *interp, int argc, char **argv)); ! 734: extern int Tcp_AcceptCmd _ANSI_ARGS_((ClientData clientData, ! 735: Tcl_Interp *interp, int argc, char **argv)); ! 736: extern int Tcp_ConnectCmd _ANSI_ARGS_((ClientData clientData, ! 737: Tcl_Interp *interp, int argc, char **argv)); ! 738: extern int Tcp_ShutdownCmd _ANSI_ARGS_((ClientData clientData, ! 739: Tcl_Interp *interp, int argc, char **argv)); ! 740: extern int Tcp_FileHandlerCmd _ANSI_ARGS_((ClientData clientData, ! 741: Tcl_Interp *interp, int argc, char **argv)); ! 742: ! 743: #endif /* _TK */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.