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