File indexing completed on 2024-05-18 08:30:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef _TKPLATDECLS
0013 #define _TKPLATDECLS
0014
0015 #ifdef BUILD_tk
0016 #undef TCL_STORAGE_CLASS
0017 #define TCL_STORAGE_CLASS DLLEXPORT
0018 #endif
0019
0020
0021
0022
0023
0024
0025
0026 #ifdef __cplusplus
0027 extern "C" {
0028 #endif
0029
0030
0031
0032 #ifdef __cplusplus
0033 extern "C" {
0034 #endif
0035
0036
0037
0038
0039
0040 #if defined(_WIN32) || defined(__CYGWIN__)
0041
0042 EXTERN Window Tk_AttachHWND(Tk_Window tkwin, HWND hwnd);
0043
0044 EXTERN HINSTANCE Tk_GetHINSTANCE(void);
0045
0046 EXTERN HWND Tk_GetHWND(Window window);
0047
0048 EXTERN Tk_Window Tk_HWNDToWindow(HWND hwnd);
0049
0050 EXTERN void Tk_PointerEvent(HWND hwnd, int x, int y);
0051
0052 EXTERN int Tk_TranslateWinEvent(HWND hwnd, UINT message,
0053 WPARAM wParam, LPARAM lParam,
0054 LRESULT *result);
0055 #endif
0056 #ifdef MAC_OSX_TK
0057
0058 EXTERN void Tk_MacOSXSetEmbedHandler(
0059 Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr,
0060 Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr,
0061 Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr,
0062 Tk_MacOSXEmbedGetClipProc *getClipProc,
0063 Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc);
0064
0065 EXTERN void Tk_MacOSXTurnOffMenus(void);
0066
0067 EXTERN void Tk_MacOSXTkOwnsCursor(int tkOwnsIt);
0068
0069 EXTERN void TkMacOSXInitMenus(Tcl_Interp *interp);
0070
0071 EXTERN void TkMacOSXInitAppleEvents(Tcl_Interp *interp);
0072
0073 EXTERN void TkGenWMConfigureEvent(Tk_Window tkwin, int x, int y,
0074 int width, int height, int flags);
0075
0076 EXTERN void TkMacOSXInvalClipRgns(Tk_Window tkwin);
0077
0078 EXTERN void * TkMacOSXGetDrawablePort(Drawable drawable);
0079
0080 EXTERN void * TkMacOSXGetRootControl(Drawable drawable);
0081
0082 EXTERN void Tk_MacOSXSetupTkNotifier(void);
0083
0084 EXTERN int Tk_MacOSXIsAppInFront(void);
0085
0086 EXTERN Tk_Window Tk_MacOSXGetTkWindow(void *w);
0087
0088 EXTERN void * Tk_MacOSXGetCGContextForDrawable(Drawable drawable);
0089
0090 EXTERN void * Tk_MacOSXGetNSWindowForDrawable(Drawable drawable);
0091
0092
0093
0094 EXTERN void TkGenWMConfigureEvent_(Tk_Window tkwin, int x, int y,
0095 int width, int height, int flags);
0096 #endif
0097
0098 typedef struct TkPlatStubs {
0099 int magic;
0100 void *hooks;
0101
0102 #if defined(_WIN32) || defined(__CYGWIN__)
0103 Window (*tk_AttachHWND) (Tk_Window tkwin, HWND hwnd);
0104 HINSTANCE (*tk_GetHINSTANCE) (void);
0105 HWND (*tk_GetHWND) (Window window);
0106 Tk_Window (*tk_HWNDToWindow) (HWND hwnd);
0107 void (*tk_PointerEvent) (HWND hwnd, int x, int y);
0108 int (*tk_TranslateWinEvent) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result);
0109 #endif
0110 #ifdef MAC_OSX_TK
0111 void (*tk_MacOSXSetEmbedHandler) (Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, Tk_MacOSXEmbedGetClipProc *getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc);
0112 void (*tk_MacOSXTurnOffMenus) (void);
0113 void (*tk_MacOSXTkOwnsCursor) (int tkOwnsIt);
0114 void (*tkMacOSXInitMenus) (Tcl_Interp *interp);
0115 void (*tkMacOSXInitAppleEvents) (Tcl_Interp *interp);
0116 void (*tkGenWMConfigureEvent) (Tk_Window tkwin, int x, int y, int width, int height, int flags);
0117 void (*tkMacOSXInvalClipRgns) (Tk_Window tkwin);
0118 void * (*tkMacOSXGetDrawablePort) (Drawable drawable);
0119 void * (*tkMacOSXGetRootControl) (Drawable drawable);
0120 void (*tk_MacOSXSetupTkNotifier) (void);
0121 int (*tk_MacOSXIsAppInFront) (void);
0122 Tk_Window (*tk_MacOSXGetTkWindow) (void *w);
0123 void * (*tk_MacOSXGetCGContextForDrawable) (Drawable drawable);
0124 void * (*tk_MacOSXGetNSWindowForDrawable) (Drawable drawable);
0125 void (*reserved14)(void);
0126 void (*reserved15)(void);
0127 void (*tkGenWMConfigureEvent_) (Tk_Window tkwin, int x, int y, int width, int height, int flags);
0128 #endif
0129 } TkPlatStubs;
0130
0131 extern const TkPlatStubs *tkPlatStubsPtr;
0132
0133 #ifdef __cplusplus
0134 }
0135 #endif
0136
0137 #if defined(USE_TK_STUBS)
0138
0139
0140
0141
0142
0143 #if defined(_WIN32) || defined(__CYGWIN__)
0144 #define Tk_AttachHWND \
0145 (tkPlatStubsPtr->tk_AttachHWND)
0146 #define Tk_GetHINSTANCE \
0147 (tkPlatStubsPtr->tk_GetHINSTANCE)
0148 #define Tk_GetHWND \
0149 (tkPlatStubsPtr->tk_GetHWND)
0150 #define Tk_HWNDToWindow \
0151 (tkPlatStubsPtr->tk_HWNDToWindow)
0152 #define Tk_PointerEvent \
0153 (tkPlatStubsPtr->tk_PointerEvent)
0154 #define Tk_TranslateWinEvent \
0155 (tkPlatStubsPtr->tk_TranslateWinEvent)
0156 #endif
0157 #ifdef MAC_OSX_TK
0158 #define Tk_MacOSXSetEmbedHandler \
0159 (tkPlatStubsPtr->tk_MacOSXSetEmbedHandler)
0160 #define Tk_MacOSXTurnOffMenus \
0161 (tkPlatStubsPtr->tk_MacOSXTurnOffMenus)
0162 #define Tk_MacOSXTkOwnsCursor \
0163 (tkPlatStubsPtr->tk_MacOSXTkOwnsCursor)
0164 #define TkMacOSXInitMenus \
0165 (tkPlatStubsPtr->tkMacOSXInitMenus)
0166 #define TkMacOSXInitAppleEvents \
0167 (tkPlatStubsPtr->tkMacOSXInitAppleEvents)
0168 #define TkGenWMConfigureEvent \
0169 (tkPlatStubsPtr->tkGenWMConfigureEvent)
0170 #define TkMacOSXInvalClipRgns \
0171 (tkPlatStubsPtr->tkMacOSXInvalClipRgns)
0172 #define TkMacOSXGetDrawablePort \
0173 (tkPlatStubsPtr->tkMacOSXGetDrawablePort)
0174 #define TkMacOSXGetRootControl \
0175 (tkPlatStubsPtr->tkMacOSXGetRootControl)
0176 #define Tk_MacOSXSetupTkNotifier \
0177 (tkPlatStubsPtr->tk_MacOSXSetupTkNotifier)
0178 #define Tk_MacOSXIsAppInFront \
0179 (tkPlatStubsPtr->tk_MacOSXIsAppInFront)
0180 #define Tk_MacOSXGetTkWindow \
0181 (tkPlatStubsPtr->tk_MacOSXGetTkWindow)
0182 #define Tk_MacOSXGetCGContextForDrawable \
0183 (tkPlatStubsPtr->tk_MacOSXGetCGContextForDrawable)
0184 #define Tk_MacOSXGetNSWindowForDrawable \
0185 (tkPlatStubsPtr->tk_MacOSXGetNSWindowForDrawable)
0186
0187
0188 #define TkGenWMConfigureEvent_ \
0189 (tkPlatStubsPtr->tkGenWMConfigureEvent_)
0190 #endif
0191
0192 #endif
0193
0194
0195
0196 #ifdef __cplusplus
0197 }
0198 #endif
0199
0200 #undef TCL_STORAGE_CLASS
0201 #define TCL_STORAGE_CLASS DLLIMPORT
0202
0203 #undef TkGenWMConfigureEvent_
0204 #define Tk_MacOSXGetNSViewForDrawable TkMacOSXGetRootControl
0205
0206 #endif