Hex Artifact Content

Artifact b6dbee20162325623e533404e42bb18f8a525523:


0000: 2f 2a 0a 20 2a 20 74 6b 2e 68 20 28 69 6e 73 74  /*. * tk.h (inst
0010: 61 6c 6c 65 64 20 61 73 20 63 74 6b 2e 68 29 20  alled as ctk.h) 
0020: 28 43 54 6b 29 20 2d 2d 0a 20 2a 0a 20 2a 09 44  (CTk) --. *. *.D
0030: 65 63 6c 61 72 61 74 69 6f 6e 73 20 66 6f 72 20  eclarations for 
0040: 54 6b 2d 72 65 6c 61 74 65 64 20 74 68 69 6e 67  Tk-related thing
0050: 73 20 74 68 61 74 20 61 72 65 20 76 69 73 69 62  s that are visib
0060: 6c 65 0a 20 2a 09 6f 75 74 73 69 64 65 20 6f 66  le. *.outside of
0070: 20 74 68 65 20 54 6b 20 6d 6f 64 75 6c 65 20 69   the Tk module i
0080: 74 73 65 6c 66 2e 0a 20 2a 0a 20 2a 20 43 6f 70  tself.. *. * Cop
0090: 79 72 69 67 68 74 20 28 63 29 20 31 39 38 39 2d  yright (c) 1989-
00a0: 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73  1994 The Regents
00b0: 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69   of the Universi
00c0: 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61  ty of California
00d0: 2e 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28  .. * Copyright (
00e0: 63 29 20 31 39 39 34 20 54 68 65 20 41 75 73 74  c) 1994 The Aust
00f0: 72 61 6c 69 61 6e 20 4e 61 74 69 6f 6e 61 6c 20  ralian National 
0100: 55 6e 69 76 65 72 73 69 74 79 2e 0a 20 2a 20 43  University.. * C
0110: 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39  opyright (c) 199
0120: 34 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65  4 Sun Microsyste
0130: 6d 73 2c 20 49 6e 63 2e 0a 20 2a 20 43 6f 70 79  ms, Inc.. * Copy
0140: 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31  right (c) 1994-1
0150: 39 39 35 20 43 6c 65 76 65 6c 61 6e 64 20 43 6c  995 Cleveland Cl
0160: 69 6e 69 63 20 46 6f 75 6e 64 61 74 69 6f 6e 0a  inic Foundation.
0170: 20 2a 0a 20 2a 20 53 65 65 20 74 68 65 20 66 69   *. * See the fi
0180: 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d  le "license.term
0190: 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69  s" for informati
01a0: 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20  on on usage and 
01b0: 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0a 20  redistribution. 
01c0: 2a 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20  * of this file, 
01d0: 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41  and for a DISCLA
01e0: 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52  IMER OF ALL WARR
01f0: 41 4e 54 49 45 53 2e 0a 20 2a 0a 20 2a 20 40 28  ANTIES.. *. * @(
0200: 23 29 20 24 48 65 61 64 65 72 3a 20 2f 75 73 72  #) $Header: /usr
0210: 73 2f 61 6e 64 72 65 77 6d 2f 77 6f 72 6b 2f 52  s/andrewm/work/R
0220: 43 53 2f 63 74 6b 2e 73 68 61 72 2c 76 20 31 2e  CS/ctk.shar,v 1.
0230: 35 30 20 31 39 39 36 2f 30 31 2f 31 35 20 31 34  50 1996/01/15 14
0240: 3a 34 37 3a 31 36 20 61 6e 64 72 65 77 6d 20 45  :47:16 andrewm E
0250: 78 70 20 61 6e 64 72 65 77 6d 20 24 0a 20 2a 2f  xp andrewm $. */
0260: 0a 0a 23 69 66 6e 64 65 66 20 5f 54 4b 0a 23 64  ..#ifndef _TK.#d
0270: 65 66 69 6e 65 20 5f 54 4b 0a 0a 23 64 65 66 69  efine _TK..#defi
0280: 6e 65 20 54 4b 5f 56 45 52 53 49 4f 4e 20 22 38  ne TK_VERSION "8
0290: 2e 30 22 0a 23 64 65 66 69 6e 65 20 54 4b 5f 4d  .0".#define TK_M
02a0: 41 4a 4f 52 5f 56 45 52 53 49 4f 4e 20 38 0a 23  AJOR_VERSION 8.#
02b0: 64 65 66 69 6e 65 20 54 4b 5f 4d 49 4e 4f 52 5f  define TK_MINOR_
02c0: 56 45 52 53 49 4f 4e 20 30 0a 23 64 65 66 69 6e  VERSION 0.#defin
02d0: 65 20 54 4b 5f 50 4f 52 54 5f 43 55 52 53 45 53  e TK_PORT_CURSES
02e0: 0a 0a 23 69 66 6e 64 65 66 20 5f 54 43 4c 0a 23  ..#ifndef _TCL.#
02f0: 69 6e 63 6c 75 64 65 20 3c 74 63 6c 2e 68 3e 0a  include <tcl.h>.
0300: 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 5f 5f  #endif.#ifdef __
0310: 53 54 44 43 5f 5f 0a 23 69 6e 63 6c 75 64 65 20  STDC__.#include 
0320: 3c 73 74 64 64 65 66 2e 68 3e 0a 23 65 6e 64 69  <stddef.h>.#endi
0330: 66 0a 0a 2f 2a 0a 20 2a 20 44 75 6d 6d 79 20 74  f../*. * Dummy t
0340: 79 70 65 73 20 74 68 61 74 20 61 72 65 20 75 73  ypes that are us
0350: 65 64 20 62 79 20 63 6c 69 65 6e 74 73 3a 0a 20  ed by clients:. 
0360: 2a 2f 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75  */..typedef stru
0370: 63 74 20 54 6b 5f 42 69 6e 64 69 6e 67 54 61 62  ct Tk_BindingTab
0380: 6c 65 5f 20 2a 54 6b 5f 42 69 6e 64 69 6e 67 54  le_ *Tk_BindingT
0390: 61 62 6c 65 3b 0a 74 79 70 65 64 65 66 20 73 74  able;.typedef st
03a0: 72 75 63 74 20 54 6b 5f 54 69 6d 65 72 54 6f 6b  ruct Tk_TimerTok
03b0: 65 6e 5f 20 2a 54 6b 5f 54 69 6d 65 72 54 6f 6b  en_ *Tk_TimerTok
03c0: 65 6e 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75  en;.typedef stru
03d0: 63 74 20 54 6b 57 69 6e 64 6f 77 20 2a 54 6b 5f  ct TkWindow *Tk_
03e0: 57 69 6e 64 6f 77 3b 0a 0a 2f 2a 0a 20 2a 20 41  Window;../*. * A
03f0: 64 64 69 74 69 6f 6e 61 6c 20 74 79 70 65 73 20  dditional types 
0400: 65 78 70 6f 72 74 65 64 20 74 6f 20 63 6c 69 65  exported to clie
0410: 6e 74 73 2e 0a 20 2a 2f 0a 0a 74 79 70 65 64 65  nts.. */..typede
0420: 66 20 63 68 61 72 20 2a 54 6b 5f 55 69 64 3b 0a  f char *Tk_Uid;.
0430: 0a 2f 2a 0a 20 2a 20 44 65 66 69 6e 69 74 69 6f  ./*. * Definitio
0440: 6e 73 20 74 68 61 74 20 73 68 6f 75 6c 64 6e 27  ns that shouldn'
0450: 74 20 62 65 20 75 73 65 64 20 62 79 20 63 6c 69  t be used by cli
0460: 65 6e 74 73 2c 20 62 75 74 20 69 74 73 20 73 69  ents, but its si
0470: 6d 70 6c 65 72 0a 20 2a 20 74 6f 20 70 75 74 20  mpler. * to put 
0480: 74 68 65 6d 20 68 65 72 65 2e 0a 20 2a 2f 0a 74  them here.. */.t
0490: 79 70 65 64 65 66 20 73 74 72 75 63 74 20 43 74  ypedef struct Ct
04a0: 6b 52 65 67 69 6f 6e 20 43 74 6b 52 65 67 69 6f  kRegion CtkRegio
04b0: 6e 3b 0a 74 79 70 65 64 65 66 20 73 74 72 75 63  n;.typedef struc
04c0: 74 20 54 6b 4d 61 69 6e 49 6e 66 6f 20 54 6b 4d  t TkMainInfo TkM
04d0: 61 69 6e 49 6e 66 6f 3b 0a 74 79 70 65 64 65 66  ainInfo;.typedef
04e0: 20 73 74 72 75 63 74 20 54 6b 44 69 73 70 6c 61   struct TkDispla
04f0: 79 20 54 6b 44 69 73 70 6c 61 79 3b 0a 74 79 70  y TkDisplay;.typ
0500: 65 64 65 66 20 73 74 72 75 63 74 20 54 6b 45 76  edef struct TkEv
0510: 65 6e 74 48 61 6e 64 6c 65 72 20 54 6b 45 76 65  entHandler TkEve
0520: 6e 74 48 61 6e 64 6c 65 72 3b 0a 0a 2f 2a 0a 20  ntHandler;../*. 
0530: 2a 20 43 54 6b 20 73 70 65 63 69 66 69 63 20 64  * CTk specific d
0540: 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 20 2a 2f 0a  efinitions.. */.
0550: 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20  .typedef struct 
0560: 7b 0a 20 20 20 20 69 6e 74 20 6c 65 66 74 3b 0a  {.    int left;.
0570: 20 20 20 20 69 6e 74 20 74 6f 70 3b 0a 20 20 20      int top;.   
0580: 20 69 6e 74 20 72 69 67 68 74 3b 0a 20 20 20 20   int right;.    
0590: 69 6e 74 20 62 6f 74 74 6f 6d 3b 0a 7d 20 43 74  int bottom;.} Ct
05a0: 6b 5f 52 65 63 74 3b 0a 0a 74 79 70 65 64 65 66  k_Rect;..typedef
05b0: 20 65 6e 75 6d 20 7b 0a 20 20 20 20 43 54 4b 5f   enum {.    CTK_
05c0: 49 4e 56 49 53 49 42 4c 45 5f 53 54 59 4c 45 2c  INVISIBLE_STYLE,
05d0: 20 43 54 4b 5f 50 4c 41 49 4e 5f 53 54 59 4c 45   CTK_PLAIN_STYLE
05e0: 2c 20 43 54 4b 5f 55 4e 44 45 52 4c 49 4e 45 5f  , CTK_UNDERLINE_
05f0: 53 54 59 4c 45 2c 0a 20 20 20 20 43 54 4b 5f 52  STYLE,.    CTK_R
0600: 45 56 45 52 53 45 5f 53 54 59 4c 45 2c 20 43 54  EVERSE_STYLE, CT
0610: 4b 5f 44 49 4d 5f 53 54 59 4c 45 2c 20 43 54 4b  K_DIM_STYLE, CTK
0620: 5f 42 4f 4c 44 5f 53 54 59 4c 45 2c 0a 20 20 20  _BOLD_STYLE,.   
0630: 20 43 54 4b 5f 44 49 53 41 42 4c 45 44 5f 53 54   CTK_DISABLED_ST
0640: 59 4c 45 2c 20 43 54 4b 5f 42 55 54 54 4f 4e 5f  YLE, CTK_BUTTON_
0650: 53 54 59 4c 45 2c 20 43 54 4b 5f 43 55 52 53 4f  STYLE, CTK_CURSO
0660: 52 5f 53 54 59 4c 45 2c 0a 20 20 20 20 43 54 4b  R_STYLE,.    CTK
0670: 5f 53 45 4c 45 43 54 45 44 5f 53 54 59 4c 45 0a  _SELECTED_STYLE.
0680: 7d 20 43 74 6b 5f 53 74 79 6c 65 3b 0a 0a 74 79  } Ctk_Style;..ty
0690: 70 65 64 65 66 20 65 6e 75 6d 20 7b 0a 20 20 20  pedef enum {.   
06a0: 20 43 54 4b 5f 4d 41 50 5f 45 56 45 4e 54 2c 20   CTK_MAP_EVENT, 
06b0: 43 54 4b 5f 55 4e 4d 41 50 5f 45 56 45 4e 54 2c  CTK_UNMAP_EVENT,
06c0: 20 43 54 4b 5f 45 58 50 4f 53 45 5f 45 56 45 4e   CTK_EXPOSE_EVEN
06d0: 54 2c 0a 20 20 20 20 43 54 4b 5f 46 4f 43 55 53  T,.    CTK_FOCUS
06e0: 5f 45 56 45 4e 54 2c 20 43 54 4b 5f 55 4e 46 4f  _EVENT, CTK_UNFO
06f0: 43 55 53 5f 45 56 45 4e 54 2c 20 43 54 4b 5f 4b  CUS_EVENT, CTK_K
0700: 45 59 5f 45 56 45 4e 54 2c 0a 20 20 20 20 43 54  EY_EVENT,.    CT
0710: 4b 5f 44 45 53 54 52 4f 59 5f 45 56 45 4e 54 2c  K_DESTROY_EVENT,
0720: 20 43 54 4b 5f 55 4e 53 55 50 50 4f 52 54 45 44   CTK_UNSUPPORTED
0730: 5f 45 56 45 4e 54 0a 7d 20 43 74 6b 5f 45 76 65  _EVENT.} Ctk_Eve
0740: 6e 74 54 79 70 65 3b 0a 0a 2f 2a 0a 20 2a 20 45  ntType;../*. * E
0750: 76 65 6e 74 20 67 72 6f 75 70 69 6e 67 73 2e 0a  vent groupings..
0760: 20 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 43 54 4b   */..#define CTK
0770: 5f 4d 41 50 5f 45 56 45 4e 54 5f 4d 41 53 4b 09  _MAP_EVENT_MASK.
0780: 09 28 31 3c 3c 30 29 0a 23 64 65 66 69 6e 65 20  .(1<<0).#define 
0790: 43 54 4b 5f 45 58 50 4f 53 45 5f 45 56 45 4e 54  CTK_EXPOSE_EVENT
07a0: 5f 4d 41 53 4b 09 09 28 31 3c 3c 31 29 0a 23 64  _MASK..(1<<1).#d
07b0: 65 66 69 6e 65 20 43 54 4b 5f 46 4f 43 55 53 5f  efine CTK_FOCUS_
07c0: 45 56 45 4e 54 5f 4d 41 53 4b 09 09 28 31 3c 3c  EVENT_MASK..(1<<
07d0: 32 29 0a 23 64 65 66 69 6e 65 20 43 54 4b 5f 4b  2).#define CTK_K
07e0: 45 59 5f 45 56 45 4e 54 5f 4d 41 53 4b 09 09 28  EY_EVENT_MASK..(
07f0: 31 3c 3c 33 29 0a 23 64 65 66 69 6e 65 20 43 54  1<<3).#define CT
0800: 4b 5f 44 45 53 54 52 4f 59 5f 45 56 45 4e 54 5f  K_DESTROY_EVENT_
0810: 4d 41 53 4b 09 09 28 31 3c 3c 34 29 0a 23 64 65  MASK..(1<<4).#de
0820: 66 69 6e 65 20 43 54 4b 5f 55 4e 53 55 50 50 4f  fine CTK_UNSUPPO
0830: 52 54 45 44 5f 45 56 45 4e 54 5f 4d 41 53 4b 09  RTED_EVENT_MASK.
0840: 28 31 3c 3c 35 29 0a 0a 2f 2a 0a 20 2a 20 56 61  (1<<5)../*. * Va
0850: 72 69 6f 75 73 20 58 31 31 20 64 65 66 69 6e 69  rious X11 defini
0860: 74 69 6f 6e 73 20 74 6f 20 65 61 73 65 20 70 6f  tions to ease po
0870: 72 74 69 6e 67 20 6f 66 20 54 6b 20 63 6f 64 65  rting of Tk code
0880: 2e 0a 20 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 4d  .. */..#define M
0890: 61 70 4e 6f 74 69 66 79 09 43 54 4b 5f 4d 41 50  apNotify.CTK_MAP
08a0: 5f 45 56 45 4e 54 0a 23 64 65 66 69 6e 65 20 43  _EVENT.#define C
08b0: 6f 6e 66 69 67 75 72 65 4e 6f 74 69 66 79 09 43  onfigureNotify.C
08c0: 54 4b 5f 4d 41 50 5f 45 56 45 4e 54 0a 23 64 65  TK_MAP_EVENT.#de
08d0: 66 69 6e 65 20 55 6e 6d 61 70 4e 6f 74 69 66 79  fine UnmapNotify
08e0: 09 43 54 4b 5f 55 4e 4d 41 50 5f 45 56 45 4e 54  .CTK_UNMAP_EVENT
08f0: 0a 23 64 65 66 69 6e 65 20 45 78 70 6f 73 65 09  .#define Expose.
0900: 09 43 54 4b 5f 45 58 50 4f 53 45 5f 45 56 45 4e  .CTK_EXPOSE_EVEN
0910: 54 0a 23 64 65 66 69 6e 65 20 46 6f 63 75 73 49  T.#define FocusI
0920: 6e 09 09 43 54 4b 5f 46 4f 43 55 53 5f 45 56 45  n..CTK_FOCUS_EVE
0930: 4e 54 0a 23 64 65 66 69 6e 65 20 46 6f 63 75 73  NT.#define Focus
0940: 4f 75 74 09 43 54 4b 5f 55 4e 46 4f 43 55 53 5f  Out.CTK_UNFOCUS_
0950: 45 56 45 4e 54 0a 23 64 65 66 69 6e 65 20 4b 65  EVENT.#define Ke
0960: 79 50 72 65 73 73 09 43 54 4b 5f 4b 45 59 5f 45  yPress.CTK_KEY_E
0970: 56 45 4e 54 0a 23 64 65 66 69 6e 65 20 44 65 73  VENT.#define Des
0980: 74 72 6f 79 4e 6f 74 69 66 79 09 43 54 4b 5f 44  troyNotify.CTK_D
0990: 45 53 54 52 4f 59 5f 45 56 45 4e 54 0a 0a 23 64  ESTROY_EVENT..#d
09a0: 65 66 69 6e 65 20 53 74 72 75 63 74 75 72 65 4e  efine StructureN
09b0: 6f 74 69 66 79 4d 61 73 6b 09 28 43 54 4b 5f 4d  otifyMask.(CTK_M
09c0: 41 50 5f 45 56 45 4e 54 5f 4d 41 53 4b 7c 43 54  AP_EVENT_MASK|CT
09d0: 4b 5f 44 45 53 54 52 4f 59 5f 45 56 45 4e 54 5f  K_DESTROY_EVENT_
09e0: 4d 41 53 4b 29 0a 0a 23 64 65 66 69 6e 65 20 53  MASK)..#define S
09f0: 68 69 66 74 4d 61 73 6b 09 09 28 31 3c 3c 30 29  hiftMask..(1<<0)
0a00: 0a 23 64 65 66 69 6e 65 20 4c 6f 63 6b 4d 61 73  .#define LockMas
0a10: 6b 09 09 28 31 3c 3c 31 29 0a 23 64 65 66 69 6e  k..(1<<1).#defin
0a20: 65 20 43 6f 6e 74 72 6f 6c 4d 61 73 6b 09 09 28  e ControlMask..(
0a30: 31 3c 3c 32 29 0a 23 64 65 66 69 6e 65 20 4d 6f  1<<2).#define Mo
0a40: 64 31 4d 61 73 6b 09 09 28 31 3c 3c 33 29 0a 23  d1Mask..(1<<3).#
0a50: 64 65 66 69 6e 65 20 4d 6f 64 32 4d 61 73 6b 09  define Mod2Mask.
0a60: 09 28 31 3c 3c 34 29 0a 23 64 65 66 69 6e 65 20  .(1<<4).#define 
0a70: 4d 6f 64 33 4d 61 73 6b 09 09 28 31 3c 3c 35 29  Mod3Mask..(1<<5)
0a80: 0a 23 64 65 66 69 6e 65 20 4d 6f 64 34 4d 61 73  .#define Mod4Mas
0a90: 6b 09 09 28 31 3c 3c 36 29 0a 23 64 65 66 69 6e  k..(1<<6).#defin
0aa0: 65 20 4d 6f 64 35 4d 61 73 6b 09 09 28 31 3c 3c  e Mod5Mask..(1<<
0ab0: 37 29 0a 23 64 65 66 69 6e 65 20 42 75 74 74 6f  7).#define Butto
0ac0: 6e 31 4d 61 73 6b 09 09 28 31 3c 3c 38 29 0a 23  n1Mask..(1<<8).#
0ad0: 64 65 66 69 6e 65 20 42 75 74 74 6f 6e 32 4d 61  define Button2Ma
0ae0: 73 6b 09 09 28 31 3c 3c 39 29 0a 23 64 65 66 69  sk..(1<<9).#defi
0af0: 6e 65 20 42 75 74 74 6f 6e 33 4d 61 73 6b 09 09  ne Button3Mask..
0b00: 28 31 3c 3c 31 30 29 0a 23 64 65 66 69 6e 65 20  (1<<10).#define 
0b10: 42 75 74 74 6f 6e 34 4d 61 73 6b 09 09 28 31 3c  Button4Mask..(1<
0b20: 3c 31 31 29 0a 23 64 65 66 69 6e 65 20 42 75 74  <11).#define But
0b30: 74 6f 6e 35 4d 61 73 6b 09 09 28 31 3c 3c 31 32  ton5Mask..(1<<12
0b40: 29 0a 23 64 65 66 69 6e 65 20 41 6e 79 4d 6f 64  ).#define AnyMod
0b50: 69 66 69 65 72 09 09 28 31 3c 3c 31 35 29 0a 0a  ifier..(1<<15)..
0b60: 23 64 65 66 69 6e 65 20 41 62 6f 76 65 20 30 0a  #define Above 0.
0b70: 23 64 65 66 69 6e 65 20 42 65 6c 6f 77 20 31 0a  #define Below 1.
0b80: 0a 74 79 70 65 64 65 66 20 75 6e 73 69 67 6e 65  .typedef unsigne
0b90: 64 20 6c 6f 6e 67 20 54 69 6d 65 3b 0a 74 79 70  d long Time;.typ
0ba0: 65 64 65 66 20 75 6e 73 69 67 6e 65 64 20 6c 6f  edef unsigned lo
0bb0: 6e 67 20 4b 65 79 53 79 6d 3b 0a 74 79 70 65 64  ng KeySym;.typed
0bc0: 65 66 20 73 74 72 75 63 74 20 7b 0a 20 20 20 20  ef struct {.    
0bd0: 73 68 6f 72 74 20 78 2c 20 79 3b 0a 7d 20 58 50  short x, y;.} XP
0be0: 6f 69 6e 74 3b 0a 0a 2f 2a 0a 20 2a 20 4f 6e 65  oint;../*. * One
0bf0: 20 6f 66 20 74 68 65 73 65 20 73 74 72 75 63 74   of these struct
0c00: 75 72 65 73 20 69 73 20 63 72 65 61 74 65 64 20  ures is created 
0c10: 66 6f 72 20 65 76 65 72 79 20 65 76 65 6e 74 20  for every event 
0c20: 74 68 61 74 20 6f 63 63 75 72 73 2e 0a 20 2a 20  that occurs.. * 
0c30: 54 68 65 79 20 61 72 65 20 73 74 6f 72 65 64 20  They are stored 
0c40: 69 6e 20 61 20 71 75 65 75 65 20 66 6f 72 20 74  in a queue for t
0c50: 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 64  he appropriate d
0c60: 69 73 70 6c 61 79 2e 0a 20 2a 2f 0a 0a 74 79 70  isplay.. */..typ
0c70: 65 64 65 66 20 73 74 72 75 63 74 20 43 74 6b 5f  edef struct Ctk_
0c80: 45 76 65 6e 74 20 7b 0a 20 20 20 20 43 74 6b 5f  Event {.    Ctk_
0c90: 45 76 65 6e 74 54 79 70 65 20 74 79 70 65 3b 09  EventType type;.
0ca0: 09 09 2f 2a 20 54 79 70 65 20 6f 66 20 65 76 65  ../* Type of eve
0cb0: 6e 74 2e 20 2a 2f 0a 20 20 20 20 54 6b 5f 57 69  nt. */.    Tk_Wi
0cc0: 6e 64 6f 77 20 77 69 6e 64 6f 77 3b 09 09 09 2f  ndow window;.../
0cd0: 2a 20 57 69 6e 64 6f 77 20 77 68 65 72 65 20 65  * Window where e
0ce0: 76 65 6e 74 20 6f 63 63 75 72 65 64 2e 20 2a 2f  vent occured. */
0cf0: 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f  .    unsigned lo
0d00: 6e 67 20 73 65 72 69 61 6c 3b 09 09 2f 2a 20 41  ng serial;../* A
0d10: 73 73 69 67 6e 65 64 20 62 79 20 54 6b 5f 48 61  ssigned by Tk_Ha
0d20: 6e 64 6c 65 45 76 65 6e 74 28 29 20 2a 2f 0a 20  ndleEvent() */. 
0d30: 20 20 20 73 74 72 75 63 74 20 43 74 6b 5f 45 76     struct Ctk_Ev
0d40: 65 6e 74 20 2a 6e 65 78 74 50 74 72 3b 09 09 2f  ent *nextPtr;../
0d50: 2a 20 4e 65 78 74 20 65 76 65 6e 74 20 69 6e 20  * Next event in 
0d60: 71 75 65 75 65 2e 20 2a 2f 0a 0a 20 20 20 20 75  queue. */..    u
0d70: 6e 69 6f 6e 20 7b 09 09 09 09 2f 2a 20 44 65 74  nion {..../* Det
0d80: 61 69 6c 20 69 6e 66 6f 20 61 63 63 6f 72 64 69  ail info accordi
0d90: 6e 67 20 74 6f 20 74 79 70 65 3a 20 2a 2f 0a 09  ng to type: */..
0da0: 73 74 72 75 63 74 20 7b 0a 09 20 20 20 20 4b 65  struct {..    Ke
0db0: 79 53 79 6d 20 73 79 6d 3b 09 09 09 2f 2a 20 58  ySym sym;.../* X
0dc0: 2d 73 74 79 6c 65 20 6b 65 79 20 73 79 6d 62 6f  -style key symbo
0dd0: 6c 2e 20 2a 2f 0a 09 20 20 20 20 75 6e 73 69 67  l. */..    unsig
0de0: 6e 65 64 20 69 6e 74 20 73 74 61 74 65 3b 09 09  ned int state;..
0df0: 2f 2a 20 4d 6f 64 69 66 69 65 72 20 6b 65 79 20  /* Modifier key 
0e00: 6d 61 73 6b 2e 20 2a 2f 0a 09 20 20 20 20 54 69  mask. */..    Ti
0e10: 6d 65 20 74 69 6d 65 3b 09 09 09 2f 2a 20 57 68  me time;.../* Wh
0e20: 65 6e 20 6b 65 79 20 77 61 73 20 70 72 65 73 73  en key was press
0e30: 65 64 2e 20 2a 2f 0a 09 7d 20 6b 65 79 3b 0a 09  ed. */..} key;..
0e40: 43 74 6b 5f 52 65 63 74 20 65 78 70 6f 73 65 3b  Ctk_Rect expose;
0e50: 09 09 2f 2a 20 52 65 63 74 61 6e 67 6c 65 20 74  ../* Rectangle t
0e60: 6f 20 72 65 64 72 61 77 2e 20 2a 2f 0a 20 20 20  o redraw. */.   
0e70: 20 7d 20 75 3b 0a 7d 20 43 74 6b 5f 45 76 65 6e   } u;.} Ctk_Even
0e80: 74 2c 20 58 45 76 65 6e 74 3b 0a 0a 2f 2a 0a 20  t, XEvent;../*. 
0e90: 2a 20 43 54 6b 20 73 70 65 63 69 61 6c 20 72 6f  * CTk special ro
0ea0: 75 74 69 6e 65 73 2e 0a 20 2a 2f 0a 0a 45 58 54  utines.. */..EXT
0eb0: 45 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 20 20 20  ERN Tk_Window   
0ec0: 20 43 74 6b 5f 50 61 72 65 6e 74 42 79 4e 61 6d   Ctk_ParentByNam
0ed0: 65 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  e _ANSI_ARGS_((T
0ee0: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72  cl_Interp *inter
0ef0: 70 2c 0a 09 09 09 63 68 61 72 20 2a 70 61 74 68  p,....char *path
0f00: 4e 61 6d 65 2c 20 54 6b 5f 57 69 6e 64 6f 77 29  Name, Tk_Window)
0f10: 29 3b 0a 45 58 54 45 52 4e 20 69 6e 74 09 20 20  );.EXTERN int.  
0f20: 20 20 43 74 6b 5f 55 6e 73 75 70 70 6f 72 74 65    Ctk_Unsupporte
0f30: 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  d _ANSI_ARGS_((T
0f40: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72  cl_Interp *inter
0f50: 70 2c 0a 09 09 09 63 68 61 72 20 2a 66 65 61 74  p,....char *feat
0f60: 75 72 65 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f  ure));.EXTERN vo
0f70: 69 64 09 20 20 20 20 43 74 6b 5f 4d 61 70 20 5f  id.    Ctk_Map _
0f80: 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57  ANSI_ARGS_((Tk_W
0f90: 69 6e 64 6f 77 20 74 6b 77 69 6e 2c 0a 09 09 09  indow tkwin,....
0fa0: 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20  int x1, int y1, 
0fb0: 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 29 29  int x2, int y2))
0fc0: 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 20 20  ;.EXTERN void.  
0fd0: 20 20 43 74 6b 5f 55 6e 6d 61 70 20 5f 41 4e 53    Ctk_Unmap _ANS
0fe0: 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e 64  I_ARGS_((Tk_Wind
0ff0: 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 0a 2f 2a 0a  ow tkwin));../*.
1000: 20 2a 20 57 69 6e 64 6f 77 20 69 6e 66 6f 0a 20   * Window info. 
1010: 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 43 74 6b 5f  */..#define Ctk_
1020: 4c 65 66 74 28 74 6b 77 69 6e 29 09 09 28 28 74  Left(tkwin)..((t
1030: 6b 77 69 6e 29 2d 3e 72 65 63 74 2e 6c 65 66 74  kwin)->rect.left
1040: 29 0a 23 64 65 66 69 6e 65 20 43 74 6b 5f 54 6f  ).#define Ctk_To
1050: 70 28 74 6b 77 69 6e 29 09 09 28 28 74 6b 77 69  p(tkwin)..((tkwi
1060: 6e 29 2d 3e 72 65 63 74 2e 74 6f 70 29 0a 23 64  n)->rect.top).#d
1070: 65 66 69 6e 65 20 43 74 6b 5f 52 69 67 68 74 28  efine Ctk_Right(
1080: 74 6b 77 69 6e 29 09 28 28 74 6b 77 69 6e 29 2d  tkwin).((tkwin)-
1090: 3e 72 65 63 74 2e 72 69 67 68 74 29 0a 23 64 65  >rect.right).#de
10a0: 66 69 6e 65 20 43 74 6b 5f 42 6f 74 74 6f 6d 28  fine Ctk_Bottom(
10b0: 74 6b 77 69 6e 29 09 28 28 74 6b 77 69 6e 29 2d  tkwin).((tkwin)-
10c0: 3e 72 65 63 74 2e 62 6f 74 74 6f 6d 29 0a 23 64  >rect.bottom).#d
10d0: 65 66 69 6e 65 20 43 74 6b 5f 41 62 73 4c 65 66  efine Ctk_AbsLef
10e0: 74 28 74 6b 77 69 6e 29 09 28 28 74 6b 77 69 6e  t(tkwin).((tkwin
10f0: 29 2d 3e 61 62 73 4c 65 66 74 29 0a 23 64 65 66  )->absLeft).#def
1100: 69 6e 65 20 43 74 6b 5f 41 62 73 54 6f 70 28 74  ine Ctk_AbsTop(t
1110: 6b 77 69 6e 29 09 28 28 74 6b 77 69 6e 29 2d 3e  kwin).((tkwin)->
1120: 61 62 73 54 6f 70 29 0a 0a 0a 45 58 54 45 52 4e  absTop)...EXTERN
1130: 20 54 6b 5f 57 69 6e 64 6f 77 09 43 74 6b 5f 50   Tk_Window.Ctk_P
1140: 72 69 6f 72 53 69 62 6c 69 6e 67 20 5f 41 4e 53  riorSibling _ANS
1150: 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e 64  I_ARGS_((Tk_Wind
1160: 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 45 58 54 45  ow tkwin));.EXTE
1170: 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 09 43 74 6b  RN Tk_Window.Ctk
1180: 5f 4e 65 78 74 53 69 62 6c 69 6e 67 20 5f 41 4e  _NextSibling _AN
1190: 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e  SI_ARGS_((Tk_Win
11a0: 64 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 45 58 54  dow tkwin));.EXT
11b0: 45 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 09 43 74  ERN Tk_Window.Ct
11c0: 6b 5f 42 6f 74 74 6f 6d 43 68 69 6c 64 20 5f 41  k_BottomChild _A
11d0: 4e 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69  NSI_ARGS_((Tk_Wi
11e0: 6e 64 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 45 58  ndow tkwin));.EX
11f0: 54 45 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 09 43  TERN Tk_Window.C
1200: 74 6b 5f 54 6f 70 43 68 69 6c 64 20 5f 41 4e 53  tk_TopChild _ANS
1210: 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e 64  I_ARGS_((Tk_Wind
1220: 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 45 58 54 45  ow tkwin));.EXTE
1230: 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 09 43 74 6b  RN Tk_Window.Ctk
1240: 5f 54 6f 70 4c 65 76 65 6c 20 5f 41 4e 53 49 5f  _TopLevel _ANSI_
1250: 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e 64 6f 77  ARGS_((Tk_Window
1260: 20 74 6b 77 69 6e 29 29 3b 0a 0a 0a 2f 2a 0a 20   tkwin));.../*. 
1270: 2a 20 20 44 69 73 70 6c 61 79 20 44 65 76 69 63  *  Display Devic
1280: 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 20  e definitions.. 
1290: 2a 0a 20 2a 20 20 4d 65 61 6e 74 20 74 6f 20 6d  *. *  Meant to m
12a0: 61 73 6b 20 63 75 72 73 65 73 20 6c 65 76 65 6c  ask curses level
12b0: 20 49 2f 4f 20 73 6f 20 69 74 20 63 6f 75 6c 64   I/O so it could
12c0: 20 62 65 20 73 77 61 70 70 65 64 20 77 69 74 68   be swapped with
12d0: 0a 20 2a 20 20 61 6e 6f 74 68 65 72 20 28 44 4f  . *  another (DO
12e0: 53 20 63 68 61 72 61 63 74 65 72 20 49 2f 4f 20  S character I/O 
12f0: 66 6f 72 20 65 78 61 6d 70 6c 65 29 2e 0a 20 2a  for example).. *
1300: 2f 0a 0a 45 58 54 45 52 4e 20 76 6f 69 64 20 20  /..EXTERN void  
1310: 20 20 20 20 20 20 20 43 74 6b 5f 44 69 73 70 6c         Ctk_Displ
1320: 61 79 46 6c 75 73 68 20 5f 41 4e 53 49 5f 41 52  ayFlush _ANSI_AR
1330: 47 53 5f 28 28 54 6b 44 69 73 70 6c 61 79 20 2a  GS_((TkDisplay *
1340: 64 69 73 70 50 74 72 29 29 3b 0a 45 58 54 45 52  dispPtr));.EXTER
1350: 4e 20 69 6e 74 20 20 20 20 20 20 20 20 20 20 43  N int          C
1360: 74 6b 5f 44 69 73 70 6c 61 79 57 69 64 74 68 20  tk_DisplayWidth 
1370: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 6b 44  _ANSI_ARGS_((TkD
1380: 69 73 70 6c 61 79 20 2a 64 69 73 70 50 74 72 29  isplay *dispPtr)
1390: 29 3b 0a 45 58 54 45 52 4e 20 69 6e 74 20 20 20  );.EXTERN int   
13a0: 20 20 20 20 20 20 20 43 74 6b 5f 44 69 73 70 6c         Ctk_Displ
13b0: 61 79 48 65 69 67 68 74 20 5f 41 4e 53 49 5f 41  ayHeight _ANSI_A
13c0: 52 47 53 5f 28 28 54 6b 44 69 73 70 6c 61 79 20  RGS_((TkDisplay 
13d0: 2a 64 69 73 70 50 74 72 29 29 3b 0a 45 58 54 45  *dispPtr));.EXTE
13e0: 52 4e 20 76 6f 69 64 20 20 20 20 20 20 20 20 20  RN void         
13f0: 43 74 6b 5f 44 69 73 70 6c 61 79 52 65 64 72 61  Ctk_DisplayRedra
1400: 77 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  w _ANSI_ARGS_((T
1410: 6b 44 69 73 70 6c 61 79 20 2a 64 69 73 70 50 74  kDisplay *dispPt
1420: 72 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64  r));.EXTERN void
1430: 20 20 20 20 20 20 20 20 20 43 74 6b 5f 44 72 61           Ctk_Dra
1440: 77 53 74 72 69 6e 67 20 5f 41 4e 53 49 5f 41 52  wString _ANSI_AR
1450: 47 53 5f 28 28 54 6b 5f 57 69 6e 64 6f 77 20 74  GS_((Tk_Window t
1460: 6b 77 69 6e 2c 0a 09 09 09 69 6e 74 20 78 2c 20  kwin,....int x, 
1470: 69 6e 74 20 79 2c 20 43 74 6b 5f 53 74 79 6c 65  int y, Ctk_Style
1480: 20 73 74 79 6c 65 2c 0a 09 09 09 63 68 61 72 20   style,....char 
1490: 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 6c 65 6e  *string, int len
14a0: 67 74 68 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f  gth));.EXTERN vo
14b0: 69 64 20 20 20 20 20 20 20 20 20 43 74 6b 5f 44  id         Ctk_D
14c0: 72 61 77 43 68 61 72 61 63 74 65 72 20 5f 41 4e  rawCharacter _AN
14d0: 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e  SI_ARGS_((Tk_Win
14e0: 64 6f 77 20 74 6b 77 69 6e 2c 0a 09 09 09 69 6e  dow tkwin,....in
14f0: 74 20 78 2c 20 69 6e 74 20 79 2c 20 43 74 6b 5f  t x, int y, Ctk_
1500: 53 74 79 6c 65 20 73 74 79 6c 65 2c 20 69 6e 74  Style style, int
1510: 20 63 68 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f   ch));.EXTERN vo
1520: 69 64 20 20 20 20 20 20 20 20 20 43 74 6b 5f 44  id         Ctk_D
1530: 72 61 77 52 65 63 74 20 5f 41 4e 53 49 5f 41 52  rawRect _ANSI_AR
1540: 47 53 5f 28 28 54 6b 5f 57 69 6e 64 6f 77 20 74  GS_((Tk_Window t
1550: 6b 77 69 6e 2c 0a 09 09 09 69 6e 74 20 78 31 2c  kwin,....int x1,
1560: 20 69 6e 74 20 79 31 2c 20 69 6e 74 20 78 32 2c   int y1, int x2,
1570: 20 69 6e 74 20 79 32 2c 20 43 74 6b 5f 53 74 79   int y2, Ctk_Sty
1580: 6c 65 20 73 74 79 6c 65 29 29 3b 0a 45 58 54 45  le style));.EXTE
1590: 52 4e 20 76 6f 69 64 20 20 20 20 20 20 20 20 20  RN void         
15a0: 43 74 6b 5f 46 69 6c 6c 52 65 63 74 20 5f 41 4e  Ctk_FillRect _AN
15b0: 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e  SI_ARGS_((Tk_Win
15c0: 64 6f 77 20 74 6b 77 69 6e 2c 0a 09 09 09 69 6e  dow tkwin,....in
15d0: 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 69 6e  t x1, int y1, in
15e0: 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 0a 09 09  t x2, int y2,...
15f0: 09 43 74 6b 5f 53 74 79 6c 65 20 73 74 79 6c 65  .Ctk_Style style
1600: 2c 20 69 6e 74 20 63 68 29 29 3b 0a 45 58 54 45  , int ch));.EXTE
1610: 52 4e 20 76 6f 69 64 20 20 20 20 20 20 20 20 20  RN void         
1620: 43 74 6b 5f 43 6c 65 61 72 57 69 6e 64 6f 77 20  Ctk_ClearWindow 
1630: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f  _ANSI_ARGS_((Tk_
1640: 57 69 6e 64 6f 77 20 74 6b 77 69 6e 29 29 3b 0a  Window tkwin));.
1650: 45 58 54 45 52 4e 20 76 6f 69 64 09 20 20 20 20  EXTERN void.    
1660: 43 74 6b 5f 44 72 61 77 42 6f 72 64 65 72 20 5f  Ctk_DrawBorder _
1670: 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57  ANSI_ARGS_((Tk_W
1680: 69 6e 64 6f 77 2c 20 43 74 6b 5f 53 74 79 6c 65  indow, Ctk_Style
1690: 2c 0a 09 09 09 63 68 61 72 20 2a 74 69 74 6c 65  ,....char *title
16a0: 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09  ));.EXTERN void.
16b0: 20 20 20 20 43 74 6b 5f 53 65 74 43 75 72 73 6f      Ctk_SetCurso
16c0: 72 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  r _ANSI_ARGS_((T
16d0: 6b 5f 57 69 6e 64 6f 77 2c 20 69 6e 74 20 78 2c  k_Window, int x,
16e0: 20 69 6e 74 20 79 29 29 3b 0a 0a 2f 2a 0a 20 2a   int y));../*. *
16f0: 20 53 74 72 75 63 74 75 72 65 20 75 73 65 64 20   Structure used 
1700: 74 6f 20 73 70 65 63 69 66 79 20 68 6f 77 20 74  to specify how t
1710: 6f 20 68 61 6e 64 6c 65 20 61 72 67 76 20 6f 70  o handle argv op
1720: 74 69 6f 6e 73 2e 0a 20 2a 2f 0a 0a 74 79 70 65  tions.. */..type
1730: 64 65 66 20 73 74 72 75 63 74 20 7b 0a 20 20 20  def struct {.   
1740: 20 63 68 61 72 20 2a 6b 65 79 3b 09 09 2f 2a 20   char *key;../* 
1750: 54 68 65 20 6b 65 79 20 73 74 72 69 6e 67 20 74  The key string t
1760: 68 61 74 20 66 6c 61 67 73 20 74 68 65 20 6f 70  hat flags the op
1770: 74 69 6f 6e 20 69 6e 20 74 68 65 0a 09 09 09 20  tion in the.... 
1780: 2a 20 61 72 67 76 20 61 72 72 61 79 2e 20 2a 2f  * argv array. */
1790: 0a 20 20 20 20 69 6e 74 20 74 79 70 65 3b 09 09  .    int type;..
17a0: 2f 2a 20 49 6e 64 69 63 61 74 65 73 20 6f 70 74  /* Indicates opt
17b0: 69 6f 6e 20 74 79 70 65 3b 20 20 73 65 65 20 62  ion type;  see b
17c0: 65 6c 6f 77 2e 20 2a 2f 0a 20 20 20 20 63 68 61  elow. */.    cha
17d0: 72 20 2a 73 72 63 3b 09 09 2f 2a 20 56 61 6c 75  r *src;../* Valu
17e0: 65 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20  e to be used in 
17f0: 73 65 74 74 69 6e 67 20 64 73 74 3b 20 20 75 73  setting dst;  us
1800: 61 67 65 0a 09 09 09 20 2a 20 64 65 70 65 6e 64  age.... * depend
1810: 73 20 6f 6e 20 74 79 70 65 2e 20 2a 2f 0a 20 20  s on type. */.  
1820: 20 20 63 68 61 72 20 2a 64 73 74 3b 09 09 2f 2a    char *dst;../*
1830: 20 41 64 64 72 65 73 73 20 6f 66 20 76 61 6c 75   Address of valu
1840: 65 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64  e to be modified
1850: 3b 20 20 75 73 61 67 65 0a 09 09 09 20 2a 20 64  ;  usage.... * d
1860: 65 70 65 6e 64 73 20 6f 6e 20 74 79 70 65 2e 20  epends on type. 
1870: 2a 2f 0a 20 20 20 20 63 68 61 72 20 2a 68 65 6c  */.    char *hel
1880: 70 3b 09 09 2f 2a 20 44 6f 63 75 6d 65 6e 74 61  p;../* Documenta
1890: 74 69 6f 6e 20 6d 65 73 73 61 67 65 20 64 65 73  tion message des
18a0: 63 72 69 62 69 6e 67 20 74 68 69 73 20 6f 70 74  cribing this opt
18b0: 69 6f 6e 2e 20 2a 2f 0a 7d 20 54 6b 5f 41 72 67  ion. */.} Tk_Arg
18c0: 76 49 6e 66 6f 3b 0a 0a 2f 2a 0a 20 2a 20 4c 65  vInfo;../*. * Le
18d0: 67 61 6c 20 76 61 6c 75 65 73 20 66 6f 72 20 74  gal values for t
18e0: 68 65 20 74 79 70 65 20 66 69 65 6c 64 20 6f 66  he type field of
18f0: 20 61 20 54 6b 5f 41 72 67 76 49 6e 66 6f 3a 20   a Tk_ArgvInfo: 
1900: 73 65 65 20 74 68 65 20 75 73 65 72 0a 20 2a 20  see the user. * 
1910: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f  documentation fo
1920: 72 20 64 65 74 61 69 6c 73 2e 0a 20 2a 2f 0a 0a  r details.. */..
1930: 23 64 65 66 69 6e 65 20 54 4b 5f 41 52 47 56 5f  #define TK_ARGV_
1940: 43 4f 4e 53 54 41 4e 54 09 09 31 35 0a 23 64 65  CONSTANT..15.#de
1950: 66 69 6e 65 20 54 4b 5f 41 52 47 56 5f 49 4e 54  fine TK_ARGV_INT
1960: 09 09 09 31 36 0a 23 64 65 66 69 6e 65 20 54 4b  ...16.#define TK
1970: 5f 41 52 47 56 5f 53 54 52 49 4e 47 09 09 09 31  _ARGV_STRING...1
1980: 37 0a 23 64 65 66 69 6e 65 20 54 4b 5f 41 52 47  7.#define TK_ARG
1990: 56 5f 55 49 44 09 09 09 31 38 0a 23 64 65 66 69  V_UID...18.#defi
19a0: 6e 65 20 54 4b 5f 41 52 47 56 5f 52 45 53 54 09  ne TK_ARGV_REST.
19b0: 09 09 31 39 0a 23 64 65 66 69 6e 65 20 54 4b 5f  ..19.#define TK_
19c0: 41 52 47 56 5f 46 4c 4f 41 54 09 09 09 32 30 0a  ARGV_FLOAT...20.
19d0: 23 64 65 66 69 6e 65 20 54 4b 5f 41 52 47 56 5f  #define TK_ARGV_
19e0: 46 55 4e 43 09 09 09 32 31 0a 23 64 65 66 69 6e  FUNC...21.#defin
19f0: 65 20 54 4b 5f 41 52 47 56 5f 47 45 4e 46 55 4e  e TK_ARGV_GENFUN
1a00: 43 09 09 09 32 32 0a 23 64 65 66 69 6e 65 20 54  C...22.#define T
1a10: 4b 5f 41 52 47 56 5f 48 45 4c 50 09 09 09 32 33  K_ARGV_HELP...23
1a20: 0a 23 64 65 66 69 6e 65 20 54 4b 5f 41 52 47 56  .#define TK_ARGV
1a30: 5f 43 4f 4e 53 54 5f 4f 50 54 49 4f 4e 09 09 32  _CONST_OPTION..2
1a40: 34 0a 23 64 65 66 69 6e 65 20 54 4b 5f 41 52 47  4.#define TK_ARG
1a50: 56 5f 4f 50 54 49 4f 4e 5f 56 41 4c 55 45 09 09  V_OPTION_VALUE..
1a60: 32 35 0a 23 64 65 66 69 6e 65 20 54 4b 5f 41 52  25.#define TK_AR
1a70: 47 56 5f 4f 50 54 49 4f 4e 5f 4e 41 4d 45 5f 56  GV_OPTION_NAME_V
1a80: 41 4c 55 45 09 32 36 0a 23 64 65 66 69 6e 65 20  ALUE.26.#define 
1a90: 54 4b 5f 41 52 47 56 5f 45 4e 44 09 09 09 32 37  TK_ARGV_END...27
1aa0: 0a 0a 2f 2a 0a 20 2a 20 46 6c 61 67 20 62 69 74  ../*. * Flag bit
1ab0: 73 20 66 6f 72 20 70 61 73 73 69 6e 67 20 74 6f  s for passing to
1ac0: 20 54 6b 5f 50 61 72 73 65 41 72 67 76 3a 0a 20   Tk_ParseArgv:. 
1ad0: 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 54 4b 5f 41  */..#define TK_A
1ae0: 52 47 56 5f 4e 4f 5f 44 45 46 41 55 4c 54 53 09  RGV_NO_DEFAULTS.
1af0: 09 30 78 31 0a 23 64 65 66 69 6e 65 20 54 4b 5f  .0x1.#define TK_
1b00: 41 52 47 56 5f 4e 4f 5f 4c 45 46 54 4f 56 45 52  ARGV_NO_LEFTOVER
1b10: 53 09 09 30 78 32 0a 23 64 65 66 69 6e 65 20 54  S..0x2.#define T
1b20: 4b 5f 41 52 47 56 5f 4e 4f 5f 41 42 42 52 45 56  K_ARGV_NO_ABBREV
1b30: 09 09 30 78 34 0a 23 64 65 66 69 6e 65 20 54 4b  ..0x4.#define TK
1b40: 5f 41 52 47 56 5f 44 4f 4e 54 5f 53 4b 49 50 5f  _ARGV_DONT_SKIP_
1b50: 46 49 52 53 54 5f 41 52 47 09 30 78 38 0a 0a 2f  FIRST_ARG.0x8../
1b60: 2a 0a 20 2a 20 53 74 72 75 63 74 75 72 65 20 75  *. * Structure u
1b70: 73 65 64 20 74 6f 20 64 65 73 63 72 69 62 65 20  sed to describe 
1b80: 61 70 70 6c 69 63 61 74 69 6f 6e 2d 73 70 65 63  application-spec
1b90: 69 66 69 63 20 63 6f 6e 66 69 67 75 72 61 74 69  ific configurati
1ba0: 6f 6e 0a 20 2a 20 6f 70 74 69 6f 6e 73 3a 20 20  on. * options:  
1bb0: 69 6e 64 69 63 61 74 65 73 20 70 72 6f 63 65 64  indicates proced
1bc0: 75 72 65 73 20 74 6f 20 63 61 6c 6c 20 74 6f 20  ures to call to 
1bd0: 70 61 72 73 65 20 61 6e 20 6f 70 74 69 6f 6e 20  parse an option 
1be0: 61 6e 64 0a 20 2a 20 74 6f 20 72 65 74 75 72 6e  and. * to return
1bf0: 20 61 20 74 65 78 74 20 73 74 72 69 6e 67 20 64   a text string d
1c00: 65 73 63 72 69 62 69 6e 67 20 61 6e 20 6f 70 74  escribing an opt
1c10: 69 6f 6e 2e 0a 20 2a 2f 0a 0a 74 79 70 65 64 65  ion.. */..typede
1c20: 66 20 69 6e 74 20 28 54 6b 5f 4f 70 74 69 6f 6e  f int (Tk_Option
1c30: 50 61 72 73 65 50 72 6f 63 29 20 5f 41 4e 53 49  ParseProc) _ANSI
1c40: 5f 41 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61  _ARGS_((ClientDa
1c50: 74 61 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09  ta clientData,..
1c60: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65  Tcl_Interp *inte
1c70: 72 70 2c 20 54 6b 5f 57 69 6e 64 6f 77 20 74 6b  rp, Tk_Window tk
1c80: 77 69 6e 2c 20 63 68 61 72 20 2a 76 61 6c 75 65  win, char *value
1c90: 2c 20 63 68 61 72 20 2a 77 69 64 67 52 65 63 2c  , char *widgRec,
1ca0: 0a 09 69 6e 74 20 6f 66 66 73 65 74 29 29 3b 0a  ..int offset));.
1cb0: 74 79 70 65 64 65 66 20 63 68 61 72 20 2a 28 54  typedef char *(T
1cc0: 6b 5f 4f 70 74 69 6f 6e 50 72 69 6e 74 50 72 6f  k_OptionPrintPro
1cd0: 63 29 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  c) _ANSI_ARGS_((
1ce0: 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e  ClientData clien
1cf0: 74 44 61 74 61 2c 0a 09 54 6b 5f 57 69 6e 64 6f  tData,..Tk_Windo
1d00: 77 20 74 6b 77 69 6e 2c 20 63 68 61 72 20 2a 77  w tkwin, char *w
1d10: 69 64 67 52 65 63 2c 20 69 6e 74 20 6f 66 66 73  idgRec, int offs
1d20: 65 74 2c 0a 09 54 63 6c 5f 46 72 65 65 50 72 6f  et,..Tcl_FreePro
1d30: 63 20 2a 2a 66 72 65 65 50 72 6f 63 50 74 72 29  c **freeProcPtr)
1d40: 29 3b 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75  );..typedef stru
1d50: 63 74 20 54 6b 5f 43 75 73 74 6f 6d 4f 70 74 69  ct Tk_CustomOpti
1d60: 6f 6e 20 7b 0a 20 20 20 20 54 6b 5f 4f 70 74 69  on {.    Tk_Opti
1d70: 6f 6e 50 61 72 73 65 50 72 6f 63 20 2a 70 61 72  onParseProc *par
1d80: 73 65 50 72 6f 63 3b 09 2f 2a 20 50 72 6f 63 65  seProc;./* Proce
1d90: 64 75 72 65 20 74 6f 20 63 61 6c 6c 20 74 6f 20  dure to call to 
1da0: 70 61 72 73 65 20 61 6e 0a 09 09 09 09 09 20 2a  parse an...... *
1db0: 20 6f 70 74 69 6f 6e 20 61 6e 64 20 73 74 6f 72   option and stor
1dc0: 65 20 69 74 20 69 6e 20 63 6f 6e 76 65 72 74 65  e it in converte
1dd0: 64 0a 09 09 09 09 09 20 2a 20 66 6f 72 6d 2e 20  d...... * form. 
1de0: 2a 2f 0a 20 20 20 20 54 6b 5f 4f 70 74 69 6f 6e  */.    Tk_Option
1df0: 50 72 69 6e 74 50 72 6f 63 20 2a 70 72 69 6e 74  PrintProc *print
1e00: 50 72 6f 63 3b 09 2f 2a 20 50 72 6f 63 65 64 75  Proc;./* Procedu
1e10: 72 65 20 74 6f 20 72 65 74 75 72 6e 20 61 20 70  re to return a p
1e20: 72 69 6e 74 61 62 6c 65 0a 09 09 09 09 09 20 2a  rintable...... *
1e30: 20 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69   string describi
1e40: 6e 67 20 61 6e 20 65 78 69 73 74 69 6e 67 0a 09  ng an existing..
1e50: 09 09 09 09 20 2a 20 6f 70 74 69 6f 6e 2e 20 2a  .... * option. *
1e60: 2f 0a 20 20 20 20 43 6c 69 65 6e 74 44 61 74 61  /.    ClientData
1e70: 20 63 6c 69 65 6e 74 44 61 74 61 3b 09 09 2f 2a   clientData;../*
1e80: 20 41 72 62 69 74 72 61 72 79 20 6f 6e 65 2d 77   Arbitrary one-w
1e90: 6f 72 64 20 76 61 6c 75 65 20 75 73 65 64 20 62  ord value used b
1ea0: 79 0a 09 09 09 09 09 20 2a 20 6f 70 74 69 6f 6e  y...... * option
1eb0: 20 70 61 72 73 65 72 3a 20 20 70 61 73 73 65 64   parser:  passed
1ec0: 20 74 6f 0a 09 09 09 09 09 20 2a 20 70 61 72 73   to...... * pars
1ed0: 65 50 72 6f 63 20 61 6e 64 20 70 72 69 6e 74 50  eProc and printP
1ee0: 72 6f 63 2e 20 2a 2f 0a 7d 20 54 6b 5f 43 75 73  roc. */.} Tk_Cus
1ef0: 74 6f 6d 4f 70 74 69 6f 6e 3b 0a 0a 2f 2a 0a 20  tomOption;../*. 
1f00: 2a 20 53 74 72 75 63 74 75 72 65 20 75 73 65 64  * Structure used
1f10: 20 74 6f 20 73 70 65 63 69 66 79 20 69 6e 66 6f   to specify info
1f20: 72 6d 61 74 69 6f 6e 20 66 6f 72 20 54 6b 5f 43  rmation for Tk_C
1f30: 6f 6e 66 69 67 75 72 65 57 69 64 67 65 74 2e 20  onfigureWidget. 
1f40: 20 45 61 63 68 0a 20 2a 20 73 74 72 75 63 74 75   Each. * structu
1f50: 72 65 20 67 69 76 65 73 20 63 6f 6d 70 6c 65 74  re gives complet
1f60: 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f  e information fo
1f70: 72 20 6f 6e 65 20 6f 70 74 69 6f 6e 2c 20 69 6e  r one option, in
1f80: 63 6c 75 64 69 6e 67 0a 20 2a 20 68 6f 77 20 74  cluding. * how t
1f90: 68 65 20 6f 70 74 69 6f 6e 20 69 73 20 73 70 65  he option is spe
1fa0: 63 69 66 69 65 64 20 6f 6e 20 74 68 65 20 63 6f  cified on the co
1fb0: 6d 6d 61 6e 64 20 6c 69 6e 65 2c 20 77 68 65 72  mmand line, wher
1fc0: 65 20 69 74 20 61 70 70 65 61 72 73 0a 20 2a 20  e it appears. * 
1fd0: 69 6e 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61  in the option da
1fe0: 74 61 62 61 73 65 2c 20 65 74 63 2e 0a 20 2a 2f  tabase, etc.. */
1ff0: 0a 0a 74 79 70 65 64 65 66 20 73 74 72 75 63 74  ..typedef struct
2000: 20 54 6b 5f 43 6f 6e 66 69 67 53 70 65 63 20 7b   Tk_ConfigSpec {
2010: 0a 20 20 20 20 69 6e 74 20 74 79 70 65 3b 09 09  .    int type;..
2020: 09 2f 2a 20 54 79 70 65 20 6f 66 20 6f 70 74 69  ./* Type of opti
2030: 6f 6e 2c 20 73 75 63 68 20 61 73 20 54 4b 5f 43  on, such as TK_C
2040: 4f 4e 46 49 47 5f 43 4f 4c 4f 52 3b 0a 09 09 09  ONFIG_COLOR;....
2050: 09 20 2a 20 73 65 65 20 64 65 66 69 6e 69 74 69  . * see definiti
2060: 6f 6e 73 20 62 65 6c 6f 77 2e 20 20 4c 61 73 74  ons below.  Last
2070: 20 6f 70 74 69 6f 6e 20 69 6e 0a 09 09 09 09 20   option in..... 
2080: 2a 20 74 61 62 6c 65 20 6d 75 73 74 20 68 61 76  * table must hav
2090: 65 20 74 79 70 65 20 54 4b 5f 43 4f 4e 46 49 47  e type TK_CONFIG
20a0: 5f 45 4e 44 2e 20 2a 2f 0a 20 20 20 20 63 68 61  _END. */.    cha
20b0: 72 20 2a 61 72 67 76 4e 61 6d 65 3b 09 09 2f 2a  r *argvName;../*
20c0: 20 53 77 69 74 63 68 20 75 73 65 64 20 74 6f 20   Switch used to 
20d0: 73 70 65 63 69 66 79 20 6f 70 74 69 6f 6e 20 69  specify option i
20e0: 6e 20 61 72 67 76 2e 0a 09 09 09 09 20 2a 20 4e  n argv...... * N
20f0: 55 4c 4c 20 6d 65 61 6e 73 20 74 68 69 73 20 73  ULL means this s
2100: 70 65 63 20 69 73 20 70 61 72 74 20 6f 66 20 61  pec is part of a
2110: 20 67 72 6f 75 70 2e 20 2a 2f 0a 20 20 20 20 63   group. */.    c
2120: 68 61 72 20 2a 64 62 4e 61 6d 65 3b 09 09 2f 2a  har *dbName;../*
2130: 20 4e 61 6d 65 20 66 6f 72 20 6f 70 74 69 6f 6e   Name for option
2140: 20 69 6e 20 6f 70 74 69 6f 6e 20 64 61 74 61 62   in option datab
2150: 61 73 65 2e 20 2a 2f 0a 20 20 20 20 63 68 61 72  ase. */.    char
2160: 20 2a 64 62 43 6c 61 73 73 3b 09 09 2f 2a 20 43   *dbClass;../* C
2170: 6c 61 73 73 20 66 6f 72 20 6f 70 74 69 6f 6e 20  lass for option 
2180: 69 6e 20 64 61 74 61 62 61 73 65 2e 20 2a 2f 0a  in database. */.
2190: 20 20 20 20 63 68 61 72 20 2a 64 65 66 56 61 6c      char *defVal
21a0: 75 65 3b 09 09 2f 2a 20 44 65 66 61 75 6c 74 20  ue;../* Default 
21b0: 76 61 6c 75 65 20 66 6f 72 20 6f 70 74 69 6f 6e  value for option
21c0: 20 69 66 20 6e 6f 74 0a 09 09 09 09 20 2a 20 73   if not..... * s
21d0: 70 65 63 69 66 69 65 64 20 69 6e 20 63 6f 6d 6d  pecified in comm
21e0: 61 6e 64 20 6c 69 6e 65 20 6f 72 20 64 61 74 61  and line or data
21f0: 62 61 73 65 2e 20 2a 2f 0a 20 20 20 20 69 6e 74  base. */.    int
2200: 20 6f 66 66 73 65 74 3b 09 09 09 2f 2a 20 57 68   offset;.../* Wh
2210: 65 72 65 20 69 6e 20 77 69 64 67 65 74 20 72 65  ere in widget re
2220: 63 6f 72 64 20 74 6f 20 73 74 6f 72 65 20 76 61  cord to store va
2230: 6c 75 65 3b 0a 09 09 09 09 20 2a 20 75 73 65 20  lue;..... * use 
2240: 54 6b 5f 4f 66 66 73 65 74 20 6d 61 63 72 6f 20  Tk_Offset macro 
2250: 74 6f 20 67 65 6e 65 72 61 74 65 20 76 61 6c 75  to generate valu
2260: 65 73 0a 09 09 09 09 20 2a 20 66 6f 72 20 74 68  es..... * for th
2270: 69 73 2e 20 2a 2f 0a 20 20 20 20 69 6e 74 20 73  is. */.    int s
2280: 70 65 63 46 6c 61 67 73 3b 09 09 2f 2a 20 41 6e  pecFlags;../* An
2290: 79 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66  y combination of
22a0: 20 74 68 65 20 76 61 6c 75 65 73 20 64 65 66 69   the values defi
22b0: 6e 65 64 0a 09 09 09 09 20 2a 20 62 65 6c 6f 77  ned..... * below
22c0: 3b 20 20 6f 74 68 65 72 20 62 69 74 73 20 61 72  ;  other bits ar
22d0: 65 20 75 73 65 64 20 69 6e 74 65 72 6e 61 6c 6c  e used internall
22e0: 79 0a 09 09 09 09 20 2a 20 62 79 20 74 6b 43 6f  y..... * by tkCo
22f0: 6e 66 69 67 2e 63 2e 20 2a 2f 0a 20 20 20 20 54  nfig.c. */.    T
2300: 6b 5f 43 75 73 74 6f 6d 4f 70 74 69 6f 6e 20 2a  k_CustomOption *
2310: 63 75 73 74 6f 6d 50 74 72 3b 09 2f 2a 20 49 66  customPtr;./* If
2320: 20 74 79 70 65 20 69 73 20 54 4b 5f 43 4f 4e 46   type is TK_CONF
2330: 49 47 5f 43 55 53 54 4f 4d 20 74 68 65 6e 20 74  IG_CUSTOM then t
2340: 68 69 73 20 69 73 0a 09 09 09 09 20 2a 20 61 20  his is..... * a 
2350: 70 6f 69 6e 74 65 72 20 74 6f 20 69 6e 66 6f 20  pointer to info 
2360: 61 62 6f 75 74 20 68 6f 77 20 74 6f 20 70 61 72  about how to par
2370: 73 65 20 61 6e 64 0a 09 09 09 09 20 2a 20 70 72  se and..... * pr
2380: 69 6e 74 20 74 68 65 20 6f 70 74 69 6f 6e 2e 20  int the option. 
2390: 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 69 73   Otherwise it is
23a0: 0a 09 09 09 09 20 2a 20 69 72 72 65 6c 65 76 61  ..... * irreleva
23b0: 6e 74 2e 20 2a 2f 0a 7d 20 54 6b 5f 43 6f 6e 66  nt. */.} Tk_Conf
23c0: 69 67 53 70 65 63 3b 0a 0a 2f 2a 0a 20 2a 20 54  igSpec;../*. * T
23d0: 79 70 65 20 76 61 6c 75 65 73 20 66 6f 72 20 54  ype values for T
23e0: 6b 5f 43 6f 6e 66 69 67 53 70 65 63 20 73 74 72  k_ConfigSpec str
23f0: 75 63 74 75 72 65 73 2e 20 20 53 65 65 20 74 68  uctures.  See th
2400: 65 20 75 73 65 72 0a 20 2a 20 64 6f 63 75 6d 65  e user. * docume
2410: 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61  ntation for deta
2420: 69 6c 73 2e 0a 20 2a 2f 0a 0a 23 64 65 66 69 6e  ils.. */..#defin
2430: 65 20 54 4b 5f 43 4f 4e 46 49 47 5f 42 4f 4f 4c  e TK_CONFIG_BOOL
2440: 45 41 4e 09 31 0a 23 64 65 66 69 6e 65 20 54 4b  EAN.1.#define TK
2450: 5f 43 4f 4e 46 49 47 5f 49 4e 54 09 09 32 0a 23  _CONFIG_INT..2.#
2460: 64 65 66 69 6e 65 20 54 4b 5f 43 4f 4e 46 49 47  define TK_CONFIG
2470: 5f 44 4f 55 42 4c 45 09 33 0a 23 64 65 66 69 6e  _DOUBLE.3.#defin
2480: 65 20 54 4b 5f 43 4f 4e 46 49 47 5f 53 54 52 49  e TK_CONFIG_STRI
2490: 4e 47 09 34 0a 23 64 65 66 69 6e 65 20 54 4b 5f  NG.4.#define TK_
24a0: 43 4f 4e 46 49 47 5f 55 49 44 09 09 35 0a 23 64  CONFIG_UID..5.#d
24b0: 65 66 69 6e 65 20 54 4b 5f 43 4f 4e 46 49 47 5f  efine TK_CONFIG_
24c0: 4a 55 53 54 49 46 59 09 31 33 0a 23 64 65 66 69  JUSTIFY.13.#defi
24d0: 6e 65 20 54 4b 5f 43 4f 4e 46 49 47 5f 41 4e 43  ne TK_CONFIG_ANC
24e0: 48 4f 52 09 31 34 0a 23 64 65 66 69 6e 65 20 54  HOR.14.#define T
24f0: 4b 5f 43 4f 4e 46 49 47 5f 53 59 4e 4f 4e 59 4d  K_CONFIG_SYNONYM
2500: 09 31 35 0a 23 64 65 66 69 6e 65 20 54 4b 5f 43  .15.#define TK_C
2510: 4f 4e 46 49 47 5f 50 49 58 45 4c 53 09 31 38 0a  ONFIG_PIXELS.18.
2520: 23 64 65 66 69 6e 65 20 54 4b 5f 43 4f 4e 46 49  #define TK_CONFI
2530: 47 5f 4d 4d 09 09 31 39 0a 23 64 65 66 69 6e 65  G_MM..19.#define
2540: 20 54 4b 5f 43 4f 4e 46 49 47 5f 57 49 4e 44 4f   TK_CONFIG_WINDO
2550: 57 09 32 30 0a 23 64 65 66 69 6e 65 20 54 4b 5f  W.20.#define TK_
2560: 43 4f 4e 46 49 47 5f 43 55 53 54 4f 4d 09 32 31  CONFIG_CUSTOM.21
2570: 0a 23 64 65 66 69 6e 65 20 54 4b 5f 43 4f 4e 46  .#define TK_CONF
2580: 49 47 5f 45 4e 44 09 09 32 32 0a 0a 2f 2a 0a 20  IG_END..22../*. 
2590: 2a 20 4d 61 63 72 6f 20 74 6f 20 75 73 65 20 74  * Macro to use t
25a0: 6f 20 66 69 6c 6c 20 69 6e 20 22 6f 66 66 73 65  o fill in "offse
25b0: 74 22 20 66 69 65 6c 64 73 20 6f 66 20 54 6b 5f  t" fields of Tk_
25c0: 43 6f 6e 66 69 67 49 6e 66 6f 73 2e 0a 20 2a 20  ConfigInfos.. * 
25d0: 43 6f 6d 70 75 74 65 73 20 6e 75 6d 62 65 72 20  Computes number 
25e0: 6f 66 20 62 79 74 65 73 20 66 72 6f 6d 20 62 65  of bytes from be
25f0: 67 69 6e 6e 69 6e 67 20 6f 66 20 73 74 72 75 63  ginning of struc
2600: 74 75 72 65 20 74 6f 20 61 0a 20 2a 20 67 69 76  ture to a. * giv
2610: 65 6e 20 66 69 65 6c 64 2e 0a 20 2a 2f 0a 0a 23  en field.. */..#
2620: 69 66 64 65 66 20 6f 66 66 73 65 74 6f 66 0a 23  ifdef offsetof.#
2630: 64 65 66 69 6e 65 20 54 6b 5f 4f 66 66 73 65 74  define Tk_Offset
2640: 28 74 79 70 65 2c 20 66 69 65 6c 64 29 20 28 28  (type, field) ((
2650: 69 6e 74 29 20 6f 66 66 73 65 74 6f 66 28 74 79  int) offsetof(ty
2660: 70 65 2c 20 66 69 65 6c 64 29 29 0a 23 65 6c 73  pe, field)).#els
2670: 65 0a 23 64 65 66 69 6e 65 20 54 6b 5f 4f 66 66  e.#define Tk_Off
2680: 73 65 74 28 74 79 70 65 2c 20 66 69 65 6c 64 29  set(type, field)
2690: 20 28 28 69 6e 74 29 20 28 28 63 68 61 72 20 2a   ((int) ((char *
26a0: 29 20 26 28 28 74 79 70 65 20 2a 29 20 30 29 2d  ) &((type *) 0)-
26b0: 3e 66 69 65 6c 64 29 29 0a 23 65 6e 64 69 66 0a  >field)).#endif.
26c0: 0a 2f 2a 0a 20 2a 20 50 6f 73 73 69 62 6c 65 20  ./*. * Possible 
26d0: 76 61 6c 75 65 73 20 66 6f 72 20 66 6c 61 67 73  values for flags
26e0: 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 54 6b 5f   argument to Tk_
26f0: 43 6f 6e 66 69 67 75 72 65 57 69 64 67 65 74 3a  ConfigureWidget:
2700: 0a 20 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 54 4b  . */..#define TK
2710: 5f 43 4f 4e 46 49 47 5f 41 52 47 56 5f 4f 4e 4c  _CONFIG_ARGV_ONL
2720: 59 09 31 0a 0a 2f 2a 0a 20 2a 20 50 6f 73 73 69  Y.1../*. * Possi
2730: 62 6c 65 20 66 6c 61 67 20 76 61 6c 75 65 73 20  ble flag values 
2740: 66 6f 72 20 54 6b 5f 43 6f 6e 66 69 67 49 6e 66  for Tk_ConfigInf
2750: 6f 20 73 74 72 75 63 74 75 72 65 73 2e 20 20 41  o structures.  A
2760: 6e 79 20 62 69 74 73 20 61 74 0a 20 2a 20 6f 72  ny bits at. * or
2770: 20 61 62 6f 76 65 20 54 4b 5f 43 4f 4e 46 49 47   above TK_CONFIG
2780: 5f 55 53 45 52 5f 42 49 54 20 6d 61 79 20 62 65  _USER_BIT may be
2790: 20 75 73 65 64 20 62 79 20 63 6c 69 65 6e 74 73   used by clients
27a0: 20 66 6f 72 20 73 65 6c 65 63 74 69 6e 67 0a 20   for selecting. 
27b0: 2a 20 63 65 72 74 61 69 6e 20 65 6e 74 72 69 65  * certain entrie
27c0: 73 2e 20 20 42 65 66 6f 72 65 20 63 68 61 6e 67  s.  Before chang
27d0: 69 6e 67 20 61 6e 79 20 76 61 6c 75 65 73 20 68  ing any values h
27e0: 65 72 65 2c 20 63 6f 6f 72 64 69 6e 61 74 65 20  ere, coordinate 
27f0: 77 69 74 68 0a 20 2a 20 74 6b 43 6f 6e 66 69 67  with. * tkConfig
2800: 2e 63 20 28 69 6e 74 65 72 6e 61 6c 2d 75 73 65  .c (internal-use
2810: 2d 6f 6e 6c 79 20 66 6c 61 67 73 20 61 72 65 20  -only flags are 
2820: 64 65 66 69 6e 65 64 20 74 68 65 72 65 29 2e 0a  defined there)..
2830: 20 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 54 4b 5f   */..#define TK_
2840: 43 4f 4e 46 49 47 5f 43 4f 4c 4f 52 5f 4f 4e 4c  CONFIG_COLOR_ONL
2850: 59 09 09 31 0a 23 64 65 66 69 6e 65 20 54 4b 5f  Y..1.#define TK_
2860: 43 4f 4e 46 49 47 5f 4d 4f 4e 4f 5f 4f 4e 4c 59  CONFIG_MONO_ONLY
2870: 09 09 32 0a 23 64 65 66 69 6e 65 20 54 4b 5f 43  ..2.#define TK_C
2880: 4f 4e 46 49 47 5f 4e 55 4c 4c 5f 4f 4b 09 09 34  ONFIG_NULL_OK..4
2890: 0a 23 64 65 66 69 6e 65 20 54 4b 5f 43 4f 4e 46  .#define TK_CONF
28a0: 49 47 5f 44 4f 4e 54 5f 53 45 54 5f 44 45 46 41  IG_DONT_SET_DEFA
28b0: 55 4c 54 09 38 0a 23 64 65 66 69 6e 65 20 54 4b  ULT.8.#define TK
28c0: 5f 43 4f 4e 46 49 47 5f 4f 50 54 49 4f 4e 5f 53  _CONFIG_OPTION_S
28d0: 50 45 43 49 46 49 45 44 09 30 78 31 30 0a 23 64  PECIFIED.0x10.#d
28e0: 65 66 69 6e 65 20 54 4b 5f 43 4f 4e 46 49 47 5f  efine TK_CONFIG_
28f0: 55 53 45 52 5f 42 49 54 09 09 30 78 31 30 30 0a  USER_BIT..0x100.
2900: 0a 2f 2a 0a 20 2a 20 53 70 65 63 69 61 6c 20 72  ./*. * Special r
2910: 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d  eturn value from
2920: 20 54 6b 5f 46 69 6c 65 50 72 6f 63 32 20 70 72   Tk_FileProc2 pr
2930: 6f 63 65 64 75 72 65 73 20 69 6e 64 69 63 61 74  ocedures indicat
2940: 69 6e 67 20 74 68 61 74 0a 20 2a 20 61 6e 20 65  ing that. * an e
2950: 76 65 6e 74 20 77 61 73 20 73 75 63 63 65 73 73  vent was success
2960: 66 75 6c 6c 79 20 70 72 6f 63 65 73 73 65 64 2e  fully processed.
2970: 0a 20 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 54 4b  . */..#define TK
2980: 5f 46 49 4c 45 5f 48 41 4e 44 4c 45 44 20 2d 31  _FILE_HANDLED -1
2990: 0a 0a 2f 2a 0a 20 2a 20 46 6c 61 67 20 76 61 6c  ../*. * Flag val
29a0: 75 65 73 20 74 6f 20 70 61 73 73 20 74 6f 20 54  ues to pass to T
29b0: 6b 5f 44 6f 4f 6e 65 45 76 65 6e 74 20 74 6f 20  k_DoOneEvent to 
29c0: 64 69 73 61 62 6c 65 20 73 65 61 72 63 68 65 73  disable searches
29d0: 0a 20 2a 20 66 6f 72 20 73 6f 6d 65 20 6b 69 6e  . * for some kin
29e0: 64 73 20 6f 66 20 65 76 65 6e 74 73 3a 0a 20 2a  ds of events:. *
29f0: 2f 0a 0a 23 64 65 66 69 6e 65 20 54 4b 5f 44 4f  /..#define TK_DO
2a00: 4e 54 5f 57 41 49 54 09 09 54 43 4c 5f 44 4f 4e  NT_WAIT..TCL_DON
2a10: 54 5f 57 41 49 54 0a 23 64 65 66 69 6e 65 20 54  T_WAIT.#define T
2a20: 4b 5f 58 5f 45 56 45 4e 54 53 09 09 54 43 4c 5f  K_X_EVENTS..TCL_
2a30: 57 49 4e 44 4f 57 5f 45 56 45 4e 54 53 0a 23 64  WINDOW_EVENTS.#d
2a40: 65 66 69 6e 65 20 54 4b 5f 46 49 4c 45 5f 45 56  efine TK_FILE_EV
2a50: 45 4e 54 53 09 09 54 43 4c 5f 46 49 4c 45 5f 45  ENTS..TCL_FILE_E
2a60: 56 45 4e 54 53 0a 23 64 65 66 69 6e 65 20 54 4b  VENTS.#define TK
2a70: 5f 54 49 4d 45 52 5f 45 56 45 4e 54 53 09 09 54  _TIMER_EVENTS..T
2a80: 43 4c 5f 54 49 4d 45 52 5f 45 56 45 4e 54 53 0a  CL_TIMER_EVENTS.
2a90: 23 64 65 66 69 6e 65 20 54 4b 5f 49 44 4c 45 5f  #define TK_IDLE_
2aa0: 45 56 45 4e 54 53 09 09 54 43 4c 5f 49 44 4c 45  EVENTS..TCL_IDLE
2ab0: 5f 45 56 45 4e 54 53 0a 23 64 65 66 69 6e 65 20  _EVENTS.#define 
2ac0: 54 4b 5f 41 4c 4c 5f 45 56 45 4e 54 53 09 09 54  TK_ALL_EVENTS..T
2ad0: 43 4c 5f 41 4c 4c 5f 45 56 45 4e 54 53 0a 0a 2f  CL_ALL_EVENTS../
2ae0: 2a 0a 20 2a 20 50 72 69 6f 72 69 74 79 20 6c 65  *. * Priority le
2af0: 76 65 6c 73 20 74 6f 20 70 61 73 73 20 74 6f 20  vels to pass to 
2b00: 54 6b 5f 41 64 64 4f 70 74 69 6f 6e 3a 0a 20 2a  Tk_AddOption:. *
2b10: 2f 0a 0a 23 64 65 66 69 6e 65 20 54 4b 5f 57 49  /..#define TK_WI
2b20: 44 47 45 54 5f 44 45 46 41 55 4c 54 5f 50 52 49  DGET_DEFAULT_PRI
2b30: 4f 09 32 30 0a 23 64 65 66 69 6e 65 20 54 4b 5f  O.20.#define TK_
2b40: 53 54 41 52 54 55 50 5f 46 49 4c 45 5f 50 52 49  STARTUP_FILE_PRI
2b50: 4f 09 34 30 0a 23 64 65 66 69 6e 65 20 54 4b 5f  O.40.#define TK_
2b60: 55 53 45 52 5f 44 45 46 41 55 4c 54 5f 50 52 49  USER_DEFAULT_PRI
2b70: 4f 09 36 30 0a 23 64 65 66 69 6e 65 20 54 4b 5f  O.60.#define TK_
2b80: 49 4e 54 45 52 41 43 54 49 56 45 5f 50 52 49 4f  INTERACTIVE_PRIO
2b90: 09 38 30 0a 23 64 65 66 69 6e 65 20 54 4b 5f 4d  .80.#define TK_M
2ba0: 41 58 5f 50 52 49 4f 09 09 31 30 30 0a 0a 2f 2a  AX_PRIO..100../*
2bb0: 0a 20 2a 20 45 6e 75 6d 65 72 61 74 65 64 20 74  . * Enumerated t
2bc0: 79 70 65 20 66 6f 72 20 64 65 73 63 72 69 62 69  ype for describi
2bd0: 6e 67 20 61 20 70 6f 69 6e 74 20 62 79 20 77 68  ng a point by wh
2be0: 69 63 68 20 74 6f 20 61 6e 63 68 6f 72 20 73 6f  ich to anchor so
2bf0: 6d 65 74 68 69 6e 67 3a 0a 20 2a 2f 0a 0a 74 79  mething:. */..ty
2c00: 70 65 64 65 66 20 65 6e 75 6d 20 7b 0a 20 20 20  pedef enum {.   
2c10: 20 54 4b 5f 41 4e 43 48 4f 52 5f 4e 2c 20 54 4b   TK_ANCHOR_N, TK
2c20: 5f 41 4e 43 48 4f 52 5f 4e 45 2c 20 54 4b 5f 41  _ANCHOR_NE, TK_A
2c30: 4e 43 48 4f 52 5f 45 2c 20 54 4b 5f 41 4e 43 48  NCHOR_E, TK_ANCH
2c40: 4f 52 5f 53 45 2c 0a 20 20 20 20 54 4b 5f 41 4e  OR_SE,.    TK_AN
2c50: 43 48 4f 52 5f 53 2c 20 54 4b 5f 41 4e 43 48 4f  CHOR_S, TK_ANCHO
2c60: 52 5f 53 57 2c 20 54 4b 5f 41 4e 43 48 4f 52 5f  R_SW, TK_ANCHOR_
2c70: 57 2c 20 54 4b 5f 41 4e 43 48 4f 52 5f 4e 57 2c  W, TK_ANCHOR_NW,
2c80: 0a 20 20 20 20 54 4b 5f 41 4e 43 48 4f 52 5f 43  .    TK_ANCHOR_C
2c90: 45 4e 54 45 52 0a 7d 20 54 6b 5f 41 6e 63 68 6f  ENTER.} Tk_Ancho
2ca0: 72 3b 0a 0a 2f 2a 0a 20 2a 20 45 6e 75 6d 65 72  r;../*. * Enumer
2cb0: 61 74 65 64 20 74 79 70 65 20 66 6f 72 20 64 65  ated type for de
2cc0: 73 63 72 69 62 69 6e 67 20 61 20 73 74 79 6c 65  scribing a style
2cd0: 20 6f 66 20 6a 75 73 74 69 66 69 63 61 74 69 6f   of justificatio
2ce0: 6e 3a 0a 20 2a 2f 0a 0a 74 79 70 65 64 65 66 20  n:. */..typedef 
2cf0: 65 6e 75 6d 20 7b 0a 20 20 20 20 54 4b 5f 4a 55  enum {.    TK_JU
2d00: 53 54 49 46 59 5f 4c 45 46 54 2c 20 54 4b 5f 4a  STIFY_LEFT, TK_J
2d10: 55 53 54 49 46 59 5f 52 49 47 48 54 2c 20 54 4b  USTIFY_RIGHT, TK
2d20: 5f 4a 55 53 54 49 46 59 5f 43 45 4e 54 45 52 0a  _JUSTIFY_CENTER.
2d30: 7d 20 54 6b 5f 4a 75 73 74 69 66 79 3b 0a 0a 2f  } Tk_Justify;../
2d40: 2a 0a 20 2a 20 45 61 63 68 20 67 65 6f 6d 65 74  *. * Each geomet
2d50: 72 79 20 6d 61 6e 61 67 65 72 20 28 74 68 65 20  ry manager (the 
2d60: 70 61 63 6b 65 72 2c 20 74 68 65 20 70 6c 61 63  packer, the plac
2d70: 65 72 2c 20 65 74 63 2e 29 20 69 73 20 72 65 70  er, etc.) is rep
2d80: 72 65 73 65 6e 74 65 64 0a 20 2a 20 62 79 20 61  resented. * by a
2d90: 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 68   structure of th
2da0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d  e following form
2db0: 2c 20 77 68 69 63 68 20 69 6e 64 69 63 61 74 65  , which indicate
2dc0: 73 20 70 72 6f 63 65 64 75 72 65 73 0a 20 2a 20  s procedures. * 
2dd0: 74 6f 20 69 6e 76 6f 6b 65 20 69 6e 20 74 68 65  to invoke in the
2de0: 20 67 65 6f 6d 65 74 72 79 20 6d 61 6e 61 67 65   geometry manage
2df0: 72 20 74 6f 20 63 61 72 72 79 20 6f 75 74 20 63  r to carry out c
2e00: 65 72 74 61 69 6e 20 66 75 6e 63 74 69 6f 6e 73  ertain functions
2e10: 2e 0a 20 2a 2f 0a 0a 74 79 70 65 64 65 66 20 76  .. */..typedef v
2e20: 6f 69 64 20 28 54 6b 5f 47 65 6f 6d 52 65 71 75  oid (Tk_GeomRequ
2e30: 65 73 74 50 72 6f 63 29 20 5f 41 4e 53 49 5f 41  estProc) _ANSI_A
2e40: 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74 61  RGS_((ClientData
2e50: 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 54 6b   clientData,..Tk
2e60: 5f 57 69 6e 64 6f 77 20 74 6b 77 69 6e 29 29 3b  _Window tkwin));
2e70: 0a 74 79 70 65 64 65 66 20 76 6f 69 64 20 28 54  .typedef void (T
2e80: 6b 5f 47 65 6f 6d 4c 6f 73 74 53 6c 61 76 65 50  k_GeomLostSlaveP
2e90: 72 6f 63 29 20 5f 41 4e 53 49 5f 41 52 47 53 5f  roc) _ANSI_ARGS_
2ea0: 28 28 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69  ((ClientData cli
2eb0: 65 6e 74 44 61 74 61 2c 0a 09 54 6b 5f 57 69 6e  entData,..Tk_Win
2ec0: 64 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 0a 74 79  dow tkwin));..ty
2ed0: 70 65 64 65 66 20 73 74 72 75 63 74 20 54 6b 5f  pedef struct Tk_
2ee0: 47 65 6f 6d 4d 67 72 20 7b 0a 20 20 20 20 63 68  GeomMgr {.    ch
2ef0: 61 72 20 2a 6e 61 6d 65 3b 09 09 09 2f 2a 20 4e  ar *name;.../* N
2f00: 61 6d 65 20 6f 66 20 74 68 65 20 67 65 6f 6d 65  ame of the geome
2f10: 74 72 79 20 6d 61 6e 61 67 65 72 20 28 63 6f 6d  try manager (com
2f20: 6d 61 6e 64 0a 09 09 09 09 20 2a 20 75 73 65 64  mand..... * used
2f30: 20 74 6f 20 69 6e 76 6f 6b 65 20 69 74 2c 20 6f   to invoke it, o
2f40: 72 20 6e 61 6d 65 20 6f 66 20 77 69 64 67 65 74  r name of widget
2f50: 0a 09 09 09 09 20 2a 20 63 6c 61 73 73 20 74 68  ..... * class th
2f60: 61 74 20 61 6c 6c 6f 77 73 20 65 6d 62 65 64 64  at allows embedd
2f70: 65 64 20 77 69 64 67 65 74 73 29 2e 20 2a 2f 0a  ed widgets). */.
2f80: 20 20 20 20 54 6b 5f 47 65 6f 6d 52 65 71 75 65      Tk_GeomReque
2f90: 73 74 50 72 6f 63 20 2a 72 65 71 75 65 73 74 50  stProc *requestP
2fa0: 72 6f 63 3b 0a 09 09 09 09 2f 2a 20 50 72 6f 63  roc;...../* Proc
2fb0: 65 64 75 72 65 20 74 6f 20 69 6e 76 6f 6b 65 20  edure to invoke 
2fc0: 77 68 65 6e 20 61 20 73 6c 61 76 65 27 73 0a 09  when a slave's..
2fd0: 09 09 09 20 2a 20 72 65 71 75 65 73 74 65 64 20  ... * requested 
2fe0: 67 65 6f 6d 65 74 72 79 20 63 68 61 6e 67 65 73  geometry changes
2ff0: 2e 20 2a 2f 0a 20 20 20 20 54 6b 5f 47 65 6f 6d  . */.    Tk_Geom
3000: 4c 6f 73 74 53 6c 61 76 65 50 72 6f 63 20 2a 6c  LostSlaveProc *l
3010: 6f 73 74 53 6c 61 76 65 50 72 6f 63 3b 0a 09 09  ostSlaveProc;...
3020: 09 09 2f 2a 20 50 72 6f 63 65 64 75 72 65 20 74  ../* Procedure t
3030: 6f 20 69 6e 76 6f 6b 65 20 77 68 65 6e 20 61 20  o invoke when a 
3040: 73 6c 61 76 65 20 69 73 0a 09 09 09 09 20 2a 20  slave is..... * 
3050: 74 61 6b 65 6e 20 61 77 61 79 20 66 72 6f 6d 20  taken away from 
3060: 6f 6e 65 20 67 65 6f 6d 65 74 72 79 20 6d 61 6e  one geometry man
3070: 61 67 65 72 0a 09 09 09 09 20 2a 20 62 79 20 61  ager..... * by a
3080: 6e 6f 74 68 65 72 2e 20 20 4e 55 4c 4c 20 6d 65  nother.  NULL me
3090: 61 6e 73 20 67 65 6f 6d 65 74 72 79 20 6d 61 6e  ans geometry man
30a0: 61 67 65 72 0a 09 09 09 09 20 2a 20 64 6f 65 73  ager..... * does
30b0: 6e 27 74 20 63 61 72 65 20 77 68 65 6e 20 73 6c  n't care when sl
30c0: 61 76 65 73 20 61 72 65 20 6c 6f 73 74 2e 20 2a  aves are lost. *
30d0: 2f 0a 7d 20 54 6b 5f 47 65 6f 6d 4d 67 72 3b 0a  /.} Tk_GeomMgr;.
30e0: 0a 2f 2a 0a 20 2a 20 52 65 73 75 6c 74 20 76 61  ./*. * Result va
30f0: 6c 75 65 73 20 72 65 74 75 72 6e 65 64 20 62 79  lues returned by
3100: 20 54 6b 5f 47 65 74 53 63 72 6f 6c 6c 49 6e 66   Tk_GetScrollInf
3110: 6f 3a 0a 20 2a 2f 0a 0a 23 64 65 66 69 6e 65 20  o:. */..#define 
3120: 54 4b 5f 53 43 52 4f 4c 4c 5f 4d 4f 56 45 54 4f  TK_SCROLL_MOVETO
3130: 09 31 0a 23 64 65 66 69 6e 65 20 54 4b 5f 53 43  .1.#define TK_SC
3140: 52 4f 4c 4c 5f 50 41 47 45 53 09 09 32 0a 23 64  ROLL_PAGES..2.#d
3150: 65 66 69 6e 65 20 54 4b 5f 53 43 52 4f 4c 4c 5f  efine TK_SCROLL_
3160: 55 4e 49 54 53 09 09 33 0a 23 64 65 66 69 6e 65  UNITS..3.#define
3170: 20 54 4b 5f 53 43 52 4f 4c 4c 5f 45 52 52 4f 52   TK_SCROLL_ERROR
3180: 09 09 34 0a 0a 0c 0a 2f 2a 0a 20 2a 2d 2d 2d 2d  ..4..../*. *----
3190: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
31a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
31b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
31c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 2a 0a 20 2a  ----------. *. *
31d0: 20 4d 61 63 72 6f 73 20 66 6f 72 20 71 75 65 72   Macros for quer
31e0: 79 69 6e 67 20 54 6b 5f 57 69 6e 64 6f 77 20 73  ying Tk_Window s
31f0: 74 72 75 63 74 75 72 65 73 2e 20 20 53 65 65 20  tructures.  See 
3200: 74 68 65 0a 20 2a 20 6d 61 6e 75 61 6c 20 65 6e  the. * manual en
3210: 74 72 69 65 73 20 66 6f 72 20 64 6f 63 75 6d 65  tries for docume
3220: 6e 74 61 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 2d 2d  ntation.. *. *--
3230: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3240: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3260: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 2a 2f  ------------. */
3270: 0a 0a 23 64 65 66 69 6e 65 20 54 6b 5f 44 69 73  ..#define Tk_Dis
3280: 70 6c 61 79 28 74 6b 77 69 6e 29 09 09 28 28 74  play(tkwin)..((t
3290: 6b 77 69 6e 29 2d 3e 64 69 73 70 50 74 72 29 0a  kwin)->dispPtr).
32a0: 23 64 65 66 69 6e 65 20 54 6b 5f 44 65 70 74 68  #define Tk_Depth
32b0: 28 74 6b 77 69 6e 29 09 09 09 31 0a 23 64 65 66  (tkwin)...1.#def
32c0: 69 6e 65 20 54 6b 5f 57 69 6e 64 6f 77 49 64 28  ine Tk_WindowId(
32d0: 74 6b 77 69 6e 29 09 09 28 74 6b 77 69 6e 29 0a  tkwin)..(tkwin).
32e0: 23 64 65 66 69 6e 65 20 54 6b 5f 50 61 74 68 4e  #define Tk_PathN
32f0: 61 6d 65 28 74 6b 77 69 6e 29 20 09 09 28 28 74  ame(tkwin) ..((t
3300: 6b 77 69 6e 29 2d 3e 70 61 74 68 4e 61 6d 65 29  kwin)->pathName)
3310: 0a 23 64 65 66 69 6e 65 20 54 6b 5f 4e 61 6d 65  .#define Tk_Name
3320: 28 74 6b 77 69 6e 29 20 09 09 09 28 28 74 6b 77  (tkwin) ...((tkw
3330: 69 6e 29 2d 3e 6e 61 6d 65 55 69 64 29 0a 23 64  in)->nameUid).#d
3340: 65 66 69 6e 65 20 54 6b 5f 43 6c 61 73 73 28 74  efine Tk_Class(t
3350: 6b 77 69 6e 29 20 09 09 28 28 74 6b 77 69 6e 29  kwin) ..((tkwin)
3360: 2d 3e 63 6c 61 73 73 55 69 64 29 0a 23 64 65 66  ->classUid).#def
3370: 69 6e 65 20 54 6b 5f 58 28 74 6b 77 69 6e 29 09  ine Tk_X(tkwin).
3380: 09 09 28 28 74 6b 77 69 6e 29 2d 3e 72 65 63 74  ..((tkwin)->rect
3390: 2e 6c 65 66 74 29 0a 23 64 65 66 69 6e 65 20 54  .left).#define T
33a0: 6b 5f 59 28 74 6b 77 69 6e 29 09 09 09 28 28 74  k_Y(tkwin)...((t
33b0: 6b 77 69 6e 29 2d 3e 72 65 63 74 2e 74 6f 70 29  kwin)->rect.top)
33c0: 0a 23 64 65 66 69 6e 65 20 54 6b 5f 57 69 64 74  .#define Tk_Widt
33d0: 68 28 74 6b 77 69 6e 29 20 5c 0a 20 20 20 20 28  h(tkwin) \.    (
33e0: 28 74 6b 77 69 6e 29 2d 3e 72 65 63 74 2e 72 69  (tkwin)->rect.ri
33f0: 67 68 74 20 2d 20 28 74 6b 77 69 6e 29 2d 3e 72  ght - (tkwin)->r
3400: 65 63 74 2e 6c 65 66 74 29 0a 23 64 65 66 69 6e  ect.left).#defin
3410: 65 20 54 6b 5f 48 65 69 67 68 74 28 74 6b 77 69  e Tk_Height(tkwi
3420: 6e 29 20 5c 0a 20 20 20 20 28 28 74 6b 77 69 6e  n) \.    ((tkwin
3430: 29 2d 3e 72 65 63 74 2e 62 6f 74 74 6f 6d 20 2d  )->rect.bottom -
3440: 20 28 74 6b 77 69 6e 29 2d 3e 72 65 63 74 2e 74   (tkwin)->rect.t
3450: 6f 70 29 0a 23 64 65 66 69 6e 65 20 54 6b 5f 49  op).#define Tk_I
3460: 73 4d 61 70 70 65 64 28 74 6b 77 69 6e 29 09 09  sMapped(tkwin)..
3470: 28 28 74 6b 77 69 6e 29 2d 3e 66 6c 61 67 73 20  ((tkwin)->flags 
3480: 26 20 54 4b 5f 4d 41 50 50 45 44 29 0a 23 64 65  & TK_MAPPED).#de
3490: 66 69 6e 65 20 54 6b 5f 49 73 54 6f 70 4c 65 76  fine Tk_IsTopLev
34a0: 65 6c 28 74 6b 77 69 6e 29 09 09 28 28 74 6b 77  el(tkwin)..((tkw
34b0: 69 6e 29 2d 3e 66 6c 61 67 73 20 26 20 54 4b 5f  in)->flags & TK_
34c0: 54 4f 50 5f 4c 45 56 45 4c 29 0a 23 64 65 66 69  TOP_LEVEL).#defi
34d0: 6e 65 20 54 6b 5f 52 65 71 57 69 64 74 68 28 74  ne Tk_ReqWidth(t
34e0: 6b 77 69 6e 29 09 09 28 28 74 6b 77 69 6e 29 2d  kwin)..((tkwin)-
34f0: 3e 72 65 71 57 69 64 74 68 29 0a 23 64 65 66 69  >reqWidth).#defi
3500: 6e 65 20 54 6b 5f 52 65 71 48 65 69 67 68 74 28  ne Tk_ReqHeight(
3510: 74 6b 77 69 6e 29 09 09 28 28 74 6b 77 69 6e 29  tkwin)..((tkwin)
3520: 2d 3e 72 65 71 48 65 69 67 68 74 29 0a 23 64 65  ->reqHeight).#de
3530: 66 69 6e 65 20 54 6b 5f 49 6e 74 65 72 6e 61 6c  fine Tk_Internal
3540: 42 6f 72 64 65 72 57 69 64 74 68 28 74 6b 77 69  BorderWidth(tkwi
3550: 6e 29 09 28 28 74 6b 77 69 6e 29 2d 3e 62 6f 72  n).((tkwin)->bor
3560: 64 65 72 57 69 64 74 68 29 0a 23 64 65 66 69 6e  derWidth).#defin
3570: 65 20 54 6b 5f 42 6f 72 64 65 72 57 69 64 74 68  e Tk_BorderWidth
3580: 28 74 6b 77 69 6e 29 09 09 30 0a 23 64 65 66 69  (tkwin)..0.#defi
3590: 6e 65 20 54 6b 5f 50 61 72 65 6e 74 28 74 6b 77  ne Tk_Parent(tkw
35a0: 69 6e 29 09 09 28 28 74 6b 77 69 6e 29 2d 3e 70  in)..((tkwin)->p
35b0: 61 72 65 6e 74 50 74 72 29 0a 0a 0a 74 79 70 65  arentPtr)...type
35c0: 64 65 66 20 73 74 72 75 63 74 20 54 6b 57 69 6e  def struct TkWin
35d0: 64 6f 77 20 7b 0a 20 20 20 20 2f 2a 0a 20 20 20  dow {.    /*.   
35e0: 20 20 2a 20 52 65 6c 61 74 69 76 65 73 0a 20 20    * Relatives.  
35f0: 20 20 20 2a 2f 0a 20 20 20 20 73 74 72 75 63 74     */.    struct
3600: 20 54 6b 57 69 6e 64 6f 77 20 2a 70 72 69 6f 72   TkWindow *prior
3610: 50 74 72 3b 0a 20 20 20 20 73 74 72 75 63 74 20  Ptr;.    struct 
3620: 54 6b 57 69 6e 64 6f 77 20 2a 6e 65 78 74 50 74  TkWindow *nextPt
3630: 72 3b 0a 20 20 20 20 73 74 72 75 63 74 20 54 6b  r;.    struct Tk
3640: 57 69 6e 64 6f 77 20 2a 70 61 72 65 6e 74 50 74  Window *parentPt
3650: 72 3b 0a 20 20 20 20 73 74 72 75 63 74 20 7b 0a  r;.    struct {.
3660: 09 73 74 72 75 63 74 20 54 6b 57 69 6e 64 6f 77  .struct TkWindow
3670: 20 2a 70 72 69 6f 72 50 74 72 3b 09 2f 2a 20 54   *priorPtr;./* T
3680: 6f 70 20 63 68 69 6c 64 20 2a 2f 0a 09 73 74 72  op child */..str
3690: 75 63 74 20 54 6b 57 69 6e 64 6f 77 20 2a 6e 65  uct TkWindow *ne
36a0: 78 74 50 74 72 3b 09 2f 2a 20 42 6f 74 74 6f 6d  xtPtr;./* Bottom
36b0: 20 63 68 69 6c 64 20 2a 2f 0a 20 20 20 20 7d 20   child */.    } 
36c0: 63 68 69 6c 64 4c 69 73 74 3b 0a 0a 20 20 20 20  childList;..    
36d0: 63 68 61 72 20 2a 70 61 74 68 4e 61 6d 65 3b 09  char *pathName;.
36e0: 09 2f 2a 20 46 75 6c 6c 20 6e 61 6d 65 20 6f 66  ./* Full name of
36f0: 20 77 69 6e 64 6f 77 20 2a 2f 0a 20 20 20 20 54   window */.    T
3700: 6b 5f 55 69 64 20 6e 61 6d 65 55 69 64 3b 09 09  k_Uid nameUid;..
3710: 2f 2a 20 4e 61 6d 65 20 6f 66 20 74 68 65 20 77  /* Name of the w
3720: 69 6e 64 6f 77 20 77 69 74 68 69 6e 20 69 74 73  indow within its
3730: 20 70 61 72 65 6e 74 0a 09 09 09 09 20 2a 20 28   parent..... * (
3740: 75 6e 69 71 75 65 20 77 69 74 68 69 6e 20 74 68  unique within th
3750: 65 20 70 61 72 65 6e 74 29 2e 20 2a 2f 0a 20 20  e parent). */.  
3760: 20 20 54 6b 5f 55 69 64 20 63 6c 61 73 73 55 69    Tk_Uid classUi
3770: 64 3b 09 09 2f 2a 20 57 69 64 67 65 74 20 63 6c  d;../* Widget cl
3780: 61 73 73 20 2a 2f 0a 20 20 20 20 69 6e 74 20 66  ass */.    int f
3790: 6c 61 67 73 3b 09 09 09 2f 2a 20 56 61 72 69 6f  lags;.../* Vario
37a0: 75 73 20 73 74 61 74 75 73 20 66 6c 61 67 73 2c  us status flags,
37b0: 20 73 65 65 20 62 65 6c 6f 77 20 2a 2f 0a 20 20   see below */.  
37c0: 20 20 54 6b 4d 61 69 6e 49 6e 66 6f 20 2a 6d 61    TkMainInfo *ma
37d0: 69 6e 50 74 72 3b 09 2f 2a 20 49 6e 66 6f 72 6d  inPtr;./* Inform
37e0: 61 74 69 6f 6e 20 73 68 61 72 65 64 20 62 79 20  ation shared by 
37f0: 61 6c 6c 20 77 69 6e 64 6f 77 73 0a 09 09 09 09  all windows.....
3800: 20 2a 20 61 73 73 6f 63 69 61 74 65 64 20 77 69   * associated wi
3810: 74 68 20 61 20 70 61 72 74 69 63 75 6c 61 72 20  th a particular 
3820: 6d 61 69 6e 0a 09 09 09 09 20 2a 20 77 69 6e 64  main..... * wind
3830: 6f 77 2e 20 2a 2f 0a 20 20 20 20 54 6b 44 69 73  ow. */.    TkDis
3840: 70 6c 61 79 20 2a 64 69 73 70 50 74 72 3b 09 09  play *dispPtr;..
3850: 2f 2a 20 44 69 73 70 6c 61 79 20 66 6f 72 20 77  /* Display for w
3860: 69 6e 64 6f 77 2e 20 2a 2f 0a 0a 20 20 20 20 2f  indow. */..    /
3870: 2a 0a 20 20 20 20 20 2a 20 47 65 6f 6d 65 74 72  *.     * Geometr
3880: 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 43 74  y.     */.    Ct
3890: 6b 5f 52 65 63 74 20 72 65 63 74 3b 09 09 2f 2a  k_Rect rect;../*
38a0: 20 57 69 6e 64 6f 77 20 6f 75 74 6c 69 6e 65 2c   Window outline,
38b0: 20 72 65 6c 61 74 69 76 65 20 74 6f 20 70 61 72   relative to par
38c0: 65 6e 74 2e 0a 09 09 09 09 20 2a 20 55 6e 64 65  ent...... * Unde
38d0: 66 69 6e 65 64 20 69 66 20 77 69 6e 64 6f 77 20  fined if window 
38e0: 69 73 20 6e 6f 74 20 6d 61 70 70 65 64 2e 20 20  is not mapped.  
38f0: 2a 2f 0a 20 20 20 20 69 6e 74 20 61 62 73 4c 65  */.    int absLe
3900: 66 74 2c 20 61 62 73 54 6f 70 3b 09 2f 2a 20 41  ft, absTop;./* A
3910: 62 73 6f 6c 75 74 65 20 73 63 72 65 65 6e 20 70  bsolute screen p
3920: 6f 73 69 74 69 6f 6e 2e 20 20 55 6e 64 65 66 69  osition.  Undefi
3930: 6e 65 64 20 69 66 0a 09 09 09 09 20 2a 20 77 69  ned if..... * wi
3940: 6e 64 6f 77 20 69 73 20 6e 6f 74 20 64 69 73 70  ndow is not disp
3950: 6c 61 79 65 64 2e 20 20 2a 2f 0a 20 20 20 20 69  layed.  */.    i
3960: 6e 74 20 62 6f 72 64 65 72 57 69 64 74 68 3b 09  nt borderWidth;.
3970: 09 2f 2a 20 49 6e 74 65 72 6e 61 6c 20 62 6f 72  ./* Internal bor
3980: 64 65 72 20 77 69 64 74 68 2e 20 20 44 6f 65 73  der width.  Does
3990: 20 6e 6f 74 20 61 66 66 65 63 74 0a 09 09 09 09   not affect.....
39a0: 20 2a 20 74 68 65 20 77 69 6e 64 6f 77 27 73 20   * the window's 
39b0: 6c 6f 63 61 6c 20 63 6f 6f 72 64 69 6e 61 74 65  local coordinate
39c0: 20 73 79 73 74 65 6d 2c 0a 09 09 09 09 20 2a 20   system,..... * 
39d0: 62 75 74 20 74 68 65 20 62 6f 72 64 65 72 20 61  but the border a
39e0: 72 65 61 20 69 73 20 72 65 6d 6f 76 65 64 20 66  rea is removed f
39f0: 72 6f 6d 0a 09 09 09 09 20 2a 20 74 68 65 20 63  rom..... * the c
3a00: 6c 69 70 52 65 63 74 20 73 6f 20 74 68 61 74 20  lipRect so that 
3a10: 77 69 64 67 65 74 20 63 61 6e 27 74 20 64 72 61  widget can't dra
3a20: 77 0a 09 09 09 09 20 2a 20 6f 6e 20 62 6f 72 64  w..... * on bord
3a30: 65 72 2e 20 2a 2f 0a 20 20 20 20 43 74 6b 5f 52  er. */.    Ctk_R
3a40: 65 63 74 20 6d 61 73 6b 52 65 63 74 3b 09 09 2f  ect maskRect;../
3a50: 2a 20 49 6e 20 61 62 73 6f 6c 75 74 65 20 63 6f  * In absolute co
3a60: 6f 72 64 69 6e 61 74 65 73 2e 20 20 52 65 70 72  ordinates.  Repr
3a70: 65 73 65 6e 74 73 20 63 6c 69 70 70 69 6e 67 0a  esents clipping.
3a80: 09 09 09 09 20 2a 20 62 79 20 70 61 72 65 6e 74  .... * by parent
3a90: 73 2e 20 20 55 73 65 64 20 66 6f 72 20 63 6f 6d  s.  Used for com
3aa0: 70 75 74 69 6e 67 20 6f 76 65 72 6c 61 70 20 77  puting overlap w
3ab0: 69 74 68 0a 09 09 09 09 20 2a 20 6f 74 68 65 72  ith..... * other
3ac0: 20 77 69 6e 64 6f 77 73 2e 20 2a 2f 0a 20 20 20   windows. */.   
3ad0: 20 43 74 6b 5f 52 65 63 74 20 63 6c 69 70 52 65   Ctk_Rect clipRe
3ae0: 63 74 3b 09 09 2f 2a 20 49 6e 20 61 62 73 6f 6c  ct;../* In absol
3af0: 75 74 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e  ute coordinates.
3b00: 20 20 52 65 70 72 65 73 65 6e 74 73 20 63 6c 69    Represents cli
3b10: 70 70 69 6e 67 0a 09 09 09 09 20 2a 20 62 79 20  pping..... * by 
3b20: 70 61 72 65 6e 74 73 20 61 6e 64 20 69 6e 74 65  parents and inte
3b30: 72 6e 61 6c 20 62 6f 72 64 65 72 2e 20 20 55 6e  rnal border.  Un
3b40: 64 65 66 69 6e 65 64 0a 09 09 09 09 20 2a 20 69  defined..... * i
3b50: 66 20 77 69 6e 64 6f 77 20 69 73 20 6e 6f 74 20  f window is not 
3b60: 64 69 73 70 6c 61 79 65 64 2e 20 2a 2f 0a 20 20  displayed. */.  
3b70: 20 20 43 74 6b 52 65 67 69 6f 6e 20 2a 63 6c 69    CtkRegion *cli
3b80: 70 52 67 6e 3b 09 09 2f 2a 20 49 6e 20 61 62 73  pRgn;../* In abs
3b90: 6f 6c 75 74 65 20 63 6f 6f 72 64 69 6e 61 74 65  olute coordinate
3ba0: 73 2c 20 72 65 70 72 65 73 65 6e 74 73 20 63 6c  s, represents cl
3bb0: 69 70 70 69 6e 67 0a 09 09 09 09 20 2a 20 62 79  ipping..... * by
3bc0: 20 73 69 62 6c 69 6e 67 73 2c 20 73 68 61 72 65   siblings, share
3bd0: 64 20 62 79 20 65 6e 74 69 72 65 20 74 72 65 65  d by entire tree
3be0: 20 6f 66 0a 09 09 09 09 20 2a 20 61 20 74 6f 70   of..... * a top
3bf0: 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 2e 20 20  -level window.  
3c00: 55 6e 64 65 66 69 6e 65 64 20 69 66 20 77 69 6e  Undefined if win
3c10: 64 6f 77 0a 09 09 09 09 20 2a 20 69 73 20 6e 6f  dow..... * is no
3c20: 74 20 64 69 73 70 6c 61 79 65 64 2e 20 2a 2f 0a  t displayed. */.
3c30: 0a 20 20 20 20 2f 2a 0a 20 20 20 20 20 2a 20 42  .    /*.     * B
3c40: 61 63 6b 67 72 6f 75 6e 64 20 66 69 6c 6c 0a 20  ackground fill. 
3c50: 20 20 20 20 2a 2f 0a 20 20 20 20 43 74 6b 5f 53      */.    Ctk_S
3c60: 74 79 6c 65 20 66 69 6c 6c 53 74 79 6c 65 3b 0a  tyle fillStyle;.
3c70: 20 20 20 20 69 6e 74 20 66 69 6c 6c 43 68 61 72      int fillChar
3c80: 3b 0a 0a 20 20 20 20 2f 2a 0a 20 20 20 20 20 2a  ;..    /*.     *
3c90: 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 6b 65 70   Information kep
3ca0: 74 20 62 79 20 74 68 65 20 65 76 65 6e 74 20 6d  t by the event m
3cb0: 61 6e 61 67 65 72 20 28 74 6b 45 76 65 6e 74 2e  anager (tkEvent.
3cc0: 63 29 3a 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20  c):.     */..   
3cd0: 20 54 6b 45 76 65 6e 74 48 61 6e 64 6c 65 72 20   TkEventHandler 
3ce0: 2a 68 61 6e 64 6c 65 72 4c 69 73 74 3b 2f 2a 20  *handlerList;/* 
3cf0: 46 69 72 73 74 20 69 6e 20 6c 69 73 74 20 6f 66  First in list of
3d00: 20 65 76 65 6e 74 20 68 61 6e 64 6c 65 72 73 0a   event handlers.
3d10: 09 09 09 09 20 2a 20 64 65 63 6c 61 72 65 64 20  .... * declared 
3d20: 66 6f 72 20 74 68 69 73 20 77 69 6e 64 6f 77 2c  for this window,
3d30: 20 6f 72 0a 09 09 09 09 20 2a 20 4e 55 4c 4c 20   or..... * NULL 
3d40: 69 66 20 6e 6f 6e 65 2e 20 2a 2f 0a 0a 20 20 20  if none. */..   
3d50: 20 2f 2a 0a 20 20 20 20 20 2a 20 49 6e 66 6f 72   /*.     * Infor
3d60: 6d 61 74 69 6f 6e 20 75 73 65 64 20 66 6f 72 20  mation used for 
3d70: 65 76 65 6e 74 20 62 69 6e 64 69 6e 67 73 20 28  event bindings (
3d80: 73 65 65 20 22 62 69 6e 64 22 20 61 6e 64 20 22  see "bind" and "
3d90: 62 69 6e 64 74 61 67 73 22 0a 20 20 20 20 20 2a  bindtags".     *
3da0: 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 6b 43   commands in tkC
3db0: 6d 64 73 2e 63 29 3a 0a 20 20 20 20 20 2a 2f 0a  mds.c):.     */.
3dc0: 0a 20 20 20 20 43 6c 69 65 6e 74 44 61 74 61 20  .    ClientData 
3dd0: 2a 74 61 67 50 74 72 3b 09 09 2f 2a 20 50 6f 69  *tagPtr;../* Poi
3de0: 6e 74 73 20 74 6f 20 61 72 72 61 79 20 6f 66 20  nts to array of 
3df0: 74 61 67 73 20 75 73 65 64 20 66 6f 72 20 62 69  tags used for bi
3e00: 6e 64 69 6e 67 73 0a 09 09 09 09 20 2a 20 6f 6e  ndings..... * on
3e10: 20 74 68 69 73 20 77 69 6e 64 6f 77 2e 20 20 45   this window.  E
3e20: 61 63 68 20 74 61 67 20 69 73 20 61 20 54 6b 5f  ach tag is a Tk_
3e30: 55 69 64 2e 0a 09 09 09 09 20 2a 20 4d 61 6c 6c  Uid...... * Mall
3e40: 6f 63 27 65 64 2e 20 20 4e 55 4c 4c 20 6d 65 61  oc'ed.  NULL mea
3e50: 6e 73 20 6e 6f 20 74 61 67 73 2e 20 2a 2f 0a 20  ns no tags. */. 
3e60: 20 20 20 69 6e 74 20 6e 75 6d 54 61 67 73 3b 09     int numTags;.
3e70: 09 2f 2a 20 4e 75 6d 62 65 72 20 6f 66 20 74 61  ./* Number of ta
3e80: 67 73 20 61 74 20 2a 74 61 67 50 74 72 2e 20 2a  gs at *tagPtr. *
3e90: 2f 0a 0a 20 20 20 20 2f 2a 0a 20 20 20 20 20 2a  /..    /*.     *
3ea0: 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 75 73 65   Information use
3eb0: 64 20 62 79 20 74 6b 4f 70 74 69 6f 6e 2e 63 20  d by tkOption.c 
3ec0: 74 6f 20 6d 61 6e 61 67 65 20 6f 70 74 69 6f 6e  to manage option
3ed0: 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 2a  s for the.     *
3ee0: 20 77 69 6e 64 6f 77 2e 0a 20 20 20 20 20 2a 2f   window..     */
3ef0: 0a 0a 20 20 20 20 69 6e 74 20 6f 70 74 69 6f 6e  ..    int option
3f00: 4c 65 76 65 6c 3b 09 09 2f 2a 20 2d 31 20 6d 65  Level;../* -1 me
3f10: 61 6e 73 20 6e 6f 20 6f 70 74 69 6f 6e 20 69 6e  ans no option in
3f20: 66 6f 72 6d 61 74 69 6f 6e 20 69 73 0a 09 09 09  formation is....
3f30: 09 20 2a 20 63 75 72 72 65 6e 74 6c 79 20 63 61  . * currently ca
3f40: 63 68 65 64 20 66 6f 72 20 74 68 69 73 20 77 69  ched for this wi
3f50: 6e 64 6f 77 2e 0a 09 09 09 09 20 2a 20 4f 74 68  ndow...... * Oth
3f60: 65 72 77 69 73 65 20 74 68 69 73 20 67 69 76 65  erwise this give
3f70: 73 20 74 68 65 20 6c 65 76 65 6c 20 69 6e 0a 09  s the level in..
3f80: 09 09 09 20 2a 20 74 68 65 20 6f 70 74 69 6f 6e  ... * the option
3f90: 20 73 74 61 63 6b 20 61 74 20 77 68 69 63 68 20   stack at which 
3fa0: 69 6e 66 6f 20 69 73 0a 09 09 09 09 20 2a 20 63  info is..... * c
3fb0: 61 63 68 65 64 2e 20 2a 2f 0a 20 20 20 20 2f 2a  ached. */.    /*
3fc0: 0a 20 20 20 20 20 2a 20 49 6e 66 6f 72 6d 61 74  .     * Informat
3fd0: 69 6f 6e 20 75 73 65 64 20 62 79 20 74 6b 47 65  ion used by tkGe
3fe0: 6f 6d 65 74 72 79 2e 63 20 66 6f 72 20 67 65 6f  ometry.c for geo
3ff0: 6d 65 74 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74  metry management
4000: 2e 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 54  ..     */..    T
4010: 6b 5f 47 65 6f 6d 4d 67 72 20 2a 67 65 6f 6d 4d  k_GeomMgr *geomM
4020: 67 72 50 74 72 3b 09 2f 2a 20 49 6e 66 6f 72 6d  grPtr;./* Inform
4030: 61 74 69 6f 6e 20 61 62 6f 75 74 20 67 65 6f 6d  ation about geom
4040: 65 74 72 79 20 6d 61 6e 61 67 65 72 20 66 6f 72  etry manager for
4050: 0a 09 09 09 09 20 2a 20 74 68 69 73 20 77 69 6e  ..... * this win
4060: 64 6f 77 2e 20 2a 2f 0a 20 20 20 20 43 6c 69 65  dow. */.    Clie
4070: 6e 74 44 61 74 61 20 67 65 6f 6d 44 61 74 61 3b  ntData geomData;
4080: 09 2f 2a 20 41 72 67 75 6d 65 6e 74 20 66 6f 72  ./* Argument for
4090: 20 67 65 6f 6d 65 74 72 79 20 6d 61 6e 61 67 65   geometry manage
40a0: 72 20 70 72 6f 63 65 64 75 72 65 73 2e 20 2a 2f  r procedures. */
40b0: 0a 20 20 20 20 69 6e 74 20 72 65 71 57 69 64 74  .    int reqWidt
40c0: 68 2c 20 72 65 71 48 65 69 67 68 74 3b 09 2f 2a  h, reqHeight;./*
40d0: 20 41 72 67 75 6d 65 6e 74 73 20 66 72 6f 6d 20   Arguments from 
40e0: 6c 61 73 74 20 63 61 6c 6c 20 74 6f 0a 09 09 09  last call to....
40f0: 09 20 2a 20 54 6b 5f 47 65 6f 6d 65 74 72 79 52  . * Tk_GeometryR
4100: 65 71 75 65 73 74 2c 20 6f 72 20 30 27 73 20 69  equest, or 0's i
4110: 66 0a 09 09 09 09 20 2a 20 54 6b 5f 47 65 6f 6d  f..... * Tk_Geom
4120: 65 74 72 79 52 65 71 75 65 73 74 20 68 61 73 6e  etryRequest hasn
4130: 27 74 20 62 65 65 6e 0a 09 09 09 09 20 2a 20 63  't been..... * c
4140: 61 6c 6c 65 64 2e 20 2a 2f 0a 7d 20 54 6b 57 69  alled. */.} TkWi
4150: 6e 64 6f 77 3b 0a 0a 74 79 70 65 64 65 66 20 54  ndow;..typedef T
4160: 6b 57 69 6e 64 6f 77 20 54 6b 5f 46 61 6b 65 57  kWindow Tk_FakeW
4170: 69 6e 3b 0a 0a 2f 2a 0a 20 2a 20 46 6c 61 67 20  in;../*. * Flag 
4180: 76 61 6c 75 65 73 20 66 6f 72 20 54 6b 57 69 6e  values for TkWin
4190: 64 6f 77 20 28 61 6e 64 20 54 6b 5f 46 61 6b 65  dow (and Tk_Fake
41a0: 57 69 6e 29 20 73 74 72 75 63 74 75 72 65 73 20  Win) structures 
41b0: 61 72 65 3a 0a 20 2a 0a 20 2a 20 54 4b 5f 4d 41  are:. *. * TK_MA
41c0: 50 50 45 44 09 09 49 73 20 74 68 65 20 77 69 6e  PPED..Is the win
41d0: 64 6f 77 20 70 6f 73 69 74 69 6f 6e 65 64 20 69  dow positioned i
41e0: 6e 20 74 68 65 20 70 61 72 65 6e 74 20 77 69 6e  n the parent win
41f0: 64 6f 77 3f 0a 20 2a 09 09 09 57 69 6e 64 6f 77  dow?. *...Window
4200: 20 68 61 73 20 61 20 72 65 6c 61 74 69 76 65 20   has a relative 
4210: 70 6f 73 69 74 69 6f 6e 2c 20 62 75 74 20 6e 6f  position, but no
4220: 74 20 6e 65 63 65 73 73 61 72 69 6c 79 0a 20 2a  t necessarily. *
4230: 09 09 09 61 6e 20 61 62 73 6f 6c 75 74 65 20 6f  ...an absolute o
4240: 6e 65 2e 0a 20 2a 0a 20 2a 20 54 4b 5f 41 4c 52  ne.. *. * TK_ALR
4250: 45 41 44 59 5f 44 45 41 44 09 49 66 20 74 72 75  EADY_DEAD.If tru
4260: 65 2c 20 66 72 65 65 5f 70 72 6f 63 20 77 69 6c  e, free_proc wil
4270: 6c 20 62 65 20 63 61 6c 6c 65 64 20 64 75 72 69  l be called duri
4280: 6e 67 20 6e 65 78 74 0a 20 2a 09 09 09 69 64 6c  ng next. *...idl
4290: 65 20 70 65 72 69 6f 64 2e 20 20 42 45 57 41 52  e period.  BEWAR
42a0: 45 3a 20 20 4d 6f 73 74 20 6f 66 20 74 68 65 20  E:  Most of the 
42b0: 66 69 65 6c 64 20 61 72 65 0a 20 2a 09 09 09 75  field are. *...u
42c0: 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 69 73  ndefined if this
42d0: 20 66 6c 61 67 20 69 73 20 73 65 74 2e 20 20 28   flag is set.  (
42e0: 57 68 69 63 68 20 61 72 65 0a 20 2a 09 09 09 76  Which are. *...v
42f0: 61 6c 69 64 3f 29 2e 0a 20 2a 0a 20 2a 20 54 4b  alid?).. *. * TK
4300: 5f 54 4f 50 5f 4c 45 56 45 4c 3a 09 31 20 6d 65  _TOP_LEVEL:.1 me
4310: 61 6e 73 20 74 68 69 73 20 69 73 20 61 20 74 6f  ans this is a to
4320: 70 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 28  p-level window (
4330: 69 74 0a 20 2a 09 09 09 77 61 73 20 6f 72 20 77  it. *...was or w
4340: 69 6c 6c 20 62 65 20 63 72 65 61 74 65 64 20 61  ill be created a
4350: 73 20 61 20 63 68 69 6c 64 20 6f 66 0a 20 2a 09  s a child of. *.
4360: 09 09 61 20 72 6f 6f 74 20 77 69 6e 64 6f 77 29  ..a root window)
4370: 2e 0a 20 2a 0a 20 2a 20 43 54 4b 5f 44 49 53 50  .. *. * CTK_DISP
4380: 4c 41 59 45 44 09 49 73 20 77 69 6e 64 6f 77 20  LAYED.Is window 
4390: 61 6e 64 20 61 6c 6c 20 69 74 73 20 61 6e 63 65  and all its ance
43a0: 73 74 6f 72 73 20 6d 61 70 70 65 64 3f 20 20 57  stors mapped?  W
43b0: 69 6e 64 6f 77 20 68 61 73 20 61 6e 0a 20 2a 09  indow has an. *.
43c0: 09 09 61 62 73 6f 6c 75 74 65 20 70 6f 73 69 74  ..absolute posit
43d0: 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 43 54 4b 5f 48  ion.. *. * CTK_H
43e0: 41 53 5f 54 4f 50 4c 45 56 45 4c 5f 43 48 49 4c  AS_TOPLEVEL_CHIL
43f0: 44 0a 20 2a 09 09 09 31 20 6d 65 61 6e 73 20 74  D. *...1 means t
4400: 68 69 73 20 77 69 6e 64 6f 77 20 68 61 73 20 74  his window has t
4410: 6f 70 2d 6c 65 76 65 6c 20 63 68 69 6c 64 72 65  op-level childre
4420: 6e 20 28 77 68 69 63 68 0a 20 2a 09 09 09 77 6f  n (which. *...wo
4430: 6e 27 74 20 62 65 20 69 6e 20 74 68 65 20 73 74  n't be in the st
4440: 61 6e 64 61 72 64 20 6c 69 6e 6b 65 64 20 6c 69  andard linked li
4450: 73 74 20 6f 66 20 63 68 69 6c 64 72 65 6e 0a 20  st of children. 
4460: 2a 09 09 09 66 6f 72 20 74 68 69 73 20 77 69 6e  *...for this win
4470: 64 6f 77 20 2d 20 74 68 65 20 77 69 6c 6c 20 62  dow - the will b
4480: 65 20 66 6f 75 6e 64 20 61 73 20 61 20 63 68 69  e found as a chi
4490: 6c 64 0a 20 2a 09 09 09 6f 66 20 61 20 72 6f 6f  ld. *...of a roo
44a0: 74 20 77 69 6e 64 6f 77 20 61 6e 64 20 6d 75 73  t window and mus
44b0: 74 20 62 65 20 6c 6f 63 61 74 65 64 20 62 79 20  t be located by 
44c0: 6e 61 6d 65 2e 29 0a 20 2a 2f 0a 23 64 65 66 69  name.). */.#defi
44d0: 6e 65 20 54 4b 5f 4d 41 50 50 45 44 09 09 28 31  ne TK_MAPPED..(1
44e0: 3c 3c 30 29 0a 23 64 65 66 69 6e 65 20 54 4b 5f  <<0).#define TK_
44f0: 41 4c 52 45 41 44 59 5f 44 45 41 44 09 09 28 31  ALREADY_DEAD..(1
4500: 3c 3c 31 29 0a 23 64 65 66 69 6e 65 20 54 4b 5f  <<1).#define TK_
4510: 54 4f 50 5f 4c 45 56 45 4c 09 09 28 31 3c 3c 32  TOP_LEVEL..(1<<2
4520: 29 0a 23 64 65 66 69 6e 65 20 43 54 4b 5f 44 49  ).#define CTK_DI
4530: 53 50 4c 41 59 45 44 09 09 28 31 3c 3c 33 29 0a  SPLAYED..(1<<3).
4540: 23 64 65 66 69 6e 65 20 43 54 4b 5f 48 41 53 5f  #define CTK_HAS_
4550: 54 4f 50 4c 45 56 45 4c 5f 43 48 49 4c 44 09 28  TOPLEVEL_CHILD.(
4560: 31 3c 3c 34 29 0a 0a 0a 0c 0a 2f 2a 0a 20 2a 2d  1<<4)...../*. *-
4570: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4580: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4590: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
45a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 2a  -------------. *
45b0: 0a 20 2a 20 41 64 64 69 74 69 6f 6e 61 6c 20 70  . * Additional p
45c0: 72 6f 63 65 64 75 72 65 20 74 79 70 65 73 20 64  rocedure types d
45d0: 65 66 69 6e 65 64 20 62 79 20 54 6b 2e 0a 20 2a  efined by Tk.. *
45e0: 0a 20 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  . *-------------
45f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4600: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4610: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4620: 2d 0a 20 2a 2f 0a 0a 74 79 70 65 64 65 66 20 76  -. */..typedef v
4630: 6f 69 64 20 28 54 6b 5f 45 76 65 6e 74 50 72 6f  oid (Tk_EventPro
4640: 63 29 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  c) _ANSI_ARGS_((
4650: 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e  ClientData clien
4660: 74 44 61 74 61 2c 0a 09 58 45 76 65 6e 74 20 2a  tData,..XEvent *
4670: 65 76 65 6e 74 50 74 72 29 29 3b 0a 74 79 70 65  eventPtr));.type
4680: 64 65 66 20 76 6f 69 64 20 28 54 6b 5f 46 69 6c  def void (Tk_Fil
4690: 65 50 72 6f 63 29 20 5f 41 4e 53 49 5f 41 52 47  eProc) _ANSI_ARG
46a0: 53 5f 28 28 43 6c 69 65 6e 74 44 61 74 61 20 63  S_((ClientData c
46b0: 6c 69 65 6e 74 44 61 74 61 2c 20 69 6e 74 20 6d  lientData, int m
46c0: 61 73 6b 29 29 3b 0a 74 79 70 65 64 65 66 20 69  ask));.typedef i
46d0: 6e 74 20 28 54 6b 5f 46 69 6c 65 50 72 6f 63 32  nt (Tk_FileProc2
46e0: 29 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43  ) _ANSI_ARGS_((C
46f0: 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74  lientData client
4700: 44 61 74 61 2c 20 69 6e 74 20 6d 61 73 6b 2c 0a  Data, int mask,.
4710: 09 69 6e 74 20 66 6c 61 67 73 29 29 3b 0a 74 79  .int flags));.ty
4720: 70 65 64 65 66 20 76 6f 69 64 20 28 54 6b 5f 46  pedef void (Tk_F
4730: 72 65 65 50 72 6f 63 29 20 5f 41 4e 53 49 5f 41  reeProc) _ANSI_A
4740: 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74 61  RGS_((ClientData
4750: 20 63 6c 69 65 6e 74 44 61 74 61 29 29 3b 0a 74   clientData));.t
4760: 79 70 65 64 65 66 20 69 6e 74 20 28 54 6b 5f 47  ypedef int (Tk_G
4770: 65 6e 65 72 69 63 50 72 6f 63 29 20 5f 41 4e 53  enericProc) _ANS
4780: 49 5f 41 52 47 53 5f 28 28 43 6c 69 65 6e 74 44  I_ARGS_((ClientD
4790: 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a  ata clientData,.
47a0: 09 58 45 76 65 6e 74 20 2a 65 76 65 6e 74 50 74  .XEvent *eventPt
47b0: 72 29 29 3b 0a 74 79 70 65 64 65 66 20 69 6e 74  r));.typedef int
47c0: 20 28 54 6b 5f 47 65 74 53 65 6c 50 72 6f 63 29   (Tk_GetSelProc)
47d0: 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c   _ANSI_ARGS_((Cl
47e0: 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44  ientData clientD
47f0: 61 74 61 2c 0a 09 54 63 6c 5f 49 6e 74 65 72 70  ata,..Tcl_Interp
4800: 20 2a 69 6e 74 65 72 70 2c 20 63 68 61 72 20 2a   *interp, char *
4810: 70 6f 72 74 69 6f 6e 29 29 3b 0a 74 79 70 65 64  portion));.typed
4820: 65 66 20 76 6f 69 64 20 28 54 6b 5f 49 64 6c 65  ef void (Tk_Idle
4830: 50 72 6f 63 29 20 5f 41 4e 53 49 5f 41 52 47 53  Proc) _ANSI_ARGS
4840: 5f 28 28 43 6c 69 65 6e 74 44 61 74 61 20 63 6c  _((ClientData cl
4850: 69 65 6e 74 44 61 74 61 29 29 3b 0a 74 79 70 65  ientData));.type
4860: 64 65 66 20 76 6f 69 64 20 28 54 6b 5f 4c 6f 73  def void (Tk_Los
4870: 74 53 65 6c 50 72 6f 63 29 20 5f 41 4e 53 49 5f  tSelProc) _ANSI_
4880: 41 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74  ARGS_((ClientDat
4890: 61 20 63 6c 69 65 6e 74 44 61 74 61 29 29 3b 0a  a clientData));.
48a0: 74 79 70 65 64 65 66 20 69 6e 74 20 28 54 6b 5f  typedef int (Tk_
48b0: 53 65 6c 65 63 74 69 6f 6e 50 72 6f 63 29 20 5f  SelectionProc) _
48c0: 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65  ANSI_ARGS_((Clie
48d0: 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74  ntData clientDat
48e0: 61 2c 0a 09 69 6e 74 20 6f 66 66 73 65 74 2c 20  a,..int offset, 
48f0: 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 69 6e  char *buffer, in
4900: 74 20 6d 61 78 42 79 74 65 73 29 29 3b 0a 74 79  t maxBytes));.ty
4910: 70 65 64 65 66 20 76 6f 69 64 20 28 54 6b 5f 54  pedef void (Tk_T
4920: 69 6d 65 72 50 72 6f 63 29 20 5f 41 4e 53 49 5f  imerProc) _ANSI_
4930: 41 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74  ARGS_((ClientDat
4940: 61 20 63 6c 69 65 6e 74 44 61 74 61 29 29 3b 0a  a clientData));.
4950: 0c 0a 2f 2a 0a 20 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d  ../*. *---------
4960: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4970: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4980: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4990: 2d 2d 2d 2d 2d 0a 20 2a 0a 20 2a 20 45 78 70 6f  -----. *. * Expo
49a0: 72 74 65 64 20 70 72 6f 63 65 64 75 72 65 73 20  rted procedures 
49b0: 61 6e 64 20 76 61 72 69 61 62 6c 65 73 2e 0a 20  and variables.. 
49c0: 2a 0a 20 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  *. *------------
49d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
49e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
49f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4a00: 2d 2d 0a 20 2a 2f 0a 0a 45 58 54 45 52 4e 20 76  --. */..EXTERN v
4a10: 6f 69 64 09 09 54 6b 5f 41 64 64 4f 70 74 69 6f  oid..Tk_AddOptio
4a20: 6e 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  n _ANSI_ARGS_((T
4a30: 6b 5f 57 69 6e 64 6f 77 20 74 6b 77 69 6e 2c 20  k_Window tkwin, 
4a40: 63 68 61 72 20 2a 6e 61 6d 65 2c 0a 09 09 09 20  char *name,.... 
4a50: 20 20 20 63 68 61 72 20 2a 76 61 6c 75 65 2c 20     char *value, 
4a60: 69 6e 74 20 70 72 69 6f 72 69 74 79 29 29 3b 0a  int priority));.
4a70: 45 58 54 45 52 4e 20 76 6f 69 64 09 09 54 6b 5f  EXTERN void..Tk_
4a80: 42 69 6e 64 45 76 65 6e 74 20 5f 41 4e 53 49 5f  BindEvent _ANSI_
4a90: 41 52 47 53 5f 28 28 54 6b 5f 42 69 6e 64 69 6e  ARGS_((Tk_Bindin
4aa0: 67 54 61 62 6c 65 20 62 69 6e 64 69 6e 67 54 61  gTable bindingTa
4ab0: 62 6c 65 2c 0a 09 09 09 20 20 20 20 58 45 76 65  ble,....    XEve
4ac0: 6e 74 20 2a 65 76 65 6e 74 50 74 72 2c 20 54 6b  nt *eventPtr, Tk
4ad0: 5f 57 69 6e 64 6f 77 20 74 6b 77 69 6e 2c 20 69  _Window tkwin, i
4ae0: 6e 74 20 6e 75 6d 4f 62 6a 65 63 74 73 2c 0a 09  nt numObjects,..
4af0: 09 09 20 20 20 20 43 6c 69 65 6e 74 44 61 74 61  ..    ClientData
4b00: 20 2a 6f 62 6a 65 63 74 50 74 72 29 29 3b 0a 45   *objectPtr));.E
4b10: 58 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f 43 6f  XTERN int..Tk_Co
4b20: 6e 66 69 67 75 72 65 49 6e 66 6f 20 5f 41 4e 53  nfigureInfo _ANS
4b30: 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e 74  I_ARGS_((Tcl_Int
4b40: 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 09 09  erp *interp,....
4b50: 20 20 20 20 54 6b 5f 57 69 6e 64 6f 77 20 74 6b      Tk_Window tk
4b60: 77 69 6e 2c 20 54 6b 5f 43 6f 6e 66 69 67 53 70  win, Tk_ConfigSp
4b70: 65 63 20 2a 73 70 65 63 73 2c 0a 09 09 09 20 20  ec *specs,....  
4b80: 20 20 63 68 61 72 20 2a 77 69 64 67 52 65 63 2c    char *widgRec,
4b90: 20 63 68 61 72 20 2a 61 72 67 76 4e 61 6d 65 2c   char *argvName,
4ba0: 20 69 6e 74 20 66 6c 61 67 73 29 29 3b 0a 45 58   int flags));.EX
4bb0: 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f 43 6f 6e  TERN int..Tk_Con
4bc0: 66 69 67 75 72 65 56 61 6c 75 65 20 5f 41 4e 53  figureValue _ANS
4bd0: 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e 74  I_ARGS_((Tcl_Int
4be0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 09 09  erp *interp,....
4bf0: 20 20 20 20 54 6b 5f 57 69 6e 64 6f 77 20 74 6b      Tk_Window tk
4c00: 77 69 6e 2c 20 54 6b 5f 43 6f 6e 66 69 67 53 70  win, Tk_ConfigSp
4c10: 65 63 20 2a 73 70 65 63 73 2c 0a 09 09 09 20 20  ec *specs,....  
4c20: 20 20 63 68 61 72 20 2a 77 69 64 67 52 65 63 2c    char *widgRec,
4c30: 20 63 68 61 72 20 2a 61 72 67 76 4e 61 6d 65 2c   char *argvName,
4c40: 20 69 6e 74 20 66 6c 61 67 73 29 29 3b 0a 45 58   int flags));.EX
4c50: 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f 43 6f 6e  TERN int..Tk_Con
4c60: 66 69 67 75 72 65 57 69 64 67 65 74 20 5f 41 4e  figureWidget _AN
4c70: 53 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e  SI_ARGS_((Tcl_In
4c80: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 09  terp *interp,...
4c90: 09 20 20 20 20 54 6b 5f 57 69 6e 64 6f 77 20 74  .    Tk_Window t
4ca0: 6b 77 69 6e 2c 20 54 6b 5f 43 6f 6e 66 69 67 53  kwin, Tk_ConfigS
4cb0: 70 65 63 20 2a 73 70 65 63 73 2c 0a 09 09 09 20  pec *specs,.... 
4cc0: 20 20 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61     int argc, cha
4cd0: 72 20 2a 2a 61 72 67 76 2c 20 63 68 61 72 20 2a  r **argv, char *
4ce0: 77 69 64 67 52 65 63 2c 0a 09 09 09 20 20 20 20  widgRec,....    
4cf0: 69 6e 74 20 66 6c 61 67 73 29 29 3b 0a 45 58 54  int flags));.EXT
4d00: 45 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 09 54 6b  ERN Tk_Window.Tk
4d10: 5f 43 6f 6f 72 64 73 54 6f 57 69 6e 64 6f 77 20  _CoordsToWindow 
4d20: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 69 6e 74  _ANSI_ARGS_((int
4d30: 20 72 6f 6f 74 58 2c 20 69 6e 74 20 72 6f 6f 74   rootX, int root
4d40: 59 2c 0a 09 09 09 20 20 20 20 54 6b 5f 57 69 6e  Y,....    Tk_Win
4d50: 64 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 45 58 54  dow tkwin));.EXT
4d60: 45 52 4e 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e  ERN unsigned lon
4d70: 67 09 54 6b 5f 43 72 65 61 74 65 42 69 6e 64 69  g.Tk_CreateBindi
4d80: 6e 67 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  ng _ANSI_ARGS_((
4d90: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65  Tcl_Interp *inte
4da0: 72 70 2c 0a 09 09 09 20 20 20 20 54 6b 5f 42 69  rp,....    Tk_Bi
4db0: 6e 64 69 6e 67 54 61 62 6c 65 20 62 69 6e 64 69  ndingTable bindi
4dc0: 6e 67 54 61 62 6c 65 2c 20 43 6c 69 65 6e 74 44  ngTable, ClientD
4dd0: 61 74 61 20 6f 62 6a 65 63 74 2c 0a 09 09 09 20  ata object,.... 
4de0: 20 20 20 63 68 61 72 20 2a 65 76 65 6e 74 53 74     char *eventSt
4df0: 72 69 6e 67 2c 20 63 68 61 72 20 2a 63 6f 6d 6d  ring, char *comm
4e00: 61 6e 64 2c 20 69 6e 74 20 61 70 70 65 6e 64 29  and, int append)
4e10: 29 3b 0a 45 58 54 45 52 4e 20 54 6b 5f 42 69 6e  );.EXTERN Tk_Bin
4e20: 64 69 6e 67 54 61 62 6c 65 09 54 6b 5f 43 72 65  dingTable.Tk_Cre
4e30: 61 74 65 42 69 6e 64 69 6e 67 54 61 62 6c 65 20  ateBindingTable 
4e40: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 63 6c  _ANSI_ARGS_((Tcl
4e50: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29  _Interp *interp)
4e60: 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09  );.EXTERN void..
4e70: 54 6b 5f 43 72 65 61 74 65 45 76 65 6e 74 48 61  Tk_CreateEventHa
4e80: 6e 64 6c 65 72 20 5f 41 4e 53 49 5f 41 52 47 53  ndler _ANSI_ARGS
4e90: 5f 28 28 54 6b 5f 57 69 6e 64 6f 77 20 74 6f 6b  _((Tk_Window tok
4ea0: 65 6e 2c 0a 09 09 09 20 20 20 20 75 6e 73 69 67  en,....    unsig
4eb0: 6e 65 64 20 6c 6f 6e 67 20 6d 61 73 6b 2c 20 54  ned long mask, T
4ec0: 6b 5f 45 76 65 6e 74 50 72 6f 63 20 2a 70 72 6f  k_EventProc *pro
4ed0: 63 2c 0a 09 09 09 20 20 20 20 43 6c 69 65 6e 74  c,....    Client
4ee0: 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 29  Data clientData)
4ef0: 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09  );.EXTERN void..
4f00: 54 6b 5f 43 72 65 61 74 65 46 69 6c 65 48 61 6e  Tk_CreateFileHan
4f10: 64 6c 65 72 20 5f 41 4e 53 49 5f 41 52 47 53 5f  dler _ANSI_ARGS_
4f20: 28 28 69 6e 74 20 66 64 2c 20 69 6e 74 20 6d 61  ((int fd, int ma
4f30: 73 6b 2c 0a 09 09 09 20 20 20 20 54 6b 5f 46 69  sk,....    Tk_Fi
4f40: 6c 65 50 72 6f 63 20 2a 70 72 6f 63 2c 20 43 6c  leProc *proc, Cl
4f50: 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44  ientData clientD
4f60: 61 74 61 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f  ata));.EXTERN vo
4f70: 69 64 09 09 54 6b 5f 43 72 65 61 74 65 46 69 6c  id..Tk_CreateFil
4f80: 65 48 61 6e 64 6c 65 72 32 20 5f 41 4e 53 49 5f  eHandler2 _ANSI_
4f90: 41 52 47 53 5f 28 28 69 6e 74 20 66 64 2c 0a 09  ARGS_((int fd,..
4fa0: 09 09 20 20 20 20 54 6b 5f 46 69 6c 65 50 72 6f  ..    Tk_FilePro
4fb0: 63 32 20 2a 70 72 6f 63 2c 20 43 6c 69 65 6e 74  c2 *proc, Client
4fc0: 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 29  Data clientData)
4fd0: 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09  );.EXTERN void..
4fe0: 54 6b 5f 43 72 65 61 74 65 47 65 6e 65 72 69 63  Tk_CreateGeneric
4ff0: 48 61 6e 64 6c 65 72 20 5f 41 4e 53 49 5f 41 52  Handler _ANSI_AR
5000: 47 53 5f 28 28 0a 09 09 09 20 20 20 20 54 6b 5f  GS_((....    Tk_
5010: 47 65 6e 65 72 69 63 50 72 6f 63 20 2a 70 72 6f  GenericProc *pro
5020: 63 2c 20 43 6c 69 65 6e 74 44 61 74 61 20 63 6c  c, ClientData cl
5030: 69 65 6e 74 44 61 74 61 29 29 3b 0a 45 58 54 45  ientData));.EXTE
5040: 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 09 54 6b 5f  RN Tk_Window.Tk_
5050: 43 72 65 61 74 65 4d 61 69 6e 57 69 6e 64 6f 77  CreateMainWindow
5060: 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 63   _ANSI_ARGS_((Tc
5070: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70  l_Interp *interp
5080: 2c 0a 09 09 09 20 20 20 20 63 68 61 72 20 2a 73  ,....    char *s
5090: 63 72 65 65 6e 4e 61 6d 65 2c 20 63 68 61 72 20  creenName, char 
50a0: 2a 62 61 73 65 4e 61 6d 65 2c 0a 09 09 09 20 20  *baseName,....  
50b0: 20 20 63 68 61 72 20 2a 63 6c 61 73 73 4e 61 6d    char *classNam
50c0: 65 29 29 3b 0a 45 58 54 45 52 4e 20 54 6b 5f 54  e));.EXTERN Tk_T
50d0: 69 6d 65 72 54 6f 6b 65 6e 09 54 6b 5f 43 72 65  imerToken.Tk_Cre
50e0: 61 74 65 54 69 6d 65 72 48 61 6e 64 6c 65 72 20  ateTimerHandler 
50f0: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 69 6e 74  _ANSI_ARGS_((int
5100: 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 2c 0a 09   milliseconds,..
5110: 09 09 20 20 20 20 54 6b 5f 54 69 6d 65 72 50 72  ..    Tk_TimerPr
5120: 6f 63 20 2a 70 72 6f 63 2c 20 43 6c 69 65 6e 74  oc *proc, Client
5130: 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 29  Data clientData)
5140: 29 3b 0a 45 58 54 45 52 4e 20 54 6b 5f 57 69 6e  );.EXTERN Tk_Win
5150: 64 6f 77 09 54 6b 5f 43 72 65 61 74 65 57 69 6e  dow.Tk_CreateWin
5160: 64 6f 77 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28  dow _ANSI_ARGS_(
5170: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74  (Tcl_Interp *int
5180: 65 72 70 2c 0a 09 09 09 20 20 20 20 54 6b 5f 57  erp,....    Tk_W
5190: 69 6e 64 6f 77 20 70 61 72 65 6e 74 2c 20 63 68  indow parent, ch
51a0: 61 72 20 2a 6e 61 6d 65 2c 20 63 68 61 72 20 2a  ar *name, char *
51b0: 73 63 72 65 65 6e 4e 61 6d 65 29 29 3b 0a 45 58  screenName));.EX
51c0: 54 45 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 09 54  TERN Tk_Window.T
51d0: 6b 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 46 72  k_CreateWindowFr
51e0: 6f 6d 50 61 74 68 20 5f 41 4e 53 49 5f 41 52 47  omPath _ANSI_ARG
51f0: 53 5f 28 28 0a 09 09 09 20 20 20 20 54 63 6c 5f  S_((....    Tcl_
5200: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20  Interp *interp, 
5210: 54 6b 5f 57 69 6e 64 6f 77 20 74 6b 77 69 6e 2c  Tk_Window tkwin,
5220: 0a 09 09 09 20 20 20 20 63 68 61 72 20 2a 70 61  ....    char *pa
5230: 74 68 4e 61 6d 65 2c 20 63 68 61 72 20 2a 73 63  thName, char *sc
5240: 72 65 65 6e 4e 61 6d 65 29 29 3b 0a 45 58 54 45  reenName));.EXTE
5250: 52 4e 20 76 6f 69 64 09 09 54 6b 5f 44 65 6c 65  RN void..Tk_Dele
5260: 74 65 41 6c 6c 42 69 6e 64 69 6e 67 73 20 5f 41  teAllBindings _A
5270: 4e 53 49 5f 41 52 47 53 5f 28 28 0a 09 09 09 20  NSI_ARGS_((.... 
5280: 20 20 20 54 6b 5f 42 69 6e 64 69 6e 67 54 61 62     Tk_BindingTab
5290: 6c 65 20 62 69 6e 64 69 6e 67 54 61 62 6c 65 2c  le bindingTable,
52a0: 20 43 6c 69 65 6e 74 44 61 74 61 20 6f 62 6a 65   ClientData obje
52b0: 63 74 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e 74  ct));.EXTERN int
52c0: 09 09 54 6b 5f 44 65 6c 65 74 65 42 69 6e 64 69  ..Tk_DeleteBindi
52d0: 6e 67 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  ng _ANSI_ARGS_((
52e0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65  Tcl_Interp *inte
52f0: 72 70 2c 0a 09 09 09 20 20 20 20 54 6b 5f 42 69  rp,....    Tk_Bi
5300: 6e 64 69 6e 67 54 61 62 6c 65 20 62 69 6e 64 69  ndingTable bindi
5310: 6e 67 54 61 62 6c 65 2c 20 43 6c 69 65 6e 74 44  ngTable, ClientD
5320: 61 74 61 20 6f 62 6a 65 63 74 2c 0a 09 09 09 20  ata object,.... 
5330: 20 20 20 63 68 61 72 20 2a 65 76 65 6e 74 53 74     char *eventSt
5340: 72 69 6e 67 29 29 3b 0a 45 58 54 45 52 4e 20 76  ring));.EXTERN v
5350: 6f 69 64 09 09 54 6b 5f 44 65 6c 65 74 65 42 69  oid..Tk_DeleteBi
5360: 6e 64 69 6e 67 54 61 62 6c 65 20 5f 41 4e 53 49  ndingTable _ANSI
5370: 5f 41 52 47 53 5f 28 28 0a 09 09 09 20 20 20 20  _ARGS_((....    
5380: 54 6b 5f 42 69 6e 64 69 6e 67 54 61 62 6c 65 20  Tk_BindingTable 
5390: 62 69 6e 64 69 6e 67 54 61 62 6c 65 29 29 3b 0a  bindingTable));.
53a0: 45 58 54 45 52 4e 20 76 6f 69 64 09 09 54 6b 5f  EXTERN void..Tk_
53b0: 44 65 6c 65 74 65 45 76 65 6e 74 48 61 6e 64 6c  DeleteEventHandl
53c0: 65 72 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  er _ANSI_ARGS_((
53d0: 54 6b 5f 57 69 6e 64 6f 77 20 74 6f 6b 65 6e 2c  Tk_Window token,
53e0: 0a 09 09 09 20 20 20 20 75 6e 73 69 67 6e 65 64  ....    unsigned
53f0: 20 6c 6f 6e 67 20 6d 61 73 6b 2c 20 54 6b 5f 45   long mask, Tk_E
5400: 76 65 6e 74 50 72 6f 63 20 2a 70 72 6f 63 2c 0a  ventProc *proc,.
5410: 09 09 09 20 20 20 20 43 6c 69 65 6e 74 44 61 74  ...    ClientDat
5420: 61 20 63 6c 69 65 6e 74 44 61 74 61 29 29 3b 0a  a clientData));.
5430: 45 58 54 45 52 4e 20 76 6f 69 64 09 09 54 6b 5f  EXTERN void..Tk_
5440: 44 65 6c 65 74 65 46 69 6c 65 48 61 6e 64 6c 65  DeleteFileHandle
5450: 72 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 69  r _ANSI_ARGS_((i
5460: 6e 74 20 66 64 29 29 3b 0a 45 58 54 45 52 4e 20  nt fd));.EXTERN 
5470: 76 6f 69 64 09 09 54 6b 5f 44 65 6c 65 74 65 47  void..Tk_DeleteG
5480: 65 6e 65 72 69 63 48 61 6e 64 6c 65 72 20 5f 41  enericHandler _A
5490: 4e 53 49 5f 41 52 47 53 5f 28 28 0a 09 09 09 20  NSI_ARGS_((.... 
54a0: 20 20 20 54 6b 5f 47 65 6e 65 72 69 63 50 72 6f     Tk_GenericPro
54b0: 63 20 2a 70 72 6f 63 2c 20 43 6c 69 65 6e 74 44  c *proc, ClientD
54c0: 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 29 29  ata clientData))
54d0: 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09 54  ;.EXTERN void..T
54e0: 6b 5f 44 65 6c 65 74 65 54 69 6d 65 72 48 61 6e  k_DeleteTimerHan
54f0: 64 6c 65 72 20 5f 41 4e 53 49 5f 41 52 47 53 5f  dler _ANSI_ARGS_
5500: 28 28 0a 09 09 09 20 20 20 20 54 6b 5f 54 69 6d  ((....    Tk_Tim
5510: 65 72 54 6f 6b 65 6e 20 74 6f 6b 65 6e 29 29 3b  erToken token));
5520: 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09 54 6b  .EXTERN void..Tk
5530: 5f 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 20 5f  _DestroyWindow _
5540: 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57  ANSI_ARGS_((Tk_W
5550: 69 6e 64 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 45  indow tkwin));.E
5560: 58 54 45 52 4e 20 63 68 61 72 20 2a 09 09 54 6b  XTERN char *..Tk
5570: 5f 44 69 73 70 6c 61 79 4e 61 6d 65 20 5f 41 4e  _DisplayName _AN
5580: 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e  SI_ARGS_((Tk_Win
5590: 64 6f 77 20 74 6b 77 69 6e 29 29 3b 0a 45 58 54  dow tkwin));.EXT
55a0: 45 52 4e 20 69 6e 74 09 09 54 6b 5f 44 6f 4f 6e  ERN int..Tk_DoOn
55b0: 65 45 76 65 6e 74 20 5f 41 4e 53 49 5f 41 52 47  eEvent _ANSI_ARG
55c0: 53 5f 28 28 69 6e 74 20 66 6c 61 67 73 29 29 3b  S_((int flags));
55d0: 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09 54 6b  .EXTERN void..Tk
55e0: 5f 45 76 65 6e 74 75 61 6c 6c 79 46 72 65 65 20  _EventuallyFree 
55f0: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69  _ANSI_ARGS_((Cli
5600: 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61  entData clientDa
5610: 74 61 2c 0a 09 09 09 20 20 20 20 54 6b 5f 46 72  ta,....    Tk_Fr
5620: 65 65 50 72 6f 63 20 2a 66 72 65 65 50 72 6f 63  eeProc *freeProc
5630: 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09  ));.EXTERN void.
5640: 09 54 6b 5f 46 72 65 65 4f 70 74 69 6f 6e 73 20  .Tk_FreeOptions 
5650: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f  _ANSI_ARGS_((Tk_
5660: 43 6f 6e 66 69 67 53 70 65 63 20 2a 73 70 65 63  ConfigSpec *spec
5670: 73 2c 0a 09 09 09 20 20 20 20 63 68 61 72 20 2a  s,....    char *
5680: 77 69 64 67 52 65 63 2c 20 69 6e 74 20 6e 65 65  widgRec, int nee
5690: 64 46 6c 61 67 73 29 29 3b 0a 45 58 54 45 52 4e  dFlags));.EXTERN
56a0: 20 76 6f 69 64 09 09 54 6b 5f 47 65 6f 6d 65 74   void..Tk_Geomet
56b0: 72 79 52 65 71 75 65 73 74 20 5f 41 4e 53 49 5f  ryRequest _ANSI_
56c0: 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e 64 6f 77  ARGS_((Tk_Window
56d0: 20 74 6b 77 69 6e 2c 0a 09 09 09 20 20 20 20 69   tkwin,....    i
56e0: 6e 74 20 72 65 71 57 69 64 74 68 2c 20 20 69 6e  nt reqWidth,  in
56f0: 74 20 72 65 71 48 65 69 67 68 74 29 29 3b 0a 45  t reqHeight));.E
5700: 58 54 45 52 4e 20 76 6f 69 64 09 09 54 6b 5f 47  XTERN void..Tk_G
5710: 65 74 41 6c 6c 42 69 6e 64 69 6e 67 73 20 5f 41  etAllBindings _A
5720: 4e 53 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49  NSI_ARGS_((Tcl_I
5730: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09  nterp *interp,..
5740: 09 09 20 20 20 20 54 6b 5f 42 69 6e 64 69 6e 67  ..    Tk_Binding
5750: 54 61 62 6c 65 20 62 69 6e 64 69 6e 67 54 61 62  Table bindingTab
5760: 6c 65 2c 20 43 6c 69 65 6e 74 44 61 74 61 20 6f  le, ClientData o
5770: 62 6a 65 63 74 29 29 3b 0a 45 58 54 45 52 4e 20  bject));.EXTERN 
5780: 69 6e 74 09 09 54 6b 5f 47 65 74 41 6e 63 68 6f  int..Tk_GetAncho
5790: 72 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  r _ANSI_ARGS_((T
57a0: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72  cl_Interp *inter
57b0: 70 2c 0a 09 09 09 20 20 20 20 63 68 61 72 20 2a  p,....    char *
57c0: 73 74 72 69 6e 67 2c 20 54 6b 5f 41 6e 63 68 6f  string, Tk_Ancho
57d0: 72 20 2a 61 6e 63 68 6f 72 50 74 72 29 29 3b 0a  r *anchorPtr));.
57e0: 45 58 54 45 52 4e 20 63 68 61 72 20 2a 09 09 54  EXTERN char *..T
57f0: 6b 5f 47 65 74 42 69 6e 64 69 6e 67 20 5f 41 4e  k_GetBinding _AN
5800: 53 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e  SI_ARGS_((Tcl_In
5810: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 09  terp *interp,...
5820: 09 20 20 20 20 54 6b 5f 42 69 6e 64 69 6e 67 54  .    Tk_BindingT
5830: 61 62 6c 65 20 62 69 6e 64 69 6e 67 54 61 62 6c  able bindingTabl
5840: 65 2c 20 43 6c 69 65 6e 74 44 61 74 61 20 6f 62  e, ClientData ob
5850: 6a 65 63 74 2c 0a 09 09 09 20 20 20 20 63 68 61  ject,....    cha
5860: 72 20 2a 65 76 65 6e 74 53 74 72 69 6e 67 29 29  r *eventString))
5870: 3b 0a 45 58 54 45 52 4e 20 69 6e 74 09 09 54 6b  ;.EXTERN int..Tk
5880: 5f 47 65 74 4a 75 73 74 69 66 79 20 5f 41 4e 53  _GetJustify _ANS
5890: 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e 74  I_ARGS_((Tcl_Int
58a0: 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 09 09  erp *interp,....
58b0: 20 20 20 20 63 68 61 72 20 2a 73 74 72 69 6e 67      char *string
58c0: 2c 20 54 6b 5f 4a 75 73 74 69 66 79 20 2a 6a 75  , Tk_Justify *ju
58d0: 73 74 69 66 79 50 74 72 29 29 3b 0a 45 58 54 45  stifyPtr));.EXTE
58e0: 52 4e 20 54 6b 5f 55 69 64 09 09 54 6b 5f 47 65  RN Tk_Uid..Tk_Ge
58f0: 74 4f 70 74 69 6f 6e 20 5f 41 4e 53 49 5f 41 52  tOption _ANSI_AR
5900: 47 53 5f 28 28 54 6b 5f 57 69 6e 64 6f 77 20 74  GS_((Tk_Window t
5910: 6b 77 69 6e 2c 20 63 68 61 72 20 2a 6e 61 6d 65  kwin, char *name
5920: 2c 0a 09 09 09 20 20 20 20 63 68 61 72 20 2a 63  ,....    char *c
5930: 6c 61 73 73 4e 61 6d 65 29 29 3b 0a 45 58 54 45  lassName));.EXTE
5940: 52 4e 20 69 6e 74 09 09 54 6b 5f 47 65 74 50 69  RN int..Tk_GetPi
5950: 78 65 6c 73 20 5f 41 4e 53 49 5f 41 52 47 53 5f  xels _ANSI_ARGS_
5960: 28 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e  ((Tcl_Interp *in
5970: 74 65 72 70 2c 0a 09 09 09 20 20 20 20 54 6b 5f  terp,....    Tk_
5980: 57 69 6e 64 6f 77 20 74 6b 77 69 6e 2c 20 63 68  Window tkwin, ch
5990: 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20  ar *string, int 
59a0: 2a 69 6e 74 50 74 72 29 29 3b 0a 45 58 54 45 52  *intPtr));.EXTER
59b0: 4e 20 76 6f 69 64 09 09 54 6b 5f 47 65 74 52 6f  N void..Tk_GetRo
59c0: 6f 74 43 6f 6f 72 64 73 20 5f 41 4e 53 49 5f 41  otCoords _ANSI_A
59d0: 52 47 53 5f 20 28 28 54 6b 5f 57 69 6e 64 6f 77  RGS_ ((Tk_Window
59e0: 20 74 6b 77 69 6e 2c 0a 09 09 09 20 20 20 20 69   tkwin,....    i
59f0: 6e 74 20 2a 78 50 74 72 2c 20 69 6e 74 20 2a 79  nt *xPtr, int *y
5a00: 50 74 72 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e  Ptr));.EXTERN in
5a10: 74 09 09 54 6b 5f 47 65 74 53 63 72 6f 6c 6c 49  t..Tk_GetScrollI
5a20: 6e 66 6f 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28  nfo _ANSI_ARGS_(
5a30: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74  (Tcl_Interp *int
5a40: 65 72 70 2c 0a 09 09 09 20 20 20 20 69 6e 74 20  erp,....    int 
5a50: 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67  argc, char **arg
5a60: 76 2c 20 64 6f 75 62 6c 65 20 2a 64 62 6c 50 74  v, double *dblPt
5a70: 72 2c 0a 09 09 09 20 20 20 20 69 6e 74 20 2a 69  r,....    int *i
5a80: 6e 74 50 74 72 29 29 3b 0a 45 58 54 45 52 4e 20  ntPtr));.EXTERN 
5a90: 69 6e 74 09 09 54 6b 5f 47 65 74 53 63 72 65 65  int..Tk_GetScree
5aa0: 6e 4d 4d 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28  nMM _ANSI_ARGS_(
5ab0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74  (Tcl_Interp *int
5ac0: 65 72 70 2c 0a 09 09 09 20 20 20 20 54 6b 5f 57  erp,....    Tk_W
5ad0: 69 6e 64 6f 77 20 74 6b 77 69 6e 2c 20 63 68 61  indow tkwin, cha
5ae0: 72 20 2a 73 74 72 69 6e 67 2c 20 64 6f 75 62 6c  r *string, doubl
5af0: 65 20 2a 64 6f 75 62 6c 65 50 74 72 29 29 3b 0a  e *doublePtr));.
5b00: 45 58 54 45 52 4e 20 54 6b 5f 55 69 64 09 09 54  EXTERN Tk_Uid..T
5b10: 6b 5f 47 65 74 55 69 64 20 5f 41 4e 53 49 5f 41  k_GetUid _ANSI_A
5b20: 52 47 53 5f 28 28 63 68 61 72 20 2a 73 74 72 69  RGS_((char *stri
5b30: 6e 67 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69  ng));.EXTERN voi
5b40: 64 09 09 54 6b 5f 47 65 74 56 52 6f 6f 74 47 65  d..Tk_GetVRootGe
5b50: 6f 6d 65 74 72 79 20 5f 41 4e 53 49 5f 41 52 47  ometry _ANSI_ARG
5b60: 53 5f 28 28 54 6b 5f 57 69 6e 64 6f 77 20 74 6b  S_((Tk_Window tk
5b70: 77 69 6e 2c 0a 09 09 09 20 20 20 20 69 6e 74 20  win,....    int 
5b80: 2a 78 50 74 72 2c 20 69 6e 74 20 2a 79 50 74 72  *xPtr, int *yPtr
5b90: 2c 20 69 6e 74 20 2a 77 69 64 74 68 50 74 72 2c  , int *widthPtr,
5ba0: 0a 09 09 09 20 20 20 20 69 6e 74 20 2a 68 65 69  ....    int *hei
5bb0: 67 68 74 50 74 72 29 29 3b 0a 45 58 54 45 52 4e  ghtPtr));.EXTERN
5bc0: 20 69 6e 74 09 09 54 6b 5f 47 72 61 62 20 5f 41   int..Tk_Grab _A
5bd0: 4e 53 49 5f 41 52 47 53 5f 28 28 54 63 6c 5f 49  NSI_ARGS_((Tcl_I
5be0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09  nterp *interp,..
5bf0: 09 09 20 20 20 20 54 6b 5f 57 69 6e 64 6f 77 20  ..    Tk_Window 
5c00: 74 6b 77 69 6e 2c 20 69 6e 74 20 67 72 61 62 47  tkwin, int grabG
5c10: 6c 6f 62 61 6c 29 29 3b 0a 45 58 54 45 52 4e 20  lobal));.EXTERN 
5c20: 76 6f 69 64 09 09 54 6b 5f 48 61 6e 64 6c 65 45  void..Tk_HandleE
5c30: 76 65 6e 74 20 5f 41 4e 53 49 5f 41 52 47 53 5f  vent _ANSI_ARGS_
5c40: 28 28 58 45 76 65 6e 74 20 2a 65 76 65 6e 74 50  ((XEvent *eventP
5c50: 74 72 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e 74  tr));.EXTERN int
5c60: 09 09 54 6b 5f 49 6e 69 74 20 5f 41 4e 53 49 5f  ..Tk_Init _ANSI_
5c70: 41 52 47 53 5f 28 28 54 63 6c 5f 49 6e 74 65 72  ARGS_((Tcl_Inter
5c80: 70 20 2a 69 6e 74 65 72 70 29 29 3b 0a 45 58 54  p *interp));.EXT
5c90: 45 52 4e 20 76 6f 69 64 09 09 54 6b 5f 4d 61 69  ERN void..Tk_Mai
5ca0: 6e 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 69  n _ANSI_ARGS_((i
5cb0: 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a  nt argc, char **
5cc0: 61 72 67 76 2c 0a 09 09 09 20 20 20 20 54 63 6c  argv,....    Tcl
5cd0: 5f 41 70 70 49 6e 69 74 50 72 6f 63 20 2a 61 70  _AppInitProc *ap
5ce0: 70 49 6e 69 74 50 72 6f 63 29 29 3b 0a 45 58 54  pInitProc));.EXT
5cf0: 45 52 4e 20 76 6f 69 64 09 09 54 6b 5f 4d 61 69  ERN void..Tk_Mai
5d00: 6e 4c 6f 6f 70 20 5f 41 4e 53 49 5f 41 52 47 53  nLoop _ANSI_ARGS
5d10: 5f 28 28 76 6f 69 64 29 29 3b 0a 45 58 54 45 52  _((void));.EXTER
5d20: 4e 20 76 6f 69 64 09 09 54 6b 5f 4d 61 69 6e 74  N void..Tk_Maint
5d30: 61 69 6e 47 65 6f 6d 65 74 72 79 20 5f 41 4e 53  ainGeometry _ANS
5d40: 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e 64  I_ARGS_((Tk_Wind
5d50: 6f 77 20 73 6c 61 76 65 2c 0a 09 09 09 20 20 20  ow slave,....   
5d60: 20 54 6b 5f 57 69 6e 64 6f 77 20 6d 61 73 74 65   Tk_Window maste
5d70: 72 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c  r, int x, int y,
5d80: 20 69 6e 74 20 77 69 64 74 68 2c 0a 09 09 09 20   int width,.... 
5d90: 20 20 20 69 6e 74 20 68 65 69 67 68 74 29 29 3b     int height));
5da0: 0a 45 58 54 45 52 4e 20 54 6b 5f 57 69 6e 64 6f  .EXTERN Tk_Windo
5db0: 77 09 54 6b 5f 4d 61 69 6e 57 69 6e 64 6f 77 20  w.Tk_MainWindow 
5dc0: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 63 6c  _ANSI_ARGS_((Tcl
5dd0: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29  _Interp *interp)
5de0: 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09  );.EXTERN void..
5df0: 54 6b 5f 4d 61 6b 65 57 69 6e 64 6f 77 45 78 69  Tk_MakeWindowExi
5e00: 73 74 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  st _ANSI_ARGS_((
5e10: 54 6b 5f 57 69 6e 64 6f 77 20 74 6b 77 69 6e 29  Tk_Window tkwin)
5e20: 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09  );.EXTERN void..
5e30: 54 6b 5f 4d 61 6e 61 67 65 47 65 6f 6d 65 74 72  Tk_ManageGeometr
5e40: 79 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  y _ANSI_ARGS_((T
5e50: 6b 5f 57 69 6e 64 6f 77 20 74 6b 77 69 6e 2c 0a  k_Window tkwin,.
5e60: 09 09 09 20 20 20 20 54 6b 5f 47 65 6f 6d 4d 67  ...    Tk_GeomMg
5e70: 72 20 2a 6d 67 72 50 74 72 2c 20 43 6c 69 65 6e  r *mgrPtr, Clien
5e80: 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61  tData clientData
5e90: 29 29 3b 0a 23 64 65 66 69 6e 65 09 09 09 54 6b  ));.#define...Tk
5ea0: 5f 4d 61 70 57 69 6e 64 6f 77 28 74 6b 77 69 6e  _MapWindow(tkwin
5eb0: 29 20 5c 0a 09 09 09 20 20 20 20 43 74 6b 5f 4d  ) \....    Ctk_M
5ec0: 61 70 28 74 6b 77 69 6e 2c 20 43 74 6b 5f 4c 65  ap(tkwin, Ctk_Le
5ed0: 66 74 28 74 6b 77 69 6e 29 2c 20 43 74 6b 5f 54  ft(tkwin), Ctk_T
5ee0: 6f 70 28 74 6b 77 69 6e 29 2c 20 5c 0a 09 09 09  op(tkwin), \....
5ef0: 20 20 20 20 43 74 6b 5f 52 69 67 68 74 28 74 6b      Ctk_Right(tk
5f00: 77 69 6e 29 2c 20 43 74 6b 5f 42 6f 74 74 6f 6d  win), Ctk_Bottom
5f10: 28 74 6b 77 69 6e 29 29 0a 23 64 65 66 69 6e 65  (tkwin)).#define
5f20: 09 09 09 54 6b 5f 4d 6f 76 65 52 65 73 69 7a 65  ...Tk_MoveResize
5f30: 57 69 6e 64 6f 77 28 74 6b 77 69 6e 2c 20 78 2c  Window(tkwin, x,
5f40: 20 79 2c 20 77 69 64 74 68 2c 20 68 65 69 67 68   y, width, heigh
5f50: 74 29 20 5c 0a 09 09 09 20 20 20 20 43 74 6b 5f  t) \....    Ctk_
5f60: 4d 61 70 28 74 6b 77 69 6e 2c 20 78 2c 20 79 2c  Map(tkwin, x, y,
5f70: 20 28 78 29 2b 28 77 69 64 74 68 29 2c 20 28 79   (x)+(width), (y
5f80: 29 2b 28 68 65 69 67 68 74 29 29 0a 45 58 54 45  )+(height)).EXTE
5f90: 52 4e 20 63 68 61 72 20 2a 09 09 54 6b 5f 4e 61  RN char *..Tk_Na
5fa0: 6d 65 4f 66 41 6e 63 68 6f 72 20 5f 41 4e 53 49  meOfAnchor _ANSI
5fb0: 5f 41 52 47 53 5f 28 28 54 6b 5f 41 6e 63 68 6f  _ARGS_((Tk_Ancho
5fc0: 72 20 61 6e 63 68 6f 72 29 29 3b 0a 45 58 54 45  r anchor));.EXTE
5fd0: 52 4e 20 63 68 61 72 20 2a 09 09 54 6b 5f 4e 61  RN char *..Tk_Na
5fe0: 6d 65 4f 66 4a 75 73 74 69 66 79 20 5f 41 4e 53  meOfJustify _ANS
5ff0: 49 5f 41 52 47 53 5f 28 28 54 6b 5f 4a 75 73 74  I_ARGS_((Tk_Just
6000: 69 66 79 20 6a 75 73 74 69 66 79 29 29 3b 0a 45  ify justify));.E
6010: 58 54 45 52 4e 20 54 6b 5f 57 69 6e 64 6f 77 09  XTERN Tk_Window.
6020: 54 6b 5f 4e 61 6d 65 54 6f 57 69 6e 64 6f 77 20  Tk_NameToWindow 
6030: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54 63 6c  _ANSI_ARGS_((Tcl
6040: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c  _Interp *interp,
6050: 0a 09 09 09 20 20 20 20 63 68 61 72 20 2a 70 61  ....    char *pa
6060: 74 68 4e 61 6d 65 2c 20 54 6b 5f 57 69 6e 64 6f  thName, Tk_Windo
6070: 77 20 74 6b 77 69 6e 29 29 3b 0a 45 58 54 45 52  w tkwin));.EXTER
6080: 4e 20 69 6e 74 09 09 54 6b 5f 50 61 72 73 65 41  N int..Tk_ParseA
6090: 72 67 76 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28  rgv _ANSI_ARGS_(
60a0: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74  (Tcl_Interp *int
60b0: 65 72 70 2c 0a 09 09 09 20 20 20 20 54 6b 5f 57  erp,....    Tk_W
60c0: 69 6e 64 6f 77 20 74 6b 77 69 6e 2c 20 69 6e 74  indow tkwin, int
60d0: 20 2a 61 72 67 63 50 74 72 2c 20 63 68 61 72 20   *argcPtr, char 
60e0: 2a 2a 61 72 67 76 2c 0a 09 09 09 20 20 20 20 54  **argv,....    T
60f0: 6b 5f 41 72 67 76 49 6e 66 6f 20 2a 61 72 67 54  k_ArgvInfo *argT
6100: 61 62 6c 65 2c 20 69 6e 74 20 66 6c 61 67 73 29  able, int flags)
6110: 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09  );.EXTERN void..
6120: 54 6b 5f 50 72 65 73 65 72 76 65 20 5f 41 4e 53  Tk_Preserve _ANS
6130: 49 5f 41 52 47 53 5f 28 28 43 6c 69 65 6e 74 44  I_ARGS_((ClientD
6140: 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 29 29  ata clientData))
6150: 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09 54  ;.EXTERN void..T
6160: 6b 5f 52 65 6c 65 61 73 65 20 5f 41 4e 53 49 5f  k_Release _ANSI_
6170: 41 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74  ARGS_((ClientDat
6180: 61 20 63 6c 69 65 6e 74 44 61 74 61 29 29 3b 0a  a clientData));.
6190: 45 58 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f 52  EXTERN int..Tk_R
61a0: 65 73 74 61 63 6b 57 69 6e 64 6f 77 20 5f 41 4e  estackWindow _AN
61b0: 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69 6e  SI_ARGS_((Tk_Win
61c0: 64 6f 77 20 74 6b 77 69 6e 2c 0a 09 09 09 20 20  dow tkwin,....  
61d0: 20 20 69 6e 74 20 61 62 6f 76 65 42 65 6c 6f 77    int aboveBelow
61e0: 2c 20 54 6b 5f 57 69 6e 64 6f 77 20 6f 74 68 65  , Tk_Window othe
61f0: 72 29 29 3b 0a 45 58 54 45 52 4e 20 63 68 61 72  r));.EXTERN char
6200: 20 2a 09 09 54 6b 5f 53 65 74 41 70 70 4e 61 6d   *..Tk_SetAppNam
6210: 65 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  e _ANSI_ARGS_((T
6220: 6b 5f 57 69 6e 64 6f 77 20 74 6b 77 69 6e 2c 0a  k_Window tkwin,.
6230: 09 09 09 20 20 20 20 63 68 61 72 20 2a 6e 61 6d  ...    char *nam
6240: 65 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64  e));.EXTERN void
6250: 09 09 54 6b 5f 53 65 74 43 6c 61 73 73 20 5f 41  ..Tk_SetClass _A
6260: 4e 53 49 5f 41 52 47 53 5f 28 28 54 6b 5f 57 69  NSI_ARGS_((Tk_Wi
6270: 6e 64 6f 77 20 74 6b 77 69 6e 2c 0a 09 09 09 20  ndow tkwin,.... 
6280: 20 20 20 63 68 61 72 20 2a 63 6c 61 73 73 4e 61     char *classNa
6290: 6d 65 29 29 3b 0a 45 58 54 45 52 4e 20 76 6f 69  me));.EXTERN voi
62a0: 64 09 09 54 6b 5f 53 65 74 49 6e 74 65 72 6e 61  d..Tk_SetInterna
62b0: 6c 42 6f 72 64 65 72 20 5f 41 4e 53 49 5f 41 52  lBorder _ANSI_AR
62c0: 47 53 5f 28 28 54 6b 5f 57 69 6e 64 6f 77 20 74  GS_((Tk_Window t
62d0: 6b 77 69 6e 2c 0a 09 09 09 20 20 20 20 69 6e 74  kwin,....    int
62e0: 20 77 69 64 74 68 29 29 3b 0a 45 58 54 45 52 4e   width));.EXTERN
62f0: 20 76 6f 69 64 09 09 54 6b 5f 53 6c 65 65 70 20   void..Tk_Sleep 
6300: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 69 6e 74  _ANSI_ARGS_((int
6310: 20 6d 73 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e   ms));.EXTERN in
6320: 74 09 09 54 6b 5f 53 74 72 69 63 74 4d 6f 74 69  t..Tk_StrictMoti
6330: 66 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 54  f _ANSI_ARGS_((T
6340: 6b 5f 57 69 6e 64 6f 77 20 74 6b 77 69 6e 29 29  k_Window tkwin))
6350: 3b 0a 45 58 54 45 52 4e 20 76 6f 69 64 09 09 54  ;.EXTERN void..T
6360: 6b 5f 55 6e 6d 61 69 6e 74 61 69 6e 47 65 6f 6d  k_UnmaintainGeom
6370: 65 74 72 79 20 5f 41 4e 53 49 5f 41 52 47 53 5f  etry _ANSI_ARGS_
6380: 28 28 54 6b 5f 57 69 6e 64 6f 77 20 73 6c 61 76  ((Tk_Window slav
6390: 65 2c 0a 09 09 09 20 20 20 20 54 6b 5f 57 69 6e  e,....    Tk_Win
63a0: 64 6f 77 20 6d 61 73 74 65 72 29 29 3b 0a 23 64  dow master));.#d
63b0: 65 66 69 6e 65 09 09 09 54 6b 5f 55 6e 6d 61 70  efine...Tk_Unmap
63c0: 57 69 6e 64 6f 77 28 74 6b 77 69 6e 29 09 43 74  Window(tkwin).Ct
63d0: 6b 5f 55 6e 6d 61 70 28 74 6b 77 69 6e 29 0a 0a  k_Unmap(tkwin)..
63e0: 0a 45 58 54 45 52 4e 20 69 6e 74 09 09 74 6b 5f  .EXTERN int..tk_
63f0: 4e 75 6d 4d 61 69 6e 57 69 6e 64 6f 77 73 3b 0a  NumMainWindows;.
6400: 0a 2f 2a 0a 20 2a 20 54 63 6c 20 63 6f 6d 6d 61  ./*. * Tcl comma
6410: 6e 64 73 20 70 65 63 75 6c 69 61 72 20 74 6f 20  nds peculiar to 
6420: 43 54 6b 2e 0a 20 2a 2f 0a 0a 45 58 54 45 52 4e  CTk.. */..EXTERN
6430: 20 69 6e 74 09 09 43 74 6b 5f 43 74 6b 43 6d 64   int..Ctk_CtkCmd
6440: 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c   _ANSI_ARGS_((Cl
6450: 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44  ientData clientD
6460: 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f  ata,....    Tcl_
6470: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20  Interp *interp, 
6480: 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a  int argc, char *
6490: 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20  *argv));.EXTERN 
64a0: 69 6e 74 09 09 43 74 6b 5f 43 74 6b 45 76 65 6e  int..Ctk_CtkEven
64b0: 74 43 6d 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f  tCmd _ANSI_ARGS_
64c0: 28 28 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69  ((ClientData cli
64d0: 65 6e 74 44 61 74 61 2c 0a 09 09 09 20 20 20 20  entData,....    
64e0: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65  Tcl_Interp *inte
64f0: 72 70 2c 20 69 6e 74 20 61 72 67 63 2c 20 63 68  rp, int argc, ch
6500: 61 72 20 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54  ar **argv));.EXT
6510: 45 52 4e 20 69 6e 74 09 09 43 74 6b 5f 54 6b 46  ERN int..Ctk_TkF
6520: 6f 63 75 73 4e 65 78 74 43 6d 64 20 5f 41 4e 53  ocusNextCmd _ANS
6530: 49 5f 41 52 47 53 5f 28 28 43 6c 69 65 6e 74 44  I_ARGS_((ClientD
6540: 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a  ata clientData,.
6550: 09 09 09 20 20 20 20 54 63 6c 5f 49 6e 74 65 72  ...    Tcl_Inter
6560: 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 61  p *interp, int a
6570: 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76  rgc, char **argv
6580: 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e 74 09 09  ));.EXTERN int..
6590: 43 74 6b 5f 54 6b 46 6f 63 75 73 50 72 65 76 43  Ctk_TkFocusPrevC
65a0: 6d 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  md _ANSI_ARGS_((
65b0: 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e  ClientData clien
65c0: 74 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63  tData,....    Tc
65d0: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70  l_Interp *interp
65e0: 2c 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72  , int argc, char
65f0: 20 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52   **argv));.EXTER
6600: 4e 20 69 6e 74 09 09 43 74 6b 5f 54 6b 45 6e 74  N int..Ctk_TkEnt
6610: 72 79 49 6e 73 65 72 74 43 6d 64 20 5f 41 4e 53  ryInsertCmd _ANS
6620: 49 5f 41 52 47 53 5f 28 28 0a 09 09 09 20 20 20  I_ARGS_((....   
6630: 20 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65   ClientData clie
6640: 6e 74 44 61 74 61 2c 20 54 63 6c 5f 49 6e 74 65  ntData, Tcl_Inte
6650: 72 70 20 2a 69 6e 74 65 72 70 2c 0a 09 09 09 20  rp *interp,.... 
6660: 20 20 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61     int argc, cha
6670: 72 20 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45  r **argv));.EXTE
6680: 52 4e 20 69 6e 74 09 09 43 74 6b 5f 54 6b 45 6e  RN int..Ctk_TkEn
6690: 74 72 79 53 65 65 49 6e 73 65 72 74 43 6d 64 20  trySeeInsertCmd 
66a0: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 0a 09 09  _ANSI_ARGS_((...
66b0: 09 20 20 20 20 43 6c 69 65 6e 74 44 61 74 61 20  .    ClientData 
66c0: 63 6c 69 65 6e 74 44 61 74 61 2c 20 54 63 6c 5f  clientData, Tcl_
66d0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 0a  Interp *interp,.
66e0: 09 09 09 20 20 20 20 69 6e 74 20 61 72 67 63 2c  ...    int argc,
66f0: 20 63 68 61 72 20 2a 2a 61 72 67 76 29 29 3b 0a   char **argv));.
6700: 0a 2f 2a 0a 20 2a 20 54 63 6c 20 63 6f 6d 6d 61  ./*. * Tcl comma
6710: 6e 64 73 20 65 78 70 6f 72 74 65 64 20 62 79 20  nds exported by 
6720: 54 6b 3a 0a 20 2a 2f 0a 0a 45 58 54 45 52 4e 20  Tk:. */..EXTERN 
6730: 69 6e 74 09 09 54 6b 5f 41 66 74 65 72 43 6d 64  int..Tk_AfterCmd
6740: 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c   _ANSI_ARGS_((Cl
6750: 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44  ientData clientD
6760: 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f  ata,....    Tcl_
6770: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20  Interp *interp, 
6780: 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a  int argc, char *
6790: 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20  *argv));.EXTERN 
67a0: 69 6e 74 09 09 54 6b 5f 42 65 6c 6c 43 6d 64 20  int..Tk_BellCmd 
67b0: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69  _ANSI_ARGS_((Cli
67c0: 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61  entData clientDa
67d0: 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49  ta,....    Tcl_I
67e0: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69  nterp *interp, i
67f0: 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a  nt argc, char **
6800: 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69  argv));.EXTERN i
6810: 6e 74 09 09 54 6b 5f 42 69 6e 64 43 6d 64 20 5f  nt..Tk_BindCmd _
6820: 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65  ANSI_ARGS_((Clie
6830: 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74  ntData clientDat
6840: 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e  a,....    Tcl_In
6850: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e  terp *interp, in
6860: 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61  t argc, char **a
6870: 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e  rgv));.EXTERN in
6880: 74 09 09 54 6b 5f 42 69 6e 64 74 61 67 73 43 6d  t..Tk_BindtagsCm
6890: 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43  d _ANSI_ARGS_((C
68a0: 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74  lientData client
68b0: 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c  Data,....    Tcl
68c0: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c  _Interp *interp,
68d0: 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20   int argc, char 
68e0: 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e  **argv));.EXTERN
68f0: 20 69 6e 74 09 09 54 6b 5f 42 75 74 74 6f 6e 43   int..Tk_ButtonC
6900: 6d 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  md _ANSI_ARGS_((
6910: 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e  ClientData clien
6920: 74 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63  tData,....    Tc
6930: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70  l_Interp *interp
6940: 2c 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72  , int argc, char
6950: 20 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52   **argv));.EXTER
6960: 4e 20 69 6e 74 09 09 54 6b 5f 43 68 65 63 6b 62  N int..Tk_Checkb
6970: 75 74 74 6f 6e 43 6d 64 20 5f 41 4e 53 49 5f 41  uttonCmd _ANSI_A
6980: 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74 61  RGS_((ClientData
6990: 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 09 09   clientData,....
69a0: 20 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a      Tcl_Interp *
69b0: 69 6e 74 65 72 70 2c 20 69 6e 74 20 61 72 67 63  interp, int argc
69c0: 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 29 3b  , char **argv));
69d0: 0a 45 58 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f  .EXTERN int..Tk_
69e0: 43 6c 69 70 62 6f 61 72 64 43 6d 64 20 5f 41 4e  ClipboardCmd _AN
69f0: 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65 6e 74  SI_ARGS_((Client
6a00: 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61 2c  Data clientData,
6a10: 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e 74 65  ....    Tcl_Inte
6a20: 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20  rp *interp, int 
6a30: 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67  argc, char **arg
6a40: 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e 74 09  v));.EXTERN int.
6a50: 09 54 6b 5f 44 65 73 74 72 6f 79 43 6d 64 20 5f  .Tk_DestroyCmd _
6a60: 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65  ANSI_ARGS_((Clie
6a70: 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74  ntData clientDat
6a80: 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e  a,....    Tcl_In
6a90: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e  terp *interp, in
6aa0: 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61  t argc, char **a
6ab0: 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e  rgv));.EXTERN in
6ac0: 74 09 09 54 6b 5f 45 6e 74 72 79 43 6d 64 20 5f  t..Tk_EntryCmd _
6ad0: 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65  ANSI_ARGS_((Clie
6ae0: 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74  ntData clientDat
6af0: 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e  a,....    Tcl_In
6b00: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e  terp *interp, in
6b10: 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61  t argc, char **a
6b20: 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e  rgv));.EXTERN in
6b30: 74 09 09 54 6b 5f 45 78 69 74 43 6d 64 20 5f 41  t..Tk_ExitCmd _A
6b40: 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65 6e  NSI_ARGS_((Clien
6b50: 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61  tData clientData
6b60: 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e 74  ,....    Tcl_Int
6b70: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74  erp *interp, int
6b80: 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72   argc, char **ar
6b90: 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e 74  gv));.EXTERN int
6ba0: 09 09 54 6b 5f 46 69 6c 65 65 76 65 6e 74 43 6d  ..Tk_FileeventCm
6bb0: 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43  d _ANSI_ARGS_((C
6bc0: 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74  lientData client
6bd0: 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c  Data,....    Tcl
6be0: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c  _Interp *interp,
6bf0: 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20   int argc, char 
6c00: 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e  **argv));.EXTERN
6c10: 20 69 6e 74 09 09 54 6b 5f 46 72 61 6d 65 43 6d   int..Tk_FrameCm
6c20: 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43  d _ANSI_ARGS_((C
6c30: 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74  lientData client
6c40: 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c  Data,....    Tcl
6c50: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c  _Interp *interp,
6c60: 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20   int argc, char 
6c70: 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e  **argv));.EXTERN
6c80: 20 69 6e 74 09 09 54 6b 5f 46 6f 63 75 73 43 6d   int..Tk_FocusCm
6c90: 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43  d _ANSI_ARGS_((C
6ca0: 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74  lientData client
6cb0: 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c  Data,....    Tcl
6cc0: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c  _Interp *interp,
6cd0: 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20   int argc, char 
6ce0: 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e  **argv));.EXTERN
6cf0: 20 69 6e 74 09 09 54 6b 5f 47 72 61 62 43 6d 64   int..Tk_GrabCmd
6d00: 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c   _ANSI_ARGS_((Cl
6d10: 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44  ientData clientD
6d20: 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f  ata,....    Tcl_
6d30: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20  Interp *interp, 
6d40: 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a  int argc, char *
6d50: 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20  *argv));.EXTERN 
6d60: 69 6e 74 09 09 54 6b 5f 4c 61 62 65 6c 43 6d 64  int..Tk_LabelCmd
6d70: 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c   _ANSI_ARGS_((Cl
6d80: 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44  ientData clientD
6d90: 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f  ata,....    Tcl_
6da0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20  Interp *interp, 
6db0: 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a  int argc, char *
6dc0: 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20  *argv));.EXTERN 
6dd0: 69 6e 74 09 09 54 6b 5f 4c 69 73 74 62 6f 78 43  int..Tk_ListboxC
6de0: 6d 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  md _ANSI_ARGS_((
6df0: 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e  ClientData clien
6e00: 74 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63  tData,....    Tc
6e10: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70  l_Interp *interp
6e20: 2c 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72  , int argc, char
6e30: 20 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52   **argv));.EXTER
6e40: 4e 20 69 6e 74 09 09 54 6b 5f 4c 6f 77 65 72 43  N int..Tk_LowerC
6e50: 6d 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  md _ANSI_ARGS_((
6e60: 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e  ClientData clien
6e70: 74 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63  tData,....    Tc
6e80: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70  l_Interp *interp
6e90: 2c 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72  , int argc, char
6ea0: 20 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52   **argv));.EXTER
6eb0: 4e 20 69 6e 74 09 09 54 6b 5f 4d 65 6e 75 43 6d  N int..Tk_MenuCm
6ec0: 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43  d _ANSI_ARGS_((C
6ed0: 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74  lientData client
6ee0: 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c  Data,....    Tcl
6ef0: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c  _Interp *interp,
6f00: 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20   int argc, char 
6f10: 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e  **argv));.EXTERN
6f20: 20 69 6e 74 09 09 54 6b 5f 4d 65 6e 75 62 75 74   int..Tk_Menubut
6f30: 74 6f 6e 43 6d 64 20 5f 41 4e 53 49 5f 41 52 47  tonCmd _ANSI_ARG
6f40: 53 5f 28 28 43 6c 69 65 6e 74 44 61 74 61 20 63  S_((ClientData c
6f50: 6c 69 65 6e 74 44 61 74 61 2c 0a 09 09 09 20 20  lientData,....  
6f60: 20 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e    Tcl_Interp *in
6f70: 74 65 72 70 2c 20 69 6e 74 20 61 72 67 63 2c 20  terp, int argc, 
6f80: 63 68 61 72 20 2a 2a 61 72 67 76 29 29 3b 0a 45  char **argv));.E
6f90: 58 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f 4d 65  XTERN int..Tk_Me
6fa0: 73 73 61 67 65 43 6d 64 20 5f 41 4e 53 49 5f 41  ssageCmd _ANSI_A
6fb0: 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74 61  RGS_((ClientData
6fc0: 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 09 09   clientData,....
6fd0: 20 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a      Tcl_Interp *
6fe0: 69 6e 74 65 72 70 2c 20 69 6e 74 20 61 72 67 63  interp, int argc
6ff0: 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 29 3b  , char **argv));
7000: 0a 45 58 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f  .EXTERN int..Tk_
7010: 4f 70 74 69 6f 6e 43 6d 64 20 5f 41 4e 53 49 5f  OptionCmd _ANSI_
7020: 41 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74  ARGS_((ClientDat
7030: 61 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 09  a clientData,...
7040: 09 20 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 20  .    Tcl_Interp 
7050: 2a 69 6e 74 65 72 70 2c 20 69 6e 74 20 61 72 67  *interp, int arg
7060: 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 29  c, char **argv))
7070: 3b 0a 45 58 54 45 52 4e 20 69 6e 74 09 09 54 6b  ;.EXTERN int..Tk
7080: 5f 50 61 63 6b 43 6d 64 20 5f 41 4e 53 49 5f 41  _PackCmd _ANSI_A
7090: 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74 61  RGS_((ClientData
70a0: 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 09 09   clientData,....
70b0: 20 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a      Tcl_Interp *
70c0: 69 6e 74 65 72 70 2c 20 69 6e 74 20 61 72 67 63  interp, int argc
70d0: 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 29 3b  , char **argv));
70e0: 0a 45 58 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f  .EXTERN int..Tk_
70f0: 50 6c 61 63 65 43 6d 64 20 5f 41 4e 53 49 5f 41  PlaceCmd _ANSI_A
7100: 52 47 53 5f 28 28 43 6c 69 65 6e 74 44 61 74 61  RGS_((ClientData
7110: 20 63 6c 69 65 6e 74 44 61 74 61 2c 0a 09 09 09   clientData,....
7120: 20 20 20 20 54 63 6c 5f 49 6e 74 65 72 70 20 2a      Tcl_Interp *
7130: 69 6e 74 65 72 70 2c 20 69 6e 74 20 61 72 67 63  interp, int argc
7140: 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 29 3b  , char **argv));
7150: 0a 45 58 54 45 52 4e 20 69 6e 74 09 09 54 6b 5f  .EXTERN int..Tk_
7160: 52 61 64 69 6f 62 75 74 74 6f 6e 43 6d 64 20 5f  RadiobuttonCmd _
7170: 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65  ANSI_ARGS_((Clie
7180: 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74  ntData clientDat
7190: 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e  a,....    Tcl_In
71a0: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e  terp *interp, in
71b0: 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61  t argc, char **a
71c0: 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e  rgv));.EXTERN in
71d0: 74 09 09 54 6b 5f 52 61 69 73 65 43 6d 64 20 5f  t..Tk_RaiseCmd _
71e0: 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65  ANSI_ARGS_((Clie
71f0: 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74  ntData clientDat
7200: 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e  a,....    Tcl_In
7210: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e  terp *interp, in
7220: 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61  t argc, char **a
7230: 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e  rgv));.EXTERN in
7240: 74 09 09 54 6b 5f 53 63 61 6c 65 43 6d 64 20 5f  t..Tk_ScaleCmd _
7250: 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65  ANSI_ARGS_((Clie
7260: 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74  ntData clientDat
7270: 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e  a,....    Tcl_In
7280: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e  terp *interp, in
7290: 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61  t argc, char **a
72a0: 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e  rgv));.EXTERN in
72b0: 74 09 09 54 6b 5f 53 63 72 6f 6c 6c 62 61 72 43  t..Tk_ScrollbarC
72c0: 6d 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28  md _ANSI_ARGS_((
72d0: 43 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e  ClientData clien
72e0: 74 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63  tData,....    Tc
72f0: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70  l_Interp *interp
7300: 2c 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72  , int argc, char
7310: 20 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52   **argv));.EXTER
7320: 4e 20 69 6e 74 09 09 54 6b 5f 54 65 78 74 43 6d  N int..Tk_TextCm
7330: 64 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43  d _ANSI_ARGS_((C
7340: 6c 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74  lientData client
7350: 44 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c  Data,....    Tcl
7360: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c  _Interp *interp,
7370: 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20   int argc, char 
7380: 2a 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e  **argv));.EXTERN
7390: 20 69 6e 74 09 09 54 6b 5f 54 6b 43 6d 64 20 5f   int..Tk_TkCmd _
73a0: 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65  ANSI_ARGS_((Clie
73b0: 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74  ntData clientDat
73c0: 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e  a,....    Tcl_In
73d0: 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e  terp *interp, in
73e0: 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61  t argc, char **a
73f0: 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69 6e  rgv));.EXTERN in
7400: 74 09 09 54 6b 5f 54 6b 77 61 69 74 43 6d 64 20  t..Tk_TkwaitCmd 
7410: 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69  _ANSI_ARGS_((Cli
7420: 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61  entData clientDa
7430: 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49  ta,....    Tcl_I
7440: 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69  nterp *interp, i
7450: 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a  nt argc, char **
7460: 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20 69  argv));.EXTERN i
7470: 6e 74 09 09 54 6b 5f 55 70 64 61 74 65 43 6d 64  nt..Tk_UpdateCmd
7480: 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c   _ANSI_ARGS_((Cl
7490: 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44  ientData clientD
74a0: 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f  ata,....    Tcl_
74b0: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20  Interp *interp, 
74c0: 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a  int argc, char *
74d0: 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20  *argv));.EXTERN 
74e0: 69 6e 74 09 09 54 6b 5f 57 69 6e 66 6f 43 6d 64  int..Tk_WinfoCmd
74f0: 20 5f 41 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c   _ANSI_ARGS_((Cl
7500: 69 65 6e 74 44 61 74 61 20 63 6c 69 65 6e 74 44  ientData clientD
7510: 61 74 61 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f  ata,....    Tcl_
7520: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 2c 20  Interp *interp, 
7530: 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a  int argc, char *
7540: 2a 61 72 67 76 29 29 3b 0a 45 58 54 45 52 4e 20  *argv));.EXTERN 
7550: 69 6e 74 09 09 54 6b 5f 57 6d 43 6d 64 20 5f 41  int..Tk_WmCmd _A
7560: 4e 53 49 5f 41 52 47 53 5f 28 28 43 6c 69 65 6e  NSI_ARGS_((Clien
7570: 74 44 61 74 61 20 63 6c 69 65 6e 74 44 61 74 61  tData clientData
7580: 2c 0a 09 09 09 20 20 20 20 54 63 6c 5f 49 6e 74  ,....    Tcl_Int
7590: 65 72 70 20 2a 69 6e 74 65 72 70 2c 20 69 6e 74  erp *interp, int
75a0: 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72   argc, char **ar
75b0: 67 76 29 29 3b 0a 0a 23 65 6e 64 69 66 20 2f 2a  gv));..#endif /*
75c0: 20 5f 54 4b 20 2a 2f 0a                           _TK */.