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 * RCS: @(#) $Id$ 12 */ 13 14#ifndef _TKPLATDECLS 15#define _TKPLATDECLS 16 17#ifdef BUILD_tk 18#undef TCL_STORAGE_CLASS 19#define TCL_STORAGE_CLASS DLLEXPORT 20#endif 21 22/* 23 * WARNING: This file is automatically generated by the tools/genStubs.tcl 24 * script. Any modifications to the function declarations below should be made 25 * in the generic/tk.decls script. 26 */ 27 28/* !BEGIN!: Do not edit below this line. */ 29 30/* 31 * Exported function declarations: 32 */ 33 34#ifdef __WIN32__ /* WIN */ 35#ifndef Tk_AttachHWND_TCL_DECLARED 36#define Tk_AttachHWND_TCL_DECLARED 37/* 0 */ 38EXTERN Window Tk_AttachHWND(Tk_Window tkwin, HWND hwnd); 39#endif 40#ifndef Tk_GetHINSTANCE_TCL_DECLARED 41#define Tk_GetHINSTANCE_TCL_DECLARED 42/* 1 */ 43EXTERN HINSTANCE Tk_GetHINSTANCE(void); 44#endif 45#ifndef Tk_GetHWND_TCL_DECLARED 46#define Tk_GetHWND_TCL_DECLARED 47/* 2 */ 48EXTERN HWND Tk_GetHWND(Window window); 49#endif 50#ifndef Tk_HWNDToWindow_TCL_DECLARED 51#define Tk_HWNDToWindow_TCL_DECLARED 52/* 3 */ 53EXTERN Tk_Window Tk_HWNDToWindow(HWND hwnd); 54#endif 55#ifndef Tk_PointerEvent_TCL_DECLARED 56#define Tk_PointerEvent_TCL_DECLARED 57/* 4 */ 58EXTERN void Tk_PointerEvent(HWND hwnd, int x, int y); 59#endif 60#ifndef Tk_TranslateWinEvent_TCL_DECLARED 61#define Tk_TranslateWinEvent_TCL_DECLARED 62/* 5 */ 63EXTERN int Tk_TranslateWinEvent(HWND hwnd, UINT message, 64 WPARAM wParam, LPARAM lParam, 65 LRESULT *result); 66#endif 67#endif /* WIN */ 68#ifdef MAC_OSX_TK /* AQUA */ 69#ifndef Tk_MacOSXSetEmbedHandler_TCL_DECLARED 70#define Tk_MacOSXSetEmbedHandler_TCL_DECLARED 71/* 0 */ 72EXTERN void Tk_MacOSXSetEmbedHandler( 73 Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, 74 Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, 75 Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, 76 Tk_MacOSXEmbedGetClipProc *getClipProc, 77 Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc); 78#endif 79#ifndef Tk_MacOSXTurnOffMenus_TCL_DECLARED 80#define Tk_MacOSXTurnOffMenus_TCL_DECLARED 81/* 1 */ 82EXTERN void Tk_MacOSXTurnOffMenus(void); 83#endif 84#ifndef Tk_MacOSXTkOwnsCursor_TCL_DECLARED 85#define Tk_MacOSXTkOwnsCursor_TCL_DECLARED 86/* 2 */ 87EXTERN void Tk_MacOSXTkOwnsCursor(int tkOwnsIt); 88#endif 89#ifndef TkMacOSXInitMenus_TCL_DECLARED 90#define TkMacOSXInitMenus_TCL_DECLARED 91/* 3 */ 92EXTERN void TkMacOSXInitMenus(Tcl_Interp *interp); 93#endif 94#ifndef TkMacOSXInitAppleEvents_TCL_DECLARED 95#define TkMacOSXInitAppleEvents_TCL_DECLARED 96/* 4 */ 97EXTERN void TkMacOSXInitAppleEvents(Tcl_Interp *interp); 98#endif 99#ifndef TkGenWMConfigureEvent_TCL_DECLARED 100#define TkGenWMConfigureEvent_TCL_DECLARED 101/* 5 */ 102EXTERN void TkGenWMConfigureEvent(Tk_Window tkwin, int x, int y, 103 int width, int height, int flags); 104#endif 105#ifndef TkMacOSXInvalClipRgns_TCL_DECLARED 106#define TkMacOSXInvalClipRgns_TCL_DECLARED 107/* 6 */ 108EXTERN void TkMacOSXInvalClipRgns(Tk_Window tkwin); 109#endif 110#ifndef TkMacOSXGetDrawablePort_TCL_DECLARED 111#define TkMacOSXGetDrawablePort_TCL_DECLARED 112/* 7 */ 113EXTERN void * TkMacOSXGetDrawablePort(Drawable drawable); 114#endif 115#ifndef TkMacOSXGetRootControl_TCL_DECLARED 116#define TkMacOSXGetRootControl_TCL_DECLARED 117/* 8 */ 118EXTERN void * TkMacOSXGetRootControl(Drawable drawable); 119#endif 120#ifndef Tk_MacOSXSetupTkNotifier_TCL_DECLARED 121#define Tk_MacOSXSetupTkNotifier_TCL_DECLARED 122/* 9 */ 123EXTERN void Tk_MacOSXSetupTkNotifier(void); 124#endif 125#ifndef Tk_MacOSXIsAppInFront_TCL_DECLARED 126#define Tk_MacOSXIsAppInFront_TCL_DECLARED 127/* 10 */ 128EXTERN int Tk_MacOSXIsAppInFront(void); 129#endif 130#endif /* AQUA */ 131 132typedef struct TkPlatStubs { 133 int magic; 134 struct TkPlatStubHooks *hooks; 135 136#ifdef __WIN32__ /* WIN */ 137 Window (*tk_AttachHWND) (Tk_Window tkwin, HWND hwnd); /* 0 */ 138 HINSTANCE (*tk_GetHINSTANCE) (void); /* 1 */ 139 HWND (*tk_GetHWND) (Window window); /* 2 */ 140 Tk_Window (*tk_HWNDToWindow) (HWND hwnd); /* 3 */ 141 void (*tk_PointerEvent) (HWND hwnd, int x, int y); /* 4 */ 142 int (*tk_TranslateWinEvent) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result); /* 5 */ 143#endif /* WIN */ 144#ifdef MAC_OSX_TK /* AQUA */ 145 void (*tk_MacOSXSetEmbedHandler) (Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, Tk_MacOSXEmbedGetClipProc *getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc); /* 0 */ 146 void (*tk_MacOSXTurnOffMenus) (void); /* 1 */ 147 void (*tk_MacOSXTkOwnsCursor) (int tkOwnsIt); /* 2 */ 148 void (*tkMacOSXInitMenus) (Tcl_Interp *interp); /* 3 */ 149 void (*tkMacOSXInitAppleEvents) (Tcl_Interp *interp); /* 4 */ 150 void (*tkGenWMConfigureEvent) (Tk_Window tkwin, int x, int y, int width, int height, int flags); /* 5 */ 151 void (*tkMacOSXInvalClipRgns) (Tk_Window tkwin); /* 6 */ 152 void * (*tkMacOSXGetDrawablePort) (Drawable drawable); /* 7 */ 153 void * (*tkMacOSXGetRootControl) (Drawable drawable); /* 8 */ 154 void (*tk_MacOSXSetupTkNotifier) (void); /* 9 */ 155 int (*tk_MacOSXIsAppInFront) (void); /* 10 */ 156#endif /* AQUA */ 157} TkPlatStubs; 158 159#ifdef __cplusplus 160extern "C" { 161#endif 162extern TkPlatStubs *tkPlatStubsPtr; 163#ifdef __cplusplus 164} 165#endif 166 167#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) 168 169/* 170 * Inline function declarations: 171 */ 172 173#ifdef __WIN32__ /* WIN */ 174#ifndef Tk_AttachHWND 175#define Tk_AttachHWND \ 176 (tkPlatStubsPtr->tk_AttachHWND) /* 0 */ 177#endif 178#ifndef Tk_GetHINSTANCE 179#define Tk_GetHINSTANCE \ 180 (tkPlatStubsPtr->tk_GetHINSTANCE) /* 1 */ 181#endif 182#ifndef Tk_GetHWND 183#define Tk_GetHWND \ 184 (tkPlatStubsPtr->tk_GetHWND) /* 2 */ 185#endif 186#ifndef Tk_HWNDToWindow 187#define Tk_HWNDToWindow \ 188 (tkPlatStubsPtr->tk_HWNDToWindow) /* 3 */ 189#endif 190#ifndef Tk_PointerEvent 191#define Tk_PointerEvent \ 192 (tkPlatStubsPtr->tk_PointerEvent) /* 4 */ 193#endif 194#ifndef Tk_TranslateWinEvent 195#define Tk_TranslateWinEvent \ 196 (tkPlatStubsPtr->tk_TranslateWinEvent) /* 5 */ 197#endif 198#endif /* WIN */ 199#ifdef MAC_OSX_TK /* AQUA */ 200#ifndef Tk_MacOSXSetEmbedHandler 201#define Tk_MacOSXSetEmbedHandler \ 202 (tkPlatStubsPtr->tk_MacOSXSetEmbedHandler) /* 0 */ 203#endif 204#ifndef Tk_MacOSXTurnOffMenus 205#define Tk_MacOSXTurnOffMenus \ 206 (tkPlatStubsPtr->tk_MacOSXTurnOffMenus) /* 1 */ 207#endif 208#ifndef Tk_MacOSXTkOwnsCursor 209#define Tk_MacOSXTkOwnsCursor \ 210 (tkPlatStubsPtr->tk_MacOSXTkOwnsCursor) /* 2 */ 211#endif 212#ifndef TkMacOSXInitMenus 213#define TkMacOSXInitMenus \ 214 (tkPlatStubsPtr->tkMacOSXInitMenus) /* 3 */ 215#endif 216#ifndef TkMacOSXInitAppleEvents 217#define TkMacOSXInitAppleEvents \ 218 (tkPlatStubsPtr->tkMacOSXInitAppleEvents) /* 4 */ 219#endif 220#ifndef TkGenWMConfigureEvent 221#define TkGenWMConfigureEvent \ 222 (tkPlatStubsPtr->tkGenWMConfigureEvent) /* 5 */ 223#endif 224#ifndef TkMacOSXInvalClipRgns 225#define TkMacOSXInvalClipRgns \ 226 (tkPlatStubsPtr->tkMacOSXInvalClipRgns) /* 6 */ 227#endif 228#ifndef TkMacOSXGetDrawablePort 229#define TkMacOSXGetDrawablePort \ 230 (tkPlatStubsPtr->tkMacOSXGetDrawablePort) /* 7 */ 231#endif 232#ifndef TkMacOSXGetRootControl 233#define TkMacOSXGetRootControl \ 234 (tkPlatStubsPtr->tkMacOSXGetRootControl) /* 8 */ 235#endif 236#ifndef Tk_MacOSXSetupTkNotifier 237#define Tk_MacOSXSetupTkNotifier \ 238 (tkPlatStubsPtr->tk_MacOSXSetupTkNotifier) /* 9 */ 239#endif 240#ifndef Tk_MacOSXIsAppInFront 241#define Tk_MacOSXIsAppInFront \ 242 (tkPlatStubsPtr->tk_MacOSXIsAppInFront) /* 10 */ 243#endif 244#endif /* AQUA */ 245 246#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */ 247 248/* !END!: Do not edit above this line. */ 249 250#undef TCL_STORAGE_CLASS 251#define TCL_STORAGE_CLASS DLLIMPORT 252 253#endif /* _TKPLATDECLS */ 254