File indexing completed on 2024-05-18 08:30:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _TK
0017 #define _TK
0018
0019 #include <tcl.h>
0020 #if (TCL_MAJOR_VERSION != 8) || (TCL_MINOR_VERSION < 6)
0021 # error Tk 8.6 must be compiled with tcl.h from Tcl 8.6 or better
0022 #endif
0023
0024 #ifndef CONST84
0025 # define CONST84 const
0026 # define CONST84_RETURN const
0027 #endif
0028 #ifndef CONST86
0029 # define CONST86 CONST84
0030 #endif
0031 #ifndef EXTERN
0032 # define EXTERN extern TCL_STORAGE_CLASS
0033 #endif
0034
0035
0036
0037
0038
0039
0040 #ifndef STRINGIFY
0041 # define STRINGIFY(x) STRINGIFY1(x)
0042 # define STRINGIFY1(x) #x
0043 #endif
0044 #ifndef JOIN
0045 # define JOIN(a,b) JOIN1(a,b)
0046 # define JOIN1(a,b) a##b
0047 #endif
0048
0049
0050
0051
0052
0053 #ifdef __cplusplus
0054 extern "C" {
0055 #endif
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075 #define TK_MAJOR_VERSION 8
0076 #define TK_MINOR_VERSION 6
0077 #define TK_RELEASE_LEVEL TCL_FINAL_RELEASE
0078 #define TK_RELEASE_SERIAL 11
0079
0080 #define TK_VERSION "8.6"
0081 #define TK_PATCH_LEVEL "8.6.11"
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093 #ifndef RC_INVOKED
0094
0095 #if !defined(_XLIB_H) && !defined(_X11_XLIB_H_)
0096 # include <X11/Xlib.h>
0097 # ifdef MAC_OSX_TK
0098 # include <X11/X.h>
0099 # endif
0100 #endif
0101 #if defined(STDC_HEADERS) || defined(__STDC__) || defined(__C99__FUNC__) \
0102 || defined(__cplusplus) || defined(_MSC_VER) || defined(__ICC)
0103 # include <stddef.h>
0104 #endif
0105
0106 #ifdef BUILD_tk
0107 #undef TCL_STORAGE_CLASS
0108 #define TCL_STORAGE_CLASS DLLEXPORT
0109 #endif
0110
0111
0112
0113
0114
0115
0116
0117 #ifdef XNQueryInputStyle
0118 #define TK_USE_INPUT_METHODS
0119 #endif
0120
0121
0122
0123
0124
0125 #define Tk_ImageModel Tk_ImageMaster
0126 typedef struct Tk_BindingTable_ *Tk_BindingTable;
0127 typedef struct Tk_Canvas_ *Tk_Canvas;
0128 typedef struct Tk_Cursor_ *Tk_Cursor;
0129 typedef struct Tk_ErrorHandler_ *Tk_ErrorHandler;
0130 typedef struct Tk_Font_ *Tk_Font;
0131 typedef struct Tk_Image__ *Tk_Image;
0132 typedef struct Tk_ImageMaster_ *Tk_ImageMaster;
0133 typedef struct Tk_OptionTable_ *Tk_OptionTable;
0134 typedef struct Tk_PostscriptInfo_ *Tk_PostscriptInfo;
0135 typedef struct Tk_TextLayout_ *Tk_TextLayout;
0136 typedef struct Tk_Window_ *Tk_Window;
0137 typedef struct Tk_3DBorder_ *Tk_3DBorder;
0138 typedef struct Tk_Style_ *Tk_Style;
0139 typedef struct Tk_StyleEngine_ *Tk_StyleEngine;
0140 typedef struct Tk_StyledElement_ *Tk_StyledElement;
0141
0142
0143
0144
0145
0146 typedef const char *Tk_Uid;
0147
0148
0149
0150
0151
0152
0153
0154
0155 typedef enum {
0156 TK_OPTION_BOOLEAN,
0157 TK_OPTION_INT,
0158 TK_OPTION_DOUBLE,
0159 TK_OPTION_STRING,
0160 TK_OPTION_STRING_TABLE,
0161 TK_OPTION_COLOR,
0162 TK_OPTION_FONT,
0163 TK_OPTION_BITMAP,
0164 TK_OPTION_BORDER,
0165 TK_OPTION_RELIEF,
0166 TK_OPTION_CURSOR,
0167 TK_OPTION_JUSTIFY,
0168 TK_OPTION_ANCHOR,
0169 TK_OPTION_SYNONYM,
0170 TK_OPTION_PIXELS,
0171 TK_OPTION_WINDOW,
0172 TK_OPTION_END,
0173 TK_OPTION_CUSTOM,
0174 TK_OPTION_STYLE
0175 } Tk_OptionType;
0176
0177
0178
0179
0180
0181
0182
0183
0184 typedef struct Tk_OptionSpec {
0185 Tk_OptionType type;
0186
0187
0188 const char *optionName;
0189
0190 const char *dbName;
0191 const char *dbClass;
0192 const char *defValue;
0193
0194
0195 int objOffset;
0196
0197
0198
0199
0200
0201 int internalOffset;
0202
0203
0204
0205
0206
0207
0208
0209 int flags;
0210
0211 const void *clientData;
0212
0213
0214 int typeMask;
0215
0216
0217
0218
0219
0220
0221 } Tk_OptionSpec;
0222
0223
0224
0225
0226
0227
0228 #define TK_OPTION_NULL_OK (1 << 0)
0229 #define TK_OPTION_DONT_SET_DEFAULT (1 << 3)
0230
0231
0232
0233
0234
0235
0236
0237 typedef int (Tk_CustomOptionSetProc) (ClientData clientData,
0238 Tcl_Interp *interp, Tk_Window tkwin, Tcl_Obj **value, char *widgRec,
0239 int offset, char *saveInternalPtr, int flags);
0240 typedef Tcl_Obj *(Tk_CustomOptionGetProc) (ClientData clientData,
0241 Tk_Window tkwin, char *widgRec, int offset);
0242 typedef void (Tk_CustomOptionRestoreProc) (ClientData clientData,
0243 Tk_Window tkwin, char *internalPtr, char *saveInternalPtr);
0244 typedef void (Tk_CustomOptionFreeProc) (ClientData clientData, Tk_Window tkwin,
0245 char *internalPtr);
0246
0247 typedef struct Tk_ObjCustomOption {
0248 const char *name;
0249 Tk_CustomOptionSetProc *setProc;
0250
0251
0252 Tk_CustomOptionGetProc *getProc;
0253
0254
0255
0256 Tk_CustomOptionRestoreProc *restoreProc;
0257
0258
0259 Tk_CustomOptionFreeProc *freeProc;
0260
0261
0262 ClientData clientData;
0263
0264 } Tk_ObjCustomOption;
0265
0266
0267
0268
0269
0270
0271 #define Tk_Offset(type, field) ((int) offsetof(type, field))
0272
0273 #ifndef offsetof
0274 # define offsetof(type, field) ((size_t) ((char *) &((type *) 0)->field))
0275 #endif
0276
0277
0278
0279
0280
0281
0282
0283
0284
0285
0286 typedef struct Tk_SavedOption {
0287 struct TkOption *optionPtr;
0288
0289 Tcl_Obj *valuePtr;
0290
0291
0292 double internalForm;
0293
0294
0295
0296
0297
0298
0299
0300
0301
0302 } Tk_SavedOption;
0303
0304 #ifdef TCL_MEM_DEBUG
0305 # define TK_NUM_SAVED_OPTIONS 2
0306 #else
0307 # define TK_NUM_SAVED_OPTIONS 20
0308 #endif
0309
0310 typedef struct Tk_SavedOptions {
0311 char *recordPtr;
0312
0313 Tk_Window tkwin;
0314
0315 int numItems;
0316 Tk_SavedOption items[TK_NUM_SAVED_OPTIONS];
0317
0318 struct Tk_SavedOptions *nextPtr;
0319
0320
0321
0322
0323 } Tk_SavedOptions;
0324
0325
0326
0327
0328
0329
0330
0331
0332
0333
0334
0335
0336
0337 #ifndef __NO_OLD_CONFIG
0338
0339 typedef int (Tk_OptionParseProc) (ClientData clientData, Tcl_Interp *interp,
0340 Tk_Window tkwin, CONST84 char *value, char *widgRec, int offset);
0341 typedef CONST86 char *(Tk_OptionPrintProc) (ClientData clientData,
0342 Tk_Window tkwin, char *widgRec, int offset, Tcl_FreeProc **freeProcPtr);
0343
0344 typedef struct Tk_CustomOption {
0345 Tk_OptionParseProc *parseProc;
0346
0347
0348 Tk_OptionPrintProc *printProc;
0349
0350
0351 ClientData clientData;
0352
0353
0354 } Tk_CustomOption;
0355
0356
0357
0358
0359
0360
0361
0362
0363 typedef struct Tk_ConfigSpec {
0364 int type;
0365
0366
0367 CONST86 char *argvName;
0368
0369 Tk_Uid dbName;
0370 Tk_Uid dbClass;
0371 Tk_Uid defValue;
0372
0373 int offset;
0374
0375
0376 int specFlags;
0377
0378
0379 CONST86 Tk_CustomOption *customPtr;
0380
0381
0382
0383
0384 } Tk_ConfigSpec;
0385
0386
0387
0388
0389
0390
0391 typedef enum {
0392 TK_CONFIG_BOOLEAN, TK_CONFIG_INT, TK_CONFIG_DOUBLE, TK_CONFIG_STRING,
0393 TK_CONFIG_UID, TK_CONFIG_COLOR, TK_CONFIG_FONT, TK_CONFIG_BITMAP,
0394 TK_CONFIG_BORDER, TK_CONFIG_RELIEF, TK_CONFIG_CURSOR,
0395 TK_CONFIG_ACTIVE_CURSOR, TK_CONFIG_JUSTIFY, TK_CONFIG_ANCHOR,
0396 TK_CONFIG_SYNONYM, TK_CONFIG_CAP_STYLE, TK_CONFIG_JOIN_STYLE,
0397 TK_CONFIG_PIXELS, TK_CONFIG_MM, TK_CONFIG_WINDOW, TK_CONFIG_CUSTOM,
0398 TK_CONFIG_END
0399 } Tk_ConfigTypes;
0400
0401
0402
0403
0404
0405 #define TK_CONFIG_ARGV_ONLY 1
0406 #define TK_CONFIG_OBJS 0x80
0407
0408
0409
0410
0411
0412
0413
0414
0415 #define TK_CONFIG_NULL_OK (1 << 0)
0416 #define TK_CONFIG_COLOR_ONLY (1 << 1)
0417 #define TK_CONFIG_MONO_ONLY (1 << 2)
0418 #define TK_CONFIG_DONT_SET_DEFAULT (1 << 3)
0419 #define TK_CONFIG_OPTION_SPECIFIED (1 << 4)
0420 #define TK_CONFIG_USER_BIT 0x100
0421 #endif
0422
0423
0424
0425
0426
0427 typedef struct {
0428 CONST86 char *key;
0429
0430 int type;
0431 char *src;
0432
0433 char *dst;
0434
0435 CONST86 char *help;
0436
0437 } Tk_ArgvInfo;
0438
0439
0440
0441
0442
0443
0444 #define TK_ARGV_CONSTANT 15
0445 #define TK_ARGV_INT 16
0446 #define TK_ARGV_STRING 17
0447 #define TK_ARGV_UID 18
0448 #define TK_ARGV_REST 19
0449 #define TK_ARGV_FLOAT 20
0450 #define TK_ARGV_FUNC 21
0451 #define TK_ARGV_GENFUNC 22
0452 #define TK_ARGV_HELP 23
0453 #define TK_ARGV_CONST_OPTION 24
0454 #define TK_ARGV_OPTION_VALUE 25
0455 #define TK_ARGV_OPTION_NAME_VALUE 26
0456 #define TK_ARGV_END 27
0457
0458
0459
0460
0461
0462 #define TK_ARGV_NO_DEFAULTS 0x1
0463 #define TK_ARGV_NO_LEFTOVERS 0x2
0464 #define TK_ARGV_NO_ABBREV 0x4
0465 #define TK_ARGV_DONT_SKIP_FIRST_ARG 0x8
0466
0467
0468
0469
0470
0471
0472 typedef enum {
0473 TK_DEFER_EVENT, TK_PROCESS_EVENT, TK_DISCARD_EVENT
0474 } Tk_RestrictAction;
0475
0476
0477
0478
0479
0480 #define TK_WIDGET_DEFAULT_PRIO 20
0481 #define TK_STARTUP_FILE_PRIO 40
0482 #define TK_USER_DEFAULT_PRIO 60
0483 #define TK_INTERACTIVE_PRIO 80
0484 #define TK_MAX_PRIO 100
0485
0486
0487
0488
0489
0490 #define TK_RELIEF_NULL -1
0491 #define TK_RELIEF_FLAT 0
0492 #define TK_RELIEF_GROOVE 1
0493 #define TK_RELIEF_RAISED 2
0494 #define TK_RELIEF_RIDGE 3
0495 #define TK_RELIEF_SOLID 4
0496 #define TK_RELIEF_SUNKEN 5
0497
0498
0499
0500
0501
0502 #define TK_3D_FLAT_GC 1
0503 #define TK_3D_LIGHT_GC 2
0504 #define TK_3D_DARK_GC 3
0505
0506
0507
0508
0509
0510
0511
0512
0513 #define TK_NOTIFY_SHARE 20
0514
0515
0516
0517
0518
0519 typedef enum {
0520 TK_ANCHOR_N, TK_ANCHOR_NE, TK_ANCHOR_E, TK_ANCHOR_SE,
0521 TK_ANCHOR_S, TK_ANCHOR_SW, TK_ANCHOR_W, TK_ANCHOR_NW,
0522 TK_ANCHOR_CENTER
0523 } Tk_Anchor;
0524
0525
0526
0527
0528
0529 typedef enum {
0530 TK_JUSTIFY_LEFT, TK_JUSTIFY_RIGHT, TK_JUSTIFY_CENTER
0531 } Tk_Justify;
0532
0533
0534
0535
0536
0537
0538 typedef struct Tk_FontMetrics {
0539 int ascent;
0540
0541
0542
0543 int descent;
0544
0545
0546
0547 int linespace;
0548
0549
0550
0551
0552 } Tk_FontMetrics;
0553
0554
0555
0556
0557
0558 #define TK_WHOLE_WORDS 1
0559 #define TK_AT_LEAST_ONE 2
0560 #define TK_PARTIAL_OK 4
0561
0562
0563
0564
0565
0566 #define TK_IGNORE_TABS 8
0567 #define TK_IGNORE_NEWLINES 16
0568
0569
0570
0571
0572
0573
0574 typedef Window (Tk_ClassCreateProc) (Tk_Window tkwin, Window parent,
0575 ClientData instanceData);
0576 typedef void (Tk_ClassWorldChangedProc) (ClientData instanceData);
0577 typedef void (Tk_ClassModalProc) (Tk_Window tkwin, XEvent *eventPtr);
0578
0579 typedef struct Tk_ClassProcs {
0580 unsigned int size;
0581 Tk_ClassWorldChangedProc *worldChangedProc;
0582
0583
0584
0585 Tk_ClassCreateProc *createProc;
0586
0587
0588 Tk_ClassModalProc *modalProc;
0589
0590
0591
0592 } Tk_ClassProcs;
0593
0594
0595
0596
0597
0598
0599
0600
0601
0602
0603
0604
0605
0606
0607
0608 #define Tk_GetClassProc(procs, which) \
0609 (((procs) == NULL) ? NULL : \
0610 (((procs)->size <= Tk_Offset(Tk_ClassProcs, which)) ? NULL:(procs)->which))
0611
0612
0613
0614
0615
0616
0617
0618 #define Tk_GeomLostContentProc Tk_GeomLostSlaveProc
0619 typedef void (Tk_GeomRequestProc) (ClientData clientData, Tk_Window tkwin);
0620 typedef void (Tk_GeomLostContentProc) (ClientData clientData, Tk_Window tkwin);
0621
0622 typedef struct Tk_GeomMgr {
0623 const char *name;
0624
0625
0626 Tk_GeomRequestProc *requestProc;
0627
0628
0629 Tk_GeomLostContentProc *lostSlaveProc;
0630
0631
0632
0633
0634 } Tk_GeomMgr;
0635
0636
0637
0638
0639
0640 #define TK_SCROLL_MOVETO 1
0641 #define TK_SCROLL_PAGES 2
0642 #define TK_SCROLL_UNITS 3
0643 #define TK_SCROLL_ERROR 4
0644
0645
0646
0647
0648
0649
0650
0651
0652
0653 #define VirtualEvent (MappingNotify + 1)
0654 #define ActivateNotify (MappingNotify + 2)
0655 #define DeactivateNotify (MappingNotify + 3)
0656 #define MouseWheelEvent (MappingNotify + 4)
0657 #define TK_LASTEVENT (MappingNotify + 5)
0658
0659 #define MouseWheelMask (1L << 28)
0660 #define ActivateMask (1L << 29)
0661 #define VirtualEventMask (1L << 30)
0662
0663
0664
0665
0666
0667
0668
0669
0670
0671
0672
0673
0674
0675 typedef struct {
0676 int type;
0677 unsigned long serial;
0678 Bool send_event;
0679
0680 Display *display;
0681 Window event;
0682 Window root;
0683 Window subwindow;
0684 Time time;
0685 int x, y;
0686
0687 int x_root, y_root;
0688 unsigned int state;
0689 Tk_Uid name;
0690 Bool same_screen;
0691 Tcl_Obj *user_data;
0692
0693
0694
0695 } XVirtualEvent;
0696
0697 typedef struct {
0698 int type;
0699 unsigned long serial;
0700 Bool send_event;
0701
0702 Display *display;
0703 Window window;
0704 } XActivateDeactivateEvent;
0705 typedef XActivateDeactivateEvent XActivateEvent;
0706 typedef XActivateDeactivateEvent XDeactivateEvent;
0707
0708
0709
0710
0711
0712
0713
0714
0715
0716
0717 #define Tk_Display(tkwin) (((Tk_FakeWin *) (tkwin))->display)
0718 #define Tk_ScreenNumber(tkwin) (((Tk_FakeWin *) (tkwin))->screenNum)
0719 #define Tk_Screen(tkwin) \
0720 (ScreenOfDisplay(Tk_Display(tkwin), Tk_ScreenNumber(tkwin)))
0721 #define Tk_Depth(tkwin) (((Tk_FakeWin *) (tkwin))->depth)
0722 #define Tk_Visual(tkwin) (((Tk_FakeWin *) (tkwin))->visual)
0723 #define Tk_WindowId(tkwin) (((Tk_FakeWin *) (tkwin))->window)
0724 #define Tk_PathName(tkwin) (((Tk_FakeWin *) (tkwin))->pathName)
0725 #define Tk_Name(tkwin) (((Tk_FakeWin *) (tkwin))->nameUid)
0726 #define Tk_Class(tkwin) (((Tk_FakeWin *) (tkwin))->classUid)
0727 #define Tk_X(tkwin) (((Tk_FakeWin *) (tkwin))->changes.x)
0728 #define Tk_Y(tkwin) (((Tk_FakeWin *) (tkwin))->changes.y)
0729 #define Tk_Width(tkwin) (((Tk_FakeWin *) (tkwin))->changes.width)
0730 #define Tk_Height(tkwin) \
0731 (((Tk_FakeWin *) (tkwin))->changes.height)
0732 #define Tk_Changes(tkwin) (&((Tk_FakeWin *) (tkwin))->changes)
0733 #define Tk_Attributes(tkwin) (&((Tk_FakeWin *) (tkwin))->atts)
0734 #define Tk_IsEmbedded(tkwin) \
0735 (((Tk_FakeWin *) (tkwin))->flags & TK_EMBEDDED)
0736 #define Tk_IsContainer(tkwin) \
0737 (((Tk_FakeWin *) (tkwin))->flags & TK_CONTAINER)
0738 #define Tk_IsMapped(tkwin) \
0739 (((Tk_FakeWin *) (tkwin))->flags & TK_MAPPED)
0740 #define Tk_IsTopLevel(tkwin) \
0741 (((Tk_FakeWin *) (tkwin))->flags & TK_TOP_LEVEL)
0742 #define Tk_HasWrapper(tkwin) \
0743 (((Tk_FakeWin *) (tkwin))->flags & TK_HAS_WRAPPER)
0744 #define Tk_WinManaged(tkwin) \
0745 (((Tk_FakeWin *) (tkwin))->flags & TK_WIN_MANAGED)
0746 #define Tk_TopWinHierarchy(tkwin) \
0747 (((Tk_FakeWin *) (tkwin))->flags & TK_TOP_HIERARCHY)
0748 #define Tk_IsManageable(tkwin) \
0749 (((Tk_FakeWin *) (tkwin))->flags & TK_WM_MANAGEABLE)
0750 #define Tk_ReqWidth(tkwin) (((Tk_FakeWin *) (tkwin))->reqWidth)
0751 #define Tk_ReqHeight(tkwin) (((Tk_FakeWin *) (tkwin))->reqHeight)
0752
0753 #define Tk_InternalBorderWidth(tkwin) \
0754 (((Tk_FakeWin *) (tkwin))->internalBorderLeft)
0755 #define Tk_InternalBorderLeft(tkwin) \
0756 (((Tk_FakeWin *) (tkwin))->internalBorderLeft)
0757 #define Tk_InternalBorderRight(tkwin) \
0758 (((Tk_FakeWin *) (tkwin))->internalBorderRight)
0759 #define Tk_InternalBorderTop(tkwin) \
0760 (((Tk_FakeWin *) (tkwin))->internalBorderTop)
0761 #define Tk_InternalBorderBottom(tkwin) \
0762 (((Tk_FakeWin *) (tkwin))->internalBorderBottom)
0763 #define Tk_MinReqWidth(tkwin) (((Tk_FakeWin *) (tkwin))->minReqWidth)
0764 #define Tk_MinReqHeight(tkwin) (((Tk_FakeWin *) (tkwin))->minReqHeight)
0765 #define Tk_Parent(tkwin) (((Tk_FakeWin *) (tkwin))->parentPtr)
0766 #define Tk_Colormap(tkwin) (((Tk_FakeWin *) (tkwin))->atts.colormap)
0767
0768
0769
0770
0771
0772
0773
0774
0775
0776
0777
0778 typedef struct Tk_FakeWin {
0779 Display *display;
0780 char *dummy1;
0781 int screenNum;
0782 Visual *visual;
0783 int depth;
0784 Window window;
0785 char *dummy2;
0786 char *dummy3;
0787 Tk_Window parentPtr;
0788 char *dummy4;
0789 char *dummy5;
0790 char *pathName;
0791 Tk_Uid nameUid;
0792 Tk_Uid classUid;
0793 XWindowChanges changes;
0794 unsigned int dummy6;
0795 XSetWindowAttributes atts;
0796 unsigned long dummy7;
0797 unsigned int flags;
0798 char *dummy8;
0799 #ifdef TK_USE_INPUT_METHODS
0800 XIC dummy9;
0801 #endif
0802 ClientData *dummy10;
0803 int dummy11;
0804 int dummy12;
0805 char *dummy13;
0806 char *dummy14;
0807 ClientData dummy15;
0808 int reqWidth, reqHeight;
0809 int internalBorderLeft;
0810 char *dummy16;
0811 char *dummy17;
0812 ClientData dummy18;
0813 char *dummy19;
0814 int internalBorderRight;
0815 int internalBorderTop;
0816 int internalBorderBottom;
0817 int minReqWidth;
0818 int minReqHeight;
0819 #ifdef TK_USE_INPUT_METHODS
0820 int dummy20;
0821 #endif
0822 char *dummy21;
0823 Tk_Window dummy22;
0824 } Tk_FakeWin;
0825
0826
0827
0828
0829
0830
0831
0832
0833
0834
0835
0836
0837
0838
0839
0840
0841
0842
0843
0844
0845
0846
0847
0848
0849
0850
0851
0852
0853
0854
0855
0856
0857
0858
0859
0860
0861
0862
0863
0864
0865
0866
0867
0868
0869
0870
0871
0872
0873
0874
0875
0876
0877
0878
0879
0880
0881
0882
0883
0884
0885
0886
0887
0888
0889
0890
0891
0892
0893
0894
0895 #define TK_MAPPED 1
0896 #define TK_TOP_LEVEL 2
0897 #define TK_ALREADY_DEAD 4
0898 #define TK_NEED_CONFIG_NOTIFY 8
0899 #define TK_GRAB_FLAG 0x10
0900 #define TK_CHECKED_IC 0x20
0901 #define TK_DONT_DESTROY_WINDOW 0x40
0902 #define TK_WM_COLORMAP_WINDOW 0x80
0903 #define TK_EMBEDDED 0x100
0904 #define TK_CONTAINER 0x200
0905 #define TK_BOTH_HALVES 0x400
0906
0907 #define TK_WRAPPER 0x1000
0908 #define TK_REPARENTED 0x2000
0909 #define TK_ANONYMOUS_WINDOW 0x4000
0910 #define TK_HAS_WRAPPER 0x8000
0911 #define TK_WIN_MANAGED 0x10000
0912 #define TK_TOP_HIERARCHY 0x20000
0913 #define TK_PROP_PROPCHANGE 0x40000
0914 #define TK_WM_MANAGEABLE 0x80000
0915 #define TK_CAN_INPUT_TEXT 0x100000
0916
0917
0918
0919
0920
0921
0922
0923
0924
0925 typedef enum {
0926 TK_STATE_NULL = -1, TK_STATE_ACTIVE, TK_STATE_DISABLED,
0927 TK_STATE_NORMAL, TK_STATE_HIDDEN
0928 } Tk_State;
0929
0930 typedef struct Tk_SmoothMethod {
0931 CONST86 char *name;
0932 int (*coordProc) (Tk_Canvas canvas, double *pointPtr, int numPoints,
0933 int numSteps, XPoint xPoints[], double dblPoints[]);
0934 void (*postscriptProc) (Tcl_Interp *interp, Tk_Canvas canvas,
0935 double *coordPtr, int numPoints, int numSteps);
0936 } Tk_SmoothMethod;
0937
0938
0939
0940
0941
0942
0943
0944 #define TK_TAG_SPACE 3
0945
0946 typedef struct Tk_Item {
0947 int id;
0948
0949 struct Tk_Item *nextPtr;
0950
0951
0952 Tk_Uid staticTagSpace[TK_TAG_SPACE];
0953
0954 Tk_Uid *tagPtr;
0955
0956
0957 int tagSpace;
0958
0959 int numTags;
0960
0961 struct Tk_ItemType *typePtr;
0962
0963 int x1, y1, x2, y2;
0964
0965
0966
0967
0968 struct Tk_Item *prevPtr;
0969
0970
0971 Tk_State state;
0972 char *reserved1;
0973 int redraw_flags;
0974
0975
0976
0977
0978
0979
0980
0981
0982
0983 } Tk_Item;
0984
0985
0986
0987
0988
0989
0990
0991
0992
0993
0994
0995 #define TK_ITEM_STATE_DEPENDANT 1
0996 #define TK_ITEM_DONT_REDRAW 2
0997
0998
0999
1000
1001
1002
1003 #ifdef USE_OLD_CANVAS
1004 typedef int (Tk_ItemCreateProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1005 Tk_Item *itemPtr, int argc, char **argv);
1006 typedef int (Tk_ItemConfigureProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1007 Tk_Item *itemPtr, int argc, char **argv, int flags);
1008 typedef int (Tk_ItemCoordProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1009 Tk_Item *itemPtr, int argc, char **argv);
1010 #else
1011 typedef int (Tk_ItemCreateProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1012 Tk_Item *itemPtr, int argc, Tcl_Obj *const objv[]);
1013 typedef int (Tk_ItemConfigureProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1014 Tk_Item *itemPtr, int argc, Tcl_Obj *const objv[],
1015 int flags);
1016 typedef int (Tk_ItemCoordProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1017 Tk_Item *itemPtr, int argc, Tcl_Obj *const argv[]);
1018 #endif
1019 typedef void (Tk_ItemDeleteProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1020 Display *display);
1021 typedef void (Tk_ItemDisplayProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1022 Display *display, Drawable dst, int x, int y, int width,
1023 int height);
1024 typedef double (Tk_ItemPointProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1025 double *pointPtr);
1026 typedef int (Tk_ItemAreaProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1027 double *rectPtr);
1028 typedef int (Tk_ItemPostscriptProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1029 Tk_Item *itemPtr, int prepass);
1030 typedef void (Tk_ItemScaleProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1031 double originX, double originY, double scaleX,
1032 double scaleY);
1033 typedef void (Tk_ItemTranslateProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1034 double deltaX, double deltaY);
1035 #ifdef USE_OLD_CANVAS
1036 typedef int (Tk_ItemIndexProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1037 Tk_Item *itemPtr, char *indexString, int *indexPtr);
1038 #else
1039 typedef int (Tk_ItemIndexProc)(Tcl_Interp *interp, Tk_Canvas canvas,
1040 Tk_Item *itemPtr, Tcl_Obj *indexString, int *indexPtr);
1041 #endif
1042 typedef void (Tk_ItemCursorProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1043 int index);
1044 typedef int (Tk_ItemSelectionProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1045 int offset, char *buffer, int maxBytes);
1046 #ifdef USE_OLD_CANVAS
1047 typedef void (Tk_ItemInsertProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1048 int beforeThis, char *string);
1049 #else
1050 typedef void (Tk_ItemInsertProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1051 int beforeThis, Tcl_Obj *string);
1052 #endif
1053 typedef void (Tk_ItemDCharsProc)(Tk_Canvas canvas, Tk_Item *itemPtr,
1054 int first, int last);
1055
1056 #ifndef __NO_OLD_CONFIG
1057
1058 typedef struct Tk_ItemType {
1059 CONST86 char *name;
1060
1061 int itemSize;
1062
1063 Tk_ItemCreateProc *createProc;
1064
1065
1066 CONST86 Tk_ConfigSpec *configSpecs;
1067
1068
1069 Tk_ItemConfigureProc *configProc;
1070
1071
1072 Tk_ItemCoordProc *coordProc;
1073
1074 Tk_ItemDeleteProc *deleteProc;
1075
1076
1077 Tk_ItemDisplayProc *displayProc;
1078
1079 int alwaysRedraw;
1080
1081
1082 Tk_ItemPointProc *pointProc;
1083
1084 Tk_ItemAreaProc *areaProc;
1085
1086 Tk_ItemPostscriptProc *postscriptProc;
1087
1088
1089 Tk_ItemScaleProc *scaleProc;
1090 Tk_ItemTranslateProc *translateProc;
1091
1092
1093 Tk_ItemIndexProc *indexProc;
1094
1095
1096 Tk_ItemCursorProc *icursorProc;
1097
1098
1099 Tk_ItemSelectionProc *selectionProc;
1100
1101
1102 Tk_ItemInsertProc *insertProc;
1103
1104
1105 Tk_ItemDCharsProc *dCharsProc;
1106
1107
1108 struct Tk_ItemType *nextPtr;
1109 char *reserved1;
1110 int reserved2;
1111 char *reserved3;
1112 char *reserved4;
1113 } Tk_ItemType;
1114
1115
1116
1117
1118
1119
1120 #define TK_MOVABLE_POINTS 2
1121
1122 #endif
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132 typedef struct Tk_CanvasTextInfo {
1133 Tk_3DBorder selBorder;
1134
1135 int selBorderWidth;
1136
1137 XColor *selFgColorPtr;
1138
1139 Tk_Item *selItemPtr;
1140
1141
1142 int selectFirst;
1143
1144 int selectLast;
1145
1146 Tk_Item *anchorItemPtr;
1147
1148
1149 int selectAnchor;
1150
1151
1152
1153 Tk_3DBorder insertBorder;
1154
1155 int insertWidth;
1156
1157 int insertBorderWidth;
1158
1159 Tk_Item *focusItemPtr;
1160
1161 int gotFocus;
1162
1163 int cursorOn;
1164
1165
1166 } Tk_CanvasTextInfo;
1167
1168
1169
1170
1171
1172 typedef struct Tk_Dash {
1173 int number;
1174 union {
1175 char *pt;
1176 char array[sizeof(char *)];
1177 } pattern;
1178 } Tk_Dash;
1179
1180 typedef struct Tk_TSOffset {
1181 int flags;
1182 int xoffset;
1183 int yoffset;
1184 } Tk_TSOffset;
1185
1186
1187
1188
1189
1190 #define TK_OFFSET_INDEX 1
1191 #define TK_OFFSET_RELATIVE 2
1192 #define TK_OFFSET_LEFT 4
1193 #define TK_OFFSET_CENTER 8
1194 #define TK_OFFSET_RIGHT 16
1195 #define TK_OFFSET_TOP 32
1196 #define TK_OFFSET_MIDDLE 64
1197 #define TK_OFFSET_BOTTOM 128
1198
1199 typedef struct Tk_Outline {
1200 GC gc;
1201 double width;
1202 double activeWidth;
1203 double disabledWidth;
1204 int offset;
1205 Tk_Dash dash;
1206 Tk_Dash activeDash;
1207 Tk_Dash disabledDash;
1208 void *reserved1;
1209 void *reserved2;
1210 void *reserved3;
1211 Tk_TSOffset tsoffset;
1212 XColor *color;
1213 XColor *activeColor;
1214 XColor *disabledColor;
1215 Pixmap stipple;
1216 Pixmap activeStipple;
1217
1218 Pixmap disabledStipple;
1219
1220 } Tk_Outline;
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230 typedef struct Tk_ImageType Tk_ImageType;
1231 #ifdef USE_OLD_IMAGE
1232 typedef int (Tk_ImageCreateProc) (Tcl_Interp *interp, char *name, int argc,
1233 char **argv, Tk_ImageType *typePtr, Tk_ImageMaster model,
1234 ClientData *clientDataPtr);
1235 #else
1236 typedef int (Tk_ImageCreateProc) (Tcl_Interp *interp, CONST86 char *name, int objc,
1237 Tcl_Obj *const objv[], CONST86 Tk_ImageType *typePtr, Tk_ImageMaster model,
1238 ClientData *clientDataPtr);
1239 #endif
1240 typedef ClientData (Tk_ImageGetProc) (Tk_Window tkwin, ClientData clientData);
1241 typedef void (Tk_ImageDisplayProc) (ClientData clientData, Display *display,
1242 Drawable drawable, int imageX, int imageY, int width, int height,
1243 int drawableX, int drawableY);
1244 typedef void (Tk_ImageFreeProc) (ClientData clientData, Display *display);
1245 typedef void (Tk_ImageDeleteProc) (ClientData clientData);
1246 typedef void (Tk_ImageChangedProc) (ClientData clientData, int x, int y,
1247 int width, int height, int imageWidth, int imageHeight);
1248 typedef int (Tk_ImagePostscriptProc) (ClientData clientData,
1249 Tcl_Interp *interp, Tk_Window tkwin, Tk_PostscriptInfo psinfo,
1250 int x, int y, int width, int height, int prepass);
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260 struct Tk_ImageType {
1261 CONST86 char *name;
1262 Tk_ImageCreateProc *createProc;
1263
1264
1265 Tk_ImageGetProc *getProc;
1266
1267
1268 Tk_ImageDisplayProc *displayProc;
1269
1270
1271 Tk_ImageFreeProc *freeProc;
1272
1273
1274 Tk_ImageDeleteProc *deleteProc;
1275
1276
1277
1278 Tk_ImagePostscriptProc *postscriptProc;
1279
1280
1281 struct Tk_ImageType *nextPtr;
1282
1283
1284
1285 char *reserved;
1286 };
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301 typedef void *Tk_PhotoHandle;
1302
1303
1304
1305
1306
1307 typedef struct Tk_PhotoImageBlock {
1308 unsigned char *pixelPtr;
1309 int width;
1310 int height;
1311 int pitch;
1312
1313 int pixelSize;
1314
1315 int offset[4];
1316
1317
1318 } Tk_PhotoImageBlock;
1319
1320
1321
1322
1323
1324
1325 #define TK_PHOTO_COMPOSITE_OVERLAY 0
1326 #define TK_PHOTO_COMPOSITE_SET 1
1327
1328
1329
1330
1331
1332
1333 typedef struct Tk_PhotoImageFormat Tk_PhotoImageFormat;
1334 #ifdef USE_OLD_IMAGE
1335 typedef int (Tk_ImageFileMatchProc) (Tcl_Channel chan, char *fileName,
1336 char *formatString, int *widthPtr, int *heightPtr);
1337 typedef int (Tk_ImageStringMatchProc) (char *string, char *formatString,
1338 int *widthPtr, int *heightPtr);
1339 typedef int (Tk_ImageFileReadProc) (Tcl_Interp *interp, Tcl_Channel chan,
1340 char *fileName, char *formatString, Tk_PhotoHandle imageHandle,
1341 int destX, int destY, int width, int height, int srcX, int srcY);
1342 typedef int (Tk_ImageStringReadProc) (Tcl_Interp *interp, char *string,
1343 char *formatString, Tk_PhotoHandle imageHandle, int destX, int destY,
1344 int width, int height, int srcX, int srcY);
1345 typedef int (Tk_ImageFileWriteProc) (Tcl_Interp *interp, char *fileName,
1346 char *formatString, Tk_PhotoImageBlock *blockPtr);
1347 typedef int (Tk_ImageStringWriteProc) (Tcl_Interp *interp,
1348 Tcl_DString *dataPtr, char *formatString, Tk_PhotoImageBlock *blockPtr);
1349 #else
1350 typedef int (Tk_ImageFileMatchProc) (Tcl_Channel chan, const char *fileName,
1351 Tcl_Obj *format, int *widthPtr, int *heightPtr, Tcl_Interp *interp);
1352 typedef int (Tk_ImageStringMatchProc) (Tcl_Obj *dataObj, Tcl_Obj *format,
1353 int *widthPtr, int *heightPtr, Tcl_Interp *interp);
1354 typedef int (Tk_ImageFileReadProc) (Tcl_Interp *interp, Tcl_Channel chan,
1355 const char *fileName, Tcl_Obj *format, Tk_PhotoHandle imageHandle,
1356 int destX, int destY, int width, int height, int srcX, int srcY);
1357 typedef int (Tk_ImageStringReadProc) (Tcl_Interp *interp, Tcl_Obj *dataObj,
1358 Tcl_Obj *format, Tk_PhotoHandle imageHandle, int destX, int destY,
1359 int width, int height, int srcX, int srcY);
1360 typedef int (Tk_ImageFileWriteProc) (Tcl_Interp *interp, const char *fileName,
1361 Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr);
1362 typedef int (Tk_ImageStringWriteProc) (Tcl_Interp *interp, Tcl_Obj *format,
1363 Tk_PhotoImageBlock *blockPtr);
1364 #endif
1365
1366
1367
1368
1369
1370
1371
1372 struct Tk_PhotoImageFormat {
1373 CONST86 char *name;
1374 Tk_ImageFileMatchProc *fileMatchProc;
1375
1376
1377 Tk_ImageStringMatchProc *stringMatchProc;
1378
1379
1380 Tk_ImageFileReadProc *fileReadProc;
1381
1382
1383 Tk_ImageStringReadProc *stringReadProc;
1384
1385
1386 Tk_ImageFileWriteProc *fileWriteProc;
1387
1388
1389 Tk_ImageStringWriteProc *stringWriteProc;
1390
1391
1392
1393 struct Tk_PhotoImageFormat *nextPtr;
1394
1395
1396
1397 };
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411 #define TK_STYLE_VERSION_1 0x1
1412 #define TK_STYLE_VERSION TK_STYLE_VERSION_1
1413
1414
1415
1416
1417
1418
1419 typedef void (Tk_GetElementSizeProc) (ClientData clientData, char *recordPtr,
1420 const Tk_OptionSpec **optionsPtr, Tk_Window tkwin, int width,
1421 int height, int inner, int *widthPtr, int *heightPtr);
1422 typedef void (Tk_GetElementBoxProc) (ClientData clientData, char *recordPtr,
1423 const Tk_OptionSpec **optionsPtr, Tk_Window tkwin, int x, int y,
1424 int width, int height, int inner, int *xPtr, int *yPtr, int *widthPtr,
1425 int *heightPtr);
1426 typedef int (Tk_GetElementBorderWidthProc) (ClientData clientData,
1427 char *recordPtr, const Tk_OptionSpec **optionsPtr, Tk_Window tkwin);
1428 typedef void (Tk_DrawElementProc) (ClientData clientData, char *recordPtr,
1429 const Tk_OptionSpec **optionsPtr, Tk_Window tkwin, Drawable d, int x,
1430 int y, int width, int height, int state);
1431
1432 typedef struct Tk_ElementOptionSpec {
1433 char *name;
1434 Tk_OptionType type;
1435
1436 } Tk_ElementOptionSpec;
1437
1438 typedef struct Tk_ElementSpec {
1439 int version;
1440 char *name;
1441 Tk_ElementOptionSpec *options;
1442
1443
1444 Tk_GetElementSizeProc *getSize;
1445
1446
1447
1448 Tk_GetElementBoxProc *getBox;
1449
1450
1451 Tk_GetElementBorderWidthProc *getBorderWidth;
1452
1453
1454 Tk_DrawElementProc *draw;
1455
1456 } Tk_ElementSpec;
1457
1458
1459
1460
1461
1462 #define TK_ELEMENT_STATE_ACTIVE 1<<0
1463 #define TK_ELEMENT_STATE_DISABLED 1<<1
1464 #define TK_ELEMENT_STATE_FOCUS 1<<2
1465 #define TK_ELEMENT_STATE_PRESSED 1<<3
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477 #define TK_READABLE TCL_READABLE
1478 #define TK_WRITABLE TCL_WRITABLE
1479 #define TK_EXCEPTION TCL_EXCEPTION
1480
1481 #define TK_DONT_WAIT TCL_DONT_WAIT
1482 #define TK_X_EVENTS TCL_WINDOW_EVENTS
1483 #define TK_WINDOW_EVENTS TCL_WINDOW_EVENTS
1484 #define TK_FILE_EVENTS TCL_FILE_EVENTS
1485 #define TK_TIMER_EVENTS TCL_TIMER_EVENTS
1486 #define TK_IDLE_EVENTS TCL_IDLE_EVENTS
1487 #define TK_ALL_EVENTS TCL_ALL_EVENTS
1488
1489 #define Tk_IdleProc Tcl_IdleProc
1490 #define Tk_FileProc Tcl_FileProc
1491 #define Tk_TimerProc Tcl_TimerProc
1492 #define Tk_TimerToken Tcl_TimerToken
1493
1494 #define Tk_BackgroundError Tcl_BackgroundError
1495 #define Tk_CancelIdleCall Tcl_CancelIdleCall
1496 #define Tk_CreateFileHandler Tcl_CreateFileHandler
1497 #define Tk_CreateTimerHandler Tcl_CreateTimerHandler
1498 #define Tk_DeleteFileHandler Tcl_DeleteFileHandler
1499 #define Tk_DeleteTimerHandler Tcl_DeleteTimerHandler
1500 #define Tk_DoOneEvent Tcl_DoOneEvent
1501 #define Tk_DoWhenIdle Tcl_DoWhenIdle
1502 #define Tk_Sleep Tcl_Sleep
1503
1504
1505
1506 #define Tk_EventuallyFree Tcl_EventuallyFree
1507 #define Tk_FreeProc Tcl_FreeProc
1508 #define Tk_Preserve Tcl_Preserve
1509 #define Tk_Release Tcl_Release
1510
1511
1512 #if defined(_WIN32) || defined(__CYGWIN__)
1513 #define Tk_Main(argc, argv, proc) Tk_MainEx(argc, argv, proc, \
1514 (Tcl_FindExecutable(0), (Tcl_CreateInterp)()))
1515 #else
1516 #define Tk_Main(argc, argv, proc) Tk_MainEx(argc, argv, proc, \
1517 (Tcl_FindExecutable(argv[0]), (Tcl_CreateInterp)()))
1518 #endif
1519 const char * Tk_InitStubs(Tcl_Interp *interp, const char *version,
1520 int exact);
1521 EXTERN const char * Tk_PkgInitStubsCheck(Tcl_Interp *interp,
1522 const char *version, int exact);
1523
1524 #ifndef USE_TK_STUBS
1525 #define Tk_InitStubs(interp, version, exact) \
1526 Tk_PkgInitStubsCheck(interp, version, exact)
1527 #endif
1528
1529 #define Tk_InitImageArgs(interp, argc, argv)
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539 typedef int (Tk_ErrorProc) (ClientData clientData, XErrorEvent *errEventPtr);
1540 typedef void (Tk_EventProc) (ClientData clientData, XEvent *eventPtr);
1541 typedef int (Tk_GenericProc) (ClientData clientData, XEvent *eventPtr);
1542 typedef int (Tk_ClientMessageProc) (Tk_Window tkwin, XEvent *eventPtr);
1543 typedef int (Tk_GetSelProc) (ClientData clientData, Tcl_Interp *interp,
1544 CONST86 char *portion);
1545 typedef void (Tk_LostSelProc) (ClientData clientData);
1546 typedef Tk_RestrictAction (Tk_RestrictProc) (ClientData clientData,
1547 XEvent *eventPtr);
1548 typedef int (Tk_SelectionProc) (ClientData clientData, int offset,
1549 char *buffer, int maxBytes);
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559 #include "tkDecls.h"
1560
1561 #ifdef USE_OLD_IMAGE
1562 #undef Tk_CreateImageType
1563 #define Tk_CreateImageType Tk_CreateOldImageType
1564 #undef Tk_CreatePhotoImageFormat
1565 #define Tk_CreatePhotoImageFormat Tk_CreateOldPhotoImageFormat
1566 #endif
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578 #ifdef USE_COMPOSITELESS_PHOTO_PUT_BLOCK
1579 # ifdef Tk_PhotoPutBlock
1580 # undef Tk_PhotoPutBlock
1581 # endif
1582 # define Tk_PhotoPutBlock Tk_PhotoPutBlock_NoComposite
1583 # ifdef Tk_PhotoPutZoomedBlock
1584 # undef Tk_PhotoPutZoomedBlock
1585 # endif
1586 # define Tk_PhotoPutZoomedBlock Tk_PhotoPutZoomedBlock_NoComposite
1587 # define USE_PANIC_ON_PHOTO_ALLOC_FAILURE
1588 #else
1589 # ifdef USE_PANIC_ON_PHOTO_ALLOC_FAILURE
1590 # ifdef Tk_PhotoPutBlock
1591 # undef Tk_PhotoPutBlock
1592 # endif
1593 # define Tk_PhotoPutBlock Tk_PhotoPutBlock_Panic
1594 # ifdef Tk_PhotoPutZoomedBlock
1595 # undef Tk_PhotoPutZoomedBlock
1596 # endif
1597 # define Tk_PhotoPutZoomedBlock Tk_PhotoPutZoomedBlock_Panic
1598 # endif
1599 #endif
1600 #ifdef USE_PANIC_ON_PHOTO_ALLOC_FAILURE
1601 # ifdef Tk_PhotoExpand
1602 # undef Tk_PhotoExpand
1603 # endif
1604 # define Tk_PhotoExpand Tk_PhotoExpand_Panic
1605 # ifdef Tk_PhotoSetSize
1606 # undef Tk_PhotoSetSize
1607 # endif
1608 # define Tk_PhotoSetSize Tk_PhotoSetSize_Panic
1609 #endif
1610
1611 #undef TCL_STORAGE_CLASS
1612 #define TCL_STORAGE_CLASS DLLIMPORT
1613
1614 #endif
1615
1616
1617
1618
1619
1620 #ifdef __cplusplus
1621 }
1622 #endif
1623
1624 #endif
1625
1626
1627
1628
1629
1630
1631
1632