1 #ifndef TKINTER_H 2 #define TKINTER_H 3 4 /* This header is used to share some macros between _tkinter.c and 5 * tkappinit.c. 6 * Be sure to include tk.h before including this header so 7 * TK_HEX_VERSION is properly defined. */ 8 9 /* TK_RELEASE_LEVEL is always one of the following: 10 * TCL_ALPHA_RELEASE 0 11 * TCL_BETA_RELEASE 1 12 * TCL_FINAL_RELEASE 2 13 */ 14 #define TK_HEX_VERSION ((TK_MAJOR_VERSION << 24) | \ 15 (TK_MINOR_VERSION << 16) | \ 16 (TK_RELEASE_LEVEL << 8) | \ 17 (TK_RELEASE_SERIAL << 0)) 18 19 /* TK_VERSION_HEX packs fields in wrong order, not suitable for comparing of 20 * non-final releases. Left for backward compatibility. 21 */ 22 #define TK_VERSION_HEX ((TK_MAJOR_VERSION << 24) | \ 23 (TK_MINOR_VERSION << 16) | \ 24 (TK_RELEASE_SERIAL << 8) | \ 25 (TK_RELEASE_LEVEL << 0)) 26 27 /* Protect Tk 8.4.13 and older from a deadlock that happens when trying 28 * to load tk after a failed attempt. */ 29 #if TK_HEX_VERSION < 0x0804020e 30 #define TKINTER_PROTECT_LOADTK 31 #define TKINTER_LOADTK_ERRMSG \ 32 "Calling Tk_Init again after a previous call failed might deadlock" 33 #endif 34 35 #endif /* !TKINTER_H */ 36