Guilherme Polo | a66cf5b | 2009-02-09 20:50:27 +0000 | [diff] [blame] | 1 | #ifndef TKINTER_H |
| 2 | #define TKINTER_H |
| 3 | |
| 4 | /* This header is used to share some macros between _tkinter.c and |
Guilherme Polo | 5d64c33 | 2009-04-05 02:11:19 +0000 | [diff] [blame] | 5 | * tkappinit.c. |
| 6 | * Be sure to include tk.h before including this header so |
Serhiy Storchaka | 656ffdb | 2015-04-21 21:17:33 +0300 | [diff] [blame] | 7 | * TK_HEX_VERSION is properly defined. */ |
Guilherme Polo | a66cf5b | 2009-02-09 20:50:27 +0000 | [diff] [blame] | 8 | |
| 9 | /* TK_RELEASE_LEVEL is always one of the following: |
Serhiy Storchaka | 656ffdb | 2015-04-21 21:17:33 +0300 | [diff] [blame] | 10 | * TCL_ALPHA_RELEASE 0 |
Guilherme Polo | a66cf5b | 2009-02-09 20:50:27 +0000 | [diff] [blame] | 11 | * TCL_BETA_RELEASE 1 |
| 12 | * TCL_FINAL_RELEASE 2 |
| 13 | */ |
Serhiy Storchaka | 656ffdb | 2015-04-21 21:17:33 +0300 | [diff] [blame] | 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 | */ |
Guilherme Polo | a66cf5b | 2009-02-09 20:50:27 +0000 | [diff] [blame] | 22 | #define TK_VERSION_HEX ((TK_MAJOR_VERSION << 24) | \ |
Serhiy Storchaka | 656ffdb | 2015-04-21 21:17:33 +0300 | [diff] [blame] | 23 | (TK_MINOR_VERSION << 16) | \ |
| 24 | (TK_RELEASE_SERIAL << 8) | \ |
| 25 | (TK_RELEASE_LEVEL << 0)) |
Guilherme Polo | a66cf5b | 2009-02-09 20:50:27 +0000 | [diff] [blame] | 26 | |
| 27 | /* Protect Tk 8.4.13 and older from a deadlock that happens when trying |
| 28 | * to load tk after a failed attempt. */ |
Serhiy Storchaka | 656ffdb | 2015-04-21 21:17:33 +0300 | [diff] [blame] | 29 | #if TK_HEX_VERSION < 0x0804020e |
Guilherme Polo | a66cf5b | 2009-02-09 20:50:27 +0000 | [diff] [blame] | 30 | #define TKINTER_PROTECT_LOADTK |
| 31 | #define TKINTER_LOADTK_ERRMSG \ |
Serhiy Storchaka | 656ffdb | 2015-04-21 21:17:33 +0300 | [diff] [blame] | 32 | "Calling Tk_Init again after a previous call failed might deadlock" |
Guilherme Polo | a66cf5b | 2009-02-09 20:50:27 +0000 | [diff] [blame] | 33 | #endif |
| 34 | |
| 35 | #endif /* !TKINTER_H */ |