1 /* 2 * tkPlatDecls.h -- 3 * 4 * Declarations of functions in the platform-specific public Tcl API. 5 * 6 * Copyright (c) 1998-1999 by Scriptics Corporation. 7 * 8 * See the file "license.terms" for information on usage and redistribution 9 * of this file, and for a DISCLAIMER OF ALL WARRANTIES. 10 */ 11 12 #ifndef _TKPLATDECLS 13 #define _TKPLATDECLS 14 15 #ifdef BUILD_tk 16 #undef TCL_STORAGE_CLASS 17 #define TCL_STORAGE_CLASS DLLEXPORT 18 #endif 19 20 /* 21 * WARNING: This file is automatically generated by the tools/genStubs.tcl 22 * script. Any modifications to the function declarations below should be made 23 * in the generic/tk.decls script. 24 */ 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 /* !BEGIN!: Do not edit below this line. */ 31 32 /* 33 * Exported function declarations: 34 */ 35 36 #if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */ 37 /* 0 */ 38 EXTERN Window Tk_AttachHWND(Tk_Window tkwin, HWND hwnd); 39 /* 1 */ 40 EXTERN HINSTANCE Tk_GetHINSTANCE(void); 41 /* 2 */ 42 EXTERN HWND Tk_GetHWND(Window window); 43 /* 3 */ 44 EXTERN Tk_Window Tk_HWNDToWindow(HWND hwnd); 45 /* 4 */ 46 EXTERN void Tk_PointerEvent(HWND hwnd, int x, int y); 47 /* 5 */ 48 EXTERN int Tk_TranslateWinEvent(HWND hwnd, UINT message, 49 WPARAM wParam, LPARAM lParam, 50 LRESULT *result); 51 #endif /* WIN */ 52 #ifdef MAC_OSX_TK /* AQUA */ 53 /* 0 */ 54 EXTERN void Tk_MacOSXSetEmbedHandler( 55 Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, 56 Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, 57 Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, 58 Tk_MacOSXEmbedGetClipProc *getClipProc, 59 Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc); 60 /* 1 */ 61 EXTERN void Tk_MacOSXTurnOffMenus(void); 62 /* 2 */ 63 EXTERN void Tk_MacOSXTkOwnsCursor(int tkOwnsIt); 64 /* 3 */ 65 EXTERN void TkMacOSXInitMenus(Tcl_Interp *interp); 66 /* 4 */ 67 EXTERN void TkMacOSXInitAppleEvents(Tcl_Interp *interp); 68 /* 5 */ 69 EXTERN void TkGenWMConfigureEvent(Tk_Window tkwin, int x, int y, 70 int width, int height, int flags); 71 /* 6 */ 72 EXTERN void TkMacOSXInvalClipRgns(Tk_Window tkwin); 73 /* 7 */ 74 EXTERN void * TkMacOSXGetDrawablePort(Drawable drawable); 75 /* 8 */ 76 EXTERN void * TkMacOSXGetRootControl(Drawable drawable); 77 /* 9 */ 78 EXTERN void Tk_MacOSXSetupTkNotifier(void); 79 /* 10 */ 80 EXTERN int Tk_MacOSXIsAppInFront(void); 81 #endif /* AQUA */ 82 83 typedef struct TkPlatStubs { 84 int magic; 85 void *hooks; 86 87 #if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */ 88 Window (*tk_AttachHWND) (Tk_Window tkwin, HWND hwnd); /* 0 */ 89 HINSTANCE (*tk_GetHINSTANCE) (void); /* 1 */ 90 HWND (*tk_GetHWND) (Window window); /* 2 */ 91 Tk_Window (*tk_HWNDToWindow) (HWND hwnd); /* 3 */ 92 void (*tk_PointerEvent) (HWND hwnd, int x, int y); /* 4 */ 93 int (*tk_TranslateWinEvent) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result); /* 5 */ 94 #endif /* WIN */ 95 #ifdef MAC_OSX_TK /* AQUA */ 96 void (*tk_MacOSXSetEmbedHandler) (Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, Tk_MacOSXEmbedGetClipProc *getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc); /* 0 */ 97 void (*tk_MacOSXTurnOffMenus) (void); /* 1 */ 98 void (*tk_MacOSXTkOwnsCursor) (int tkOwnsIt); /* 2 */ 99 void (*tkMacOSXInitMenus) (Tcl_Interp *interp); /* 3 */ 100 void (*tkMacOSXInitAppleEvents) (Tcl_Interp *interp); /* 4 */ 101 void (*tkGenWMConfigureEvent) (Tk_Window tkwin, int x, int y, int width, int height, int flags); /* 5 */ 102 void (*tkMacOSXInvalClipRgns) (Tk_Window tkwin); /* 6 */ 103 void * (*tkMacOSXGetDrawablePort) (Drawable drawable); /* 7 */ 104 void * (*tkMacOSXGetRootControl) (Drawable drawable); /* 8 */ 105 void (*tk_MacOSXSetupTkNotifier) (void); /* 9 */ 106 int (*tk_MacOSXIsAppInFront) (void); /* 10 */ 107 #endif /* AQUA */ 108 } TkPlatStubs; 109 110 #ifdef __cplusplus 111 extern "C" { 112 #endif 113 extern const TkPlatStubs *tkPlatStubsPtr; 114 #ifdef __cplusplus 115 } 116 #endif 117 118 #if defined(USE_TK_STUBS) 119 120 /* 121 * Inline function declarations: 122 */ 123 124 #if defined(__WIN32__) || defined(__CYGWIN__) /* WIN */ 125 #define Tk_AttachHWND \ 126 (tkPlatStubsPtr->tk_AttachHWND) /* 0 */ 127 #define Tk_GetHINSTANCE \ 128 (tkPlatStubsPtr->tk_GetHINSTANCE) /* 1 */ 129 #define Tk_GetHWND \ 130 (tkPlatStubsPtr->tk_GetHWND) /* 2 */ 131 #define Tk_HWNDToWindow \ 132 (tkPlatStubsPtr->tk_HWNDToWindow) /* 3 */ 133 #define Tk_PointerEvent \ 134 (tkPlatStubsPtr->tk_PointerEvent) /* 4 */ 135 #define Tk_TranslateWinEvent \ 136 (tkPlatStubsPtr->tk_TranslateWinEvent) /* 5 */ 137 #endif /* WIN */ 138 #ifdef MAC_OSX_TK /* AQUA */ 139 #define Tk_MacOSXSetEmbedHandler \ 140 (tkPlatStubsPtr->tk_MacOSXSetEmbedHandler) /* 0 */ 141 #define Tk_MacOSXTurnOffMenus \ 142 (tkPlatStubsPtr->tk_MacOSXTurnOffMenus) /* 1 */ 143 #define Tk_MacOSXTkOwnsCursor \ 144 (tkPlatStubsPtr->tk_MacOSXTkOwnsCursor) /* 2 */ 145 #define TkMacOSXInitMenus \ 146 (tkPlatStubsPtr->tkMacOSXInitMenus) /* 3 */ 147 #define TkMacOSXInitAppleEvents \ 148 (tkPlatStubsPtr->tkMacOSXInitAppleEvents) /* 4 */ 149 #define TkGenWMConfigureEvent \ 150 (tkPlatStubsPtr->tkGenWMConfigureEvent) /* 5 */ 151 #define TkMacOSXInvalClipRgns \ 152 (tkPlatStubsPtr->tkMacOSXInvalClipRgns) /* 6 */ 153 #define TkMacOSXGetDrawablePort \ 154 (tkPlatStubsPtr->tkMacOSXGetDrawablePort) /* 7 */ 155 #define TkMacOSXGetRootControl \ 156 (tkPlatStubsPtr->tkMacOSXGetRootControl) /* 8 */ 157 #define Tk_MacOSXSetupTkNotifier \ 158 (tkPlatStubsPtr->tk_MacOSXSetupTkNotifier) /* 9 */ 159 #define Tk_MacOSXIsAppInFront \ 160 (tkPlatStubsPtr->tk_MacOSXIsAppInFront) /* 10 */ 161 #endif /* AQUA */ 162 163 #endif /* defined(USE_TK_STUBS) */ 164 165 /* !END!: Do not edit above this line. */ 166 167 #ifdef __cplusplus 168 } 169 #endif 170 171 #undef TCL_STORAGE_CLASS 172 #define TCL_STORAGE_CLASS DLLIMPORT 173 174 #endif /* _TKPLATDECLS */ 175