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