|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _TKPLATDECLS |
|
#define _TKPLATDECLS |
|
|
|
#ifdef BUILD_tk |
|
#undef TCL_STORAGE_CLASS |
|
#define TCL_STORAGE_CLASS DLLEXPORT |
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if defined(_WIN32) || defined(__CYGWIN__) |
|
|
|
EXTERN Window Tk_AttachHWND(Tk_Window tkwin, HWND hwnd); |
|
|
|
EXTERN HINSTANCE Tk_GetHINSTANCE(void); |
|
|
|
EXTERN HWND Tk_GetHWND(Window window); |
|
|
|
EXTERN Tk_Window Tk_HWNDToWindow(HWND hwnd); |
|
|
|
EXTERN void Tk_PointerEvent(HWND hwnd, int x, int y); |
|
|
|
EXTERN int Tk_TranslateWinEvent(HWND hwnd, UINT message, |
|
WPARAM wParam, LPARAM lParam, |
|
LRESULT *result); |
|
#endif |
|
#ifdef MAC_OSX_TK |
|
|
|
EXTERN void Tk_MacOSXSetEmbedHandler( |
|
Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, |
|
Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, |
|
Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, |
|
Tk_MacOSXEmbedGetClipProc *getClipProc, |
|
Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc); |
|
|
|
EXTERN void Tk_MacOSXTurnOffMenus(void); |
|
|
|
EXTERN void Tk_MacOSXTkOwnsCursor(int tkOwnsIt); |
|
|
|
EXTERN void TkMacOSXInitMenus(Tcl_Interp *interp); |
|
|
|
EXTERN void TkMacOSXInitAppleEvents(Tcl_Interp *interp); |
|
|
|
EXTERN void TkGenWMConfigureEvent(Tk_Window tkwin, int x, int y, |
|
int width, int height, int flags); |
|
|
|
EXTERN void TkMacOSXInvalClipRgns(Tk_Window tkwin); |
|
|
|
EXTERN void * TkMacOSXGetDrawablePort(Drawable drawable); |
|
|
|
EXTERN void * TkMacOSXGetRootControl(Drawable drawable); |
|
|
|
EXTERN void Tk_MacOSXSetupTkNotifier(void); |
|
|
|
EXTERN int Tk_MacOSXIsAppInFront(void); |
|
|
|
EXTERN Tk_Window Tk_MacOSXGetTkWindow(void *w); |
|
|
|
EXTERN void * Tk_MacOSXGetCGContextForDrawable(Drawable drawable); |
|
|
|
EXTERN void * Tk_MacOSXGetNSWindowForDrawable(Drawable drawable); |
|
|
|
|
|
|
|
EXTERN void TkGenWMConfigureEvent_(Tk_Window tkwin, int x, int y, |
|
int width, int height, int flags); |
|
#endif |
|
|
|
typedef struct TkPlatStubs { |
|
int magic; |
|
void *hooks; |
|
|
|
#if defined(_WIN32) || defined(__CYGWIN__) |
|
Window (*tk_AttachHWND) (Tk_Window tkwin, HWND hwnd); |
|
HINSTANCE (*tk_GetHINSTANCE) (void); |
|
HWND (*tk_GetHWND) (Window window); |
|
Tk_Window (*tk_HWNDToWindow) (HWND hwnd); |
|
void (*tk_PointerEvent) (HWND hwnd, int x, int y); |
|
int (*tk_TranslateWinEvent) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result); |
|
#endif |
|
#ifdef MAC_OSX_TK |
|
void (*tk_MacOSXSetEmbedHandler) (Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, Tk_MacOSXEmbedGetClipProc *getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc); |
|
void (*tk_MacOSXTurnOffMenus) (void); |
|
void (*tk_MacOSXTkOwnsCursor) (int tkOwnsIt); |
|
void (*tkMacOSXInitMenus) (Tcl_Interp *interp); |
|
void (*tkMacOSXInitAppleEvents) (Tcl_Interp *interp); |
|
void (*tkGenWMConfigureEvent) (Tk_Window tkwin, int x, int y, int width, int height, int flags); |
|
void (*tkMacOSXInvalClipRgns) (Tk_Window tkwin); |
|
void * (*tkMacOSXGetDrawablePort) (Drawable drawable); |
|
void * (*tkMacOSXGetRootControl) (Drawable drawable); |
|
void (*tk_MacOSXSetupTkNotifier) (void); |
|
int (*tk_MacOSXIsAppInFront) (void); |
|
Tk_Window (*tk_MacOSXGetTkWindow) (void *w); |
|
void * (*tk_MacOSXGetCGContextForDrawable) (Drawable drawable); |
|
void * (*tk_MacOSXGetNSWindowForDrawable) (Drawable drawable); |
|
void (*reserved14)(void); |
|
void (*reserved15)(void); |
|
void (*tkGenWMConfigureEvent_) (Tk_Window tkwin, int x, int y, int width, int height, int flags); |
|
#endif |
|
} TkPlatStubs; |
|
|
|
extern const TkPlatStubs *tkPlatStubsPtr; |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#if defined(USE_TK_STUBS) |
|
|
|
|
|
|
|
|
|
|
|
#if defined(_WIN32) || defined(__CYGWIN__) |
|
#define Tk_AttachHWND \ |
|
(tkPlatStubsPtr->tk_AttachHWND) |
|
#define Tk_GetHINSTANCE \ |
|
(tkPlatStubsPtr->tk_GetHINSTANCE) |
|
#define Tk_GetHWND \ |
|
(tkPlatStubsPtr->tk_GetHWND) |
|
#define Tk_HWNDToWindow \ |
|
(tkPlatStubsPtr->tk_HWNDToWindow) |
|
#define Tk_PointerEvent \ |
|
(tkPlatStubsPtr->tk_PointerEvent) |
|
#define Tk_TranslateWinEvent \ |
|
(tkPlatStubsPtr->tk_TranslateWinEvent) |
|
#endif |
|
#ifdef MAC_OSX_TK |
|
#define Tk_MacOSXSetEmbedHandler \ |
|
(tkPlatStubsPtr->tk_MacOSXSetEmbedHandler) |
|
#define Tk_MacOSXTurnOffMenus \ |
|
(tkPlatStubsPtr->tk_MacOSXTurnOffMenus) |
|
#define Tk_MacOSXTkOwnsCursor \ |
|
(tkPlatStubsPtr->tk_MacOSXTkOwnsCursor) |
|
#define TkMacOSXInitMenus \ |
|
(tkPlatStubsPtr->tkMacOSXInitMenus) |
|
#define TkMacOSXInitAppleEvents \ |
|
(tkPlatStubsPtr->tkMacOSXInitAppleEvents) |
|
#define TkGenWMConfigureEvent \ |
|
(tkPlatStubsPtr->tkGenWMConfigureEvent) |
|
#define TkMacOSXInvalClipRgns \ |
|
(tkPlatStubsPtr->tkMacOSXInvalClipRgns) |
|
#define TkMacOSXGetDrawablePort \ |
|
(tkPlatStubsPtr->tkMacOSXGetDrawablePort) |
|
#define TkMacOSXGetRootControl \ |
|
(tkPlatStubsPtr->tkMacOSXGetRootControl) |
|
#define Tk_MacOSXSetupTkNotifier \ |
|
(tkPlatStubsPtr->tk_MacOSXSetupTkNotifier) |
|
#define Tk_MacOSXIsAppInFront \ |
|
(tkPlatStubsPtr->tk_MacOSXIsAppInFront) |
|
#define Tk_MacOSXGetTkWindow \ |
|
(tkPlatStubsPtr->tk_MacOSXGetTkWindow) |
|
#define Tk_MacOSXGetCGContextForDrawable \ |
|
(tkPlatStubsPtr->tk_MacOSXGetCGContextForDrawable) |
|
#define Tk_MacOSXGetNSWindowForDrawable \ |
|
(tkPlatStubsPtr->tk_MacOSXGetNSWindowForDrawable) |
|
|
|
|
|
#define TkGenWMConfigureEvent_ \ |
|
(tkPlatStubsPtr->tkGenWMConfigureEvent_) |
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#undef TCL_STORAGE_CLASS |
|
#define TCL_STORAGE_CLASS DLLIMPORT |
|
|
|
#undef TkGenWMConfigureEvent_ |
|
#define Tk_MacOSXGetNSViewForDrawable TkMacOSXGetRootControl |
|
|
|
#endif |
|
|