00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _TKPLATDECLS
00015 #define _TKPLATDECLS
00016
00017 #ifdef BUILD_tk
00018 #undef TCL_STORAGE_CLASS
00019 #define TCL_STORAGE_CLASS DLLEXPORT
00020 #endif
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifdef __WIN32__
00035
00036 EXTERN Window Tk_AttachHWND _ANSI_ARGS_((Tk_Window tkwin,
00037 HWND hwnd));
00038
00039 EXTERN HINSTANCE Tk_GetHINSTANCE _ANSI_ARGS_((void));
00040
00041 EXTERN HWND Tk_GetHWND _ANSI_ARGS_((Window window));
00042
00043 EXTERN Tk_Window Tk_HWNDToWindow _ANSI_ARGS_((HWND hwnd));
00044
00045 EXTERN void Tk_PointerEvent _ANSI_ARGS_((HWND hwnd, int x, int y));
00046
00047 EXTERN int Tk_TranslateWinEvent _ANSI_ARGS_((HWND hwnd,
00048 UINT message, WPARAM wParam, LPARAM lParam,
00049 LRESULT * result));
00050 #endif
00051 #ifdef MAC_TCL
00052
00053 EXTERN void Tk_MacSetEmbedHandler _ANSI_ARGS_((
00054 Tk_MacEmbedRegisterWinProc * registerWinProcPtr,
00055 Tk_MacEmbedGetGrafPortProc * getPortProcPtr,
00056 Tk_MacEmbedMakeContainerExistProc * containerExistProcPtr,
00057 Tk_MacEmbedGetClipProc * getClipProc,
00058 Tk_MacEmbedGetOffsetInParentProc * getOffsetProc));
00059
00060 EXTERN void Tk_MacTurnOffMenus _ANSI_ARGS_((void));
00061
00062 EXTERN void Tk_MacTkOwnsCursor _ANSI_ARGS_((int tkOwnsIt));
00063
00064 EXTERN void TkMacInitMenus _ANSI_ARGS_((Tcl_Interp * interp));
00065
00066 EXTERN void TkMacInitAppleEvents _ANSI_ARGS_((
00067 Tcl_Interp * interp));
00068
00069 EXTERN int TkMacConvertEvent _ANSI_ARGS_((
00070 EventRecord * eventPtr));
00071
00072 EXTERN int TkMacConvertTkEvent _ANSI_ARGS_((
00073 EventRecord * eventPtr, Window window));
00074
00075 EXTERN void TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin,
00076 int x, int y, int width, int height,
00077 int flags));
00078
00079 EXTERN void TkMacInvalClipRgns _ANSI_ARGS_((TkWindow * winPtr));
00080
00081 EXTERN int TkMacHaveAppearance _ANSI_ARGS_((void));
00082
00083 EXTERN GWorldPtr TkMacGetDrawablePort _ANSI_ARGS_((Drawable drawable));
00084 #endif
00085 #ifdef MAC_OSX_TK
00086
00087 EXTERN void Tk_MacOSXSetEmbedHandler _ANSI_ARGS_((
00088 Tk_MacOSXEmbedRegisterWinProc * registerWinProcPtr,
00089 Tk_MacOSXEmbedGetGrafPortProc * getPortProcPtr,
00090 Tk_MacOSXEmbedMakeContainerExistProc * containerExistProcPtr,
00091 Tk_MacOSXEmbedGetClipProc * getClipProc,
00092 Tk_MacOSXEmbedGetOffsetInParentProc * getOffsetProc));
00093
00094 EXTERN void Tk_MacOSXTurnOffMenus _ANSI_ARGS_((void));
00095
00096 EXTERN void Tk_MacOSXTkOwnsCursor _ANSI_ARGS_((int tkOwnsIt));
00097
00098 EXTERN void TkMacOSXInitMenus _ANSI_ARGS_((Tcl_Interp * interp));
00099
00100 EXTERN void TkMacOSXInitAppleEvents _ANSI_ARGS_((
00101 Tcl_Interp * interp));
00102
00103 EXTERN void TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin,
00104 int x, int y, int width, int height,
00105 int flags));
00106
00107 EXTERN void TkMacOSXInvalClipRgns _ANSI_ARGS_((TkWindow * winPtr));
00108
00109 EXTERN GWorldPtr TkMacOSXGetDrawablePort _ANSI_ARGS_((
00110 Drawable drawable));
00111
00112 EXTERN ControlRef TkMacOSXGetRootControl _ANSI_ARGS_((
00113 Drawable drawable));
00114
00115 EXTERN void Tk_MacOSXSetupTkNotifier _ANSI_ARGS_((void));
00116
00117 EXTERN int Tk_MacOSXIsAppInFront _ANSI_ARGS_((void));
00118 #endif
00119
00120 typedef struct TkPlatStubs {
00121 int magic;
00122 struct TkPlatStubHooks *hooks;
00123
00124 #ifdef __WIN32__
00125 Window (*tk_AttachHWND) _ANSI_ARGS_((Tk_Window tkwin, HWND hwnd));
00126 HINSTANCE (*tk_GetHINSTANCE) _ANSI_ARGS_((void));
00127 HWND (*tk_GetHWND) _ANSI_ARGS_((Window window));
00128 Tk_Window (*tk_HWNDToWindow) _ANSI_ARGS_((HWND hwnd));
00129 void (*tk_PointerEvent) _ANSI_ARGS_((HWND hwnd, int x, int y));
00130 int (*tk_TranslateWinEvent) _ANSI_ARGS_((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT * result));
00131 #endif
00132 #ifdef MAC_TCL
00133 void (*tk_MacSetEmbedHandler) _ANSI_ARGS_((Tk_MacEmbedRegisterWinProc * registerWinProcPtr, Tk_MacEmbedGetGrafPortProc * getPortProcPtr, Tk_MacEmbedMakeContainerExistProc * containerExistProcPtr, Tk_MacEmbedGetClipProc * getClipProc, Tk_MacEmbedGetOffsetInParentProc * getOffsetProc));
00134 void (*tk_MacTurnOffMenus) _ANSI_ARGS_((void));
00135 void (*tk_MacTkOwnsCursor) _ANSI_ARGS_((int tkOwnsIt));
00136 void (*tkMacInitMenus) _ANSI_ARGS_((Tcl_Interp * interp));
00137 void (*tkMacInitAppleEvents) _ANSI_ARGS_((Tcl_Interp * interp));
00138 int (*tkMacConvertEvent) _ANSI_ARGS_((EventRecord * eventPtr));
00139 int (*tkMacConvertTkEvent) _ANSI_ARGS_((EventRecord * eventPtr, Window window));
00140 void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags));
00141 void (*tkMacInvalClipRgns) _ANSI_ARGS_((TkWindow * winPtr));
00142 int (*tkMacHaveAppearance) _ANSI_ARGS_((void));
00143 GWorldPtr (*tkMacGetDrawablePort) _ANSI_ARGS_((Drawable drawable));
00144 #endif
00145 #ifdef MAC_OSX_TK
00146 void (*tk_MacOSXSetEmbedHandler) _ANSI_ARGS_((Tk_MacOSXEmbedRegisterWinProc * registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc * getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc * containerExistProcPtr, Tk_MacOSXEmbedGetClipProc * getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc * getOffsetProc));
00147 void (*tk_MacOSXTurnOffMenus) _ANSI_ARGS_((void));
00148 void (*tk_MacOSXTkOwnsCursor) _ANSI_ARGS_((int tkOwnsIt));
00149 void (*tkMacOSXInitMenus) _ANSI_ARGS_((Tcl_Interp * interp));
00150 void (*tkMacOSXInitAppleEvents) _ANSI_ARGS_((Tcl_Interp * interp));
00151 void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags));
00152 void (*tkMacOSXInvalClipRgns) _ANSI_ARGS_((TkWindow * winPtr));
00153 GWorldPtr (*tkMacOSXGetDrawablePort) _ANSI_ARGS_((Drawable drawable));
00154 ControlRef (*tkMacOSXGetRootControl) _ANSI_ARGS_((Drawable drawable));
00155 void (*tk_MacOSXSetupTkNotifier) _ANSI_ARGS_((void));
00156 int (*tk_MacOSXIsAppInFront) _ANSI_ARGS_((void));
00157 #endif
00158 } TkPlatStubs;
00159
00160 #ifdef __cplusplus
00161 extern "C" {
00162 #endif
00163 extern TkPlatStubs *tkPlatStubsPtr;
00164 #ifdef __cplusplus
00165 }
00166 #endif
00167
00168 #if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)
00169
00170
00171
00172
00173
00174 #ifdef __WIN32__
00175 #ifndef Tk_AttachHWND
00176 #define Tk_AttachHWND \
00177 (tkPlatStubsPtr->tk_AttachHWND)
00178 #endif
00179 #ifndef Tk_GetHINSTANCE
00180 #define Tk_GetHINSTANCE \
00181 (tkPlatStubsPtr->tk_GetHINSTANCE)
00182 #endif
00183 #ifndef Tk_GetHWND
00184 #define Tk_GetHWND \
00185 (tkPlatStubsPtr->tk_GetHWND)
00186 #endif
00187 #ifndef Tk_HWNDToWindow
00188 #define Tk_HWNDToWindow \
00189 (tkPlatStubsPtr->tk_HWNDToWindow)
00190 #endif
00191 #ifndef Tk_PointerEvent
00192 #define Tk_PointerEvent \
00193 (tkPlatStubsPtr->tk_PointerEvent)
00194 #endif
00195 #ifndef Tk_TranslateWinEvent
00196 #define Tk_TranslateWinEvent \
00197 (tkPlatStubsPtr->tk_TranslateWinEvent)
00198 #endif
00199 #endif
00200 #ifdef MAC_TCL
00201 #ifndef Tk_MacSetEmbedHandler
00202 #define Tk_MacSetEmbedHandler \
00203 (tkPlatStubsPtr->tk_MacSetEmbedHandler)
00204 #endif
00205 #ifndef Tk_MacTurnOffMenus
00206 #define Tk_MacTurnOffMenus \
00207 (tkPlatStubsPtr->tk_MacTurnOffMenus)
00208 #endif
00209 #ifndef Tk_MacTkOwnsCursor
00210 #define Tk_MacTkOwnsCursor \
00211 (tkPlatStubsPtr->tk_MacTkOwnsCursor)
00212 #endif
00213 #ifndef TkMacInitMenus
00214 #define TkMacInitMenus \
00215 (tkPlatStubsPtr->tkMacInitMenus)
00216 #endif
00217 #ifndef TkMacInitAppleEvents
00218 #define TkMacInitAppleEvents \
00219 (tkPlatStubsPtr->tkMacInitAppleEvents)
00220 #endif
00221 #ifndef TkMacConvertEvent
00222 #define TkMacConvertEvent \
00223 (tkPlatStubsPtr->tkMacConvertEvent)
00224 #endif
00225 #ifndef TkMacConvertTkEvent
00226 #define TkMacConvertTkEvent \
00227 (tkPlatStubsPtr->tkMacConvertTkEvent)
00228 #endif
00229 #ifndef TkGenWMConfigureEvent
00230 #define TkGenWMConfigureEvent \
00231 (tkPlatStubsPtr->tkGenWMConfigureEvent)
00232 #endif
00233 #ifndef TkMacInvalClipRgns
00234 #define TkMacInvalClipRgns \
00235 (tkPlatStubsPtr->tkMacInvalClipRgns)
00236 #endif
00237 #ifndef TkMacHaveAppearance
00238 #define TkMacHaveAppearance \
00239 (tkPlatStubsPtr->tkMacHaveAppearance)
00240 #endif
00241 #ifndef TkMacGetDrawablePort
00242 #define TkMacGetDrawablePort \
00243 (tkPlatStubsPtr->tkMacGetDrawablePort)
00244 #endif
00245 #endif
00246 #ifdef MAC_OSX_TK
00247 #ifndef Tk_MacOSXSetEmbedHandler
00248 #define Tk_MacOSXSetEmbedHandler \
00249 (tkPlatStubsPtr->tk_MacOSXSetEmbedHandler)
00250 #endif
00251 #ifndef Tk_MacOSXTurnOffMenus
00252 #define Tk_MacOSXTurnOffMenus \
00253 (tkPlatStubsPtr->tk_MacOSXTurnOffMenus)
00254 #endif
00255 #ifndef Tk_MacOSXTkOwnsCursor
00256 #define Tk_MacOSXTkOwnsCursor \
00257 (tkPlatStubsPtr->tk_MacOSXTkOwnsCursor)
00258 #endif
00259 #ifndef TkMacOSXInitMenus
00260 #define TkMacOSXInitMenus \
00261 (tkPlatStubsPtr->tkMacOSXInitMenus)
00262 #endif
00263 #ifndef TkMacOSXInitAppleEvents
00264 #define TkMacOSXInitAppleEvents \
00265 (tkPlatStubsPtr->tkMacOSXInitAppleEvents)
00266 #endif
00267 #ifndef TkGenWMConfigureEvent
00268 #define TkGenWMConfigureEvent \
00269 (tkPlatStubsPtr->tkGenWMConfigureEvent)
00270 #endif
00271 #ifndef TkMacOSXInvalClipRgns
00272 #define TkMacOSXInvalClipRgns \
00273 (tkPlatStubsPtr->tkMacOSXInvalClipRgns)
00274 #endif
00275 #ifndef TkMacOSXGetDrawablePort
00276 #define TkMacOSXGetDrawablePort \
00277 (tkPlatStubsPtr->tkMacOSXGetDrawablePort)
00278 #endif
00279 #ifndef TkMacOSXGetRootControl
00280 #define TkMacOSXGetRootControl \
00281 (tkPlatStubsPtr->tkMacOSXGetRootControl)
00282 #endif
00283 #ifndef Tk_MacOSXSetupTkNotifier
00284 #define Tk_MacOSXSetupTkNotifier \
00285 (tkPlatStubsPtr->tk_MacOSXSetupTkNotifier)
00286 #endif
00287 #ifndef Tk_MacOSXIsAppInFront
00288 #define Tk_MacOSXIsAppInFront \
00289 (tkPlatStubsPtr->tk_MacOSXIsAppInFront)
00290 #endif
00291 #endif
00292
00293 #endif
00294
00295
00296
00297 #undef TCL_STORAGE_CLASS
00298 #define TCL_STORAGE_CLASS DLLIMPORT
00299
00300 #endif
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310