1 /*
2  * tkIntPlatDecls.h --
3  *
4  *	This file contains the declarations for all platform dependent
5  *	unsupported functions that are exported by the Tk library.  These
6  *	interfaces are not guaranteed to remain the same between
7  *	versions.  Use at your own risk.
8  *
9  * Copyright (c) 1998-1999 Scriptics Corporation.
10  * All rights reserved.
11  */
12 
13 #ifndef _TKINTPLATDECLS
14 #define _TKINTPLATDECLS
15 
16 #ifdef BUILD_tk
17 #undef TCL_STORAGE_CLASS
18 #define TCL_STORAGE_CLASS DLLEXPORT
19 #endif
20 
21 /*
22  * WARNING: This file is automatically generated by the tools/genStubs.tcl
23  * script.  Any modifications to the function declarations below should be made
24  * in the generic/tkInt.decls script.
25  */
26 
27 /* !BEGIN!: Do not edit below this line. */
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 /*
34  * Exported function declarations:
35  */
36 
37 #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
38 /* 0 */
39 EXTERN char *		TkAlignImageData(XImage *image, int alignment,
40 				int bitOrder);
41 /* Slot 1 is reserved */
42 /* 2 */
43 EXTERN void		TkGenerateActivateEvents(TkWindow *winPtr,
44 				int active);
45 /* 3 */
46 EXTERN unsigned long	TkpGetMS(void);
47 /* 4 */
48 EXTERN void		TkPointerDeadWindow(TkWindow *winPtr);
49 /* 5 */
50 EXTERN void		TkpPrintWindowId(char *buf, Window window);
51 /* 6 */
52 EXTERN int		TkpScanWindowId(Tcl_Interp *interp,
53 				const char *string, Window *idPtr);
54 /* 7 */
55 EXTERN void		TkpSetCapture(TkWindow *winPtr);
56 /* 8 */
57 EXTERN void		TkpSetCursor(TkpCursor cursor);
58 /* 9 */
59 EXTERN int		TkpWmSetState(TkWindow *winPtr, int state);
60 /* 10 */
61 EXTERN void		TkSetPixmapColormap(Pixmap pixmap, Colormap colormap);
62 /* 11 */
63 EXTERN void		TkWinCancelMouseTimer(void);
64 /* 12 */
65 EXTERN void		TkWinClipboardRender(TkDisplay *dispPtr, UINT format);
66 /* 13 */
67 EXTERN LRESULT		TkWinEmbeddedEventProc(HWND hwnd, UINT message,
68 				WPARAM wParam, LPARAM lParam);
69 /* 14 */
70 EXTERN void		TkWinFillRect(HDC dc, int x, int y, int width,
71 				int height, int pixel);
72 /* 15 */
73 EXTERN COLORREF		TkWinGetBorderPixels(Tk_Window tkwin,
74 				Tk_3DBorder border, int which);
75 /* 16 */
76 EXTERN HDC		TkWinGetDrawableDC(Display *display, Drawable d,
77 				TkWinDCState *state);
78 /* 17 */
79 EXTERN int		TkWinGetModifierState(void);
80 /* 18 */
81 EXTERN HPALETTE		TkWinGetSystemPalette(void);
82 /* 19 */
83 EXTERN HWND		TkWinGetWrapperWindow(Tk_Window tkwin);
84 /* 20 */
85 EXTERN int		TkWinHandleMenuEvent(HWND *phwnd, UINT *pMessage,
86 				WPARAM *pwParam, LPARAM *plParam,
87 				LRESULT *plResult);
88 /* 21 */
89 EXTERN int		TkWinIndexOfColor(XColor *colorPtr);
90 /* 22 */
91 EXTERN void		TkWinReleaseDrawableDC(Drawable d, HDC hdc,
92 				TkWinDCState *state);
93 /* 23 */
94 EXTERN LRESULT		TkWinResendEvent(WNDPROC wndproc, HWND hwnd,
95 				XEvent *eventPtr);
96 /* 24 */
97 EXTERN HPALETTE		TkWinSelectPalette(HDC dc, Colormap colormap);
98 /* 25 */
99 EXTERN void		TkWinSetMenu(Tk_Window tkwin, HMENU hMenu);
100 /* 26 */
101 EXTERN void		TkWinSetWindowPos(HWND hwnd, HWND siblingHwnd,
102 				int pos);
103 /* 27 */
104 EXTERN void		TkWinWmCleanup(HINSTANCE hInstance);
105 /* 28 */
106 EXTERN void		TkWinXCleanup(ClientData clientData);
107 /* 29 */
108 EXTERN void		TkWinXInit(HINSTANCE hInstance);
109 /* 30 */
110 EXTERN void		TkWinSetForegroundWindow(TkWindow *winPtr);
111 /* 31 */
112 EXTERN void		TkWinDialogDebug(int debug);
113 /* 32 */
114 EXTERN Tcl_Obj *	TkWinGetMenuSystemDefault(Tk_Window tkwin,
115 				const char *dbName, const char *className);
116 /* 33 */
117 EXTERN int		TkWinGetPlatformId(void);
118 /* 34 */
119 EXTERN void		TkWinSetHINSTANCE(HINSTANCE hInstance);
120 /* 35 */
121 EXTERN int		TkWinGetPlatformTheme(void);
122 /* 36 */
123 EXTERN LRESULT __stdcall TkWinChildProc(HWND hwnd, UINT message,
124 				WPARAM wParam, LPARAM lParam);
125 /* 37 */
126 EXTERN void		TkCreateXEventSource(void);
127 /* 38 */
128 EXTERN int		TkpCmapStressed(Tk_Window tkwin, Colormap colormap);
129 /* 39 */
130 EXTERN void		TkpSync(Display *display);
131 /* 40 */
132 EXTERN Window		TkUnixContainerId(TkWindow *winPtr);
133 /* 41 */
134 EXTERN int		TkUnixDoOneXEvent(Tcl_Time *timePtr);
135 /* 42 */
136 EXTERN void		TkUnixSetMenubar(Tk_Window tkwin, Tk_Window menubar);
137 /* 43 */
138 EXTERN void		TkWmCleanup(TkDisplay *dispPtr);
139 /* 44 */
140 EXTERN void		TkSendCleanup(TkDisplay *dispPtr);
141 /* 45 */
142 EXTERN int		TkpTestsendCmd(ClientData clientData,
143 				Tcl_Interp *interp, int objc,
144 				Tcl_Obj *const objv[]);
145 /* Slot 46 is reserved */
146 /* 47 */
147 EXTERN Tk_Window	TkpGetCapture(void);
148 #endif /* WIN */
149 #ifdef MAC_OSX_TK /* AQUA */
150 /* 0 */
151 EXTERN void		TkGenerateActivateEvents(TkWindow *winPtr,
152 				int active);
153 /* Slot 1 is reserved */
154 /* 2 */
155 EXTERN void		TkGenerateActivateEvents_(TkWindow *winPtr,
156 				int active);
157 /* 3 */
158 EXTERN void		TkPointerDeadWindow(TkWindow *winPtr);
159 /* 4 */
160 EXTERN void		TkpSetCapture(TkWindow *winPtr);
161 /* 5 */
162 EXTERN void		TkpSetCursor(TkpCursor cursor);
163 /* 6 */
164 EXTERN void		TkpWmSetState(TkWindow *winPtr, int state);
165 /* 7 */
166 EXTERN void		TkAboutDlg(void);
167 /* 8 */
168 EXTERN unsigned int	TkMacOSXButtonKeyState(void);
169 /* 9 */
170 EXTERN void		TkMacOSXClearMenubarActive(void);
171 /* 10 */
172 EXTERN int		TkMacOSXDispatchMenuEvent(int menuID, int index);
173 /* Slot 11 is reserved */
174 /* 12 */
175 EXTERN void		TkMacOSXHandleTearoffMenu(void);
176 /* Slot 13 is reserved */
177 /* 14 */
178 EXTERN int		TkMacOSXDoHLEvent(void *theEvent);
179 /* Slot 15 is reserved */
180 /* 16 */
181 EXTERN Window		TkMacOSXGetXWindow(void *macWinPtr);
182 /* 17 */
183 EXTERN int		TkMacOSXGrowToplevel(void *whichWindow, XPoint start);
184 /* 18 */
185 EXTERN void		TkMacOSXHandleMenuSelect(short theMenu,
186 				unsigned short theItem, int optionKeyPressed);
187 /* Slot 19 is reserved */
188 /* Slot 20 is reserved */
189 /* 21 */
190 EXTERN void		TkMacOSXInvalidateWindow(MacDrawable *macWin,
191 				int flag);
192 /* 22 */
193 EXTERN int		TkMacOSXIsCharacterMissing(Tk_Font tkfont,
194 				unsigned int searchChar);
195 /* 23 */
196 EXTERN void		TkMacOSXMakeRealWindowExist(TkWindow *winPtr);
197 /* 24 */
198 EXTERN void *		TkMacOSXMakeStippleMap(Drawable d1, Drawable d2);
199 /* 25 */
200 EXTERN void		TkMacOSXMenuClick(void);
201 /* Slot 26 is reserved */
202 /* 27 */
203 EXTERN int		TkMacOSXResizable(TkWindow *winPtr);
204 /* 28 */
205 EXTERN void		TkMacOSXSetHelpMenuItemCount(void);
206 /* 29 */
207 EXTERN void		TkMacOSXSetScrollbarGrow(TkWindow *winPtr, int flag);
208 /* 30 */
209 EXTERN void		TkMacOSXSetUpClippingRgn(Drawable drawable);
210 /* 31 */
211 EXTERN void		TkMacOSXSetUpGraphicsPort(GC gc, void *destPort);
212 /* 32 */
213 EXTERN void		TkMacOSXUpdateClipRgn(TkWindow *winPtr);
214 /* Slot 33 is reserved */
215 /* 34 */
216 EXTERN int		TkMacOSXUseMenuID(short macID);
217 /* 35 */
218 EXTERN Region		TkMacOSXVisableClipRgn(TkWindow *winPtr);
219 /* 36 */
220 EXTERN void		TkMacOSXWinBounds(TkWindow *winPtr, void *geometry);
221 /* 37 */
222 EXTERN void		TkMacOSXWindowOffset(void *wRef, int *xOffset,
223 				int *yOffset);
224 /* 38 */
225 EXTERN int		TkSetMacColor(unsigned long pixel, void *macColor);
226 /* 39 */
227 EXTERN void		TkSetWMName(TkWindow *winPtr, Tk_Uid titleUid);
228 /* Slot 40 is reserved */
229 /* 41 */
230 EXTERN int		TkMacOSXZoomToplevel(void *whichWindow,
231 				short zoomPart);
232 /* 42 */
233 EXTERN Tk_Window	Tk_TopCoordsToWindow(Tk_Window tkwin, int rootX,
234 				int rootY, int *newX, int *newY);
235 /* 43 */
236 EXTERN MacDrawable *	TkMacOSXContainerId(TkWindow *winPtr);
237 /* 44 */
238 EXTERN MacDrawable *	TkMacOSXGetHostToplevel(TkWindow *winPtr);
239 /* 45 */
240 EXTERN void		TkMacOSXPreprocessMenu(void);
241 /* 46 */
242 EXTERN int		TkpIsWindowFloating(void *window);
243 /* 47 */
244 EXTERN Tk_Window	TkpGetCapture(void);
245 /* Slot 48 is reserved */
246 /* 49 */
247 EXTERN Tk_Window	TkMacOSXGetContainer(TkWindow *winPtr);
248 /* 50 */
249 EXTERN int		TkGenerateButtonEvent(int x, int y, Window window,
250 				unsigned int state);
251 /* 51 */
252 EXTERN void		TkGenWMDestroyEvent(Tk_Window tkwin);
253 /* 52 */
254 EXTERN void		TkMacOSXSetDrawingEnabled(TkWindow *winPtr, int flag);
255 /* 53 */
256 EXTERN unsigned long	TkpGetMS(void);
257 /* 54 */
258 EXTERN void *		TkMacOSXDrawable(Drawable drawable);
259 /* 55 */
260 EXTERN int		TkpScanWindowId(Tcl_Interp *interp,
261 				const char *string, Window *idPtr);
262 #endif /* AQUA */
263 #if !(defined(_WIN32) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */
264 /* 0 */
265 EXTERN void		TkCreateXEventSource(void);
266 /* Slot 1 is reserved */
267 /* 2 */
268 EXTERN void		TkGenerateActivateEvents(TkWindow *winPtr,
269 				int active);
270 /* 3 */
271 EXTERN int		TkpCmapStressed(Tk_Window tkwin, Colormap colormap);
272 /* 4 */
273 EXTERN void		TkpSync(Display *display);
274 /* 5 */
275 EXTERN Window		TkUnixContainerId(TkWindow *winPtr);
276 /* 6 */
277 EXTERN int		TkUnixDoOneXEvent(Tcl_Time *timePtr);
278 /* 7 */
279 EXTERN void		TkUnixSetMenubar(Tk_Window tkwin, Tk_Window menubar);
280 /* 8 */
281 EXTERN int		TkpScanWindowId(Tcl_Interp *interp,
282 				const char *string, Window *idPtr);
283 /* 9 */
284 EXTERN void		TkWmCleanup(TkDisplay *dispPtr);
285 /* 10 */
286 EXTERN void		TkSendCleanup(TkDisplay *dispPtr);
287 /* Slot 11 is reserved */
288 /* 12 */
289 EXTERN int		TkpWmSetState(TkWindow *winPtr, int state);
290 /* 13 */
291 EXTERN int		TkpTestsendCmd(ClientData clientData,
292 				Tcl_Interp *interp, int objc,
293 				Tcl_Obj *const objv[]);
294 /* Slot 14 is reserved */
295 /* Slot 15 is reserved */
296 /* Slot 16 is reserved */
297 /* Slot 17 is reserved */
298 /* Slot 18 is reserved */
299 /* Slot 19 is reserved */
300 /* Slot 20 is reserved */
301 /* Slot 21 is reserved */
302 /* Slot 22 is reserved */
303 /* Slot 23 is reserved */
304 /* Slot 24 is reserved */
305 /* Slot 25 is reserved */
306 /* Slot 26 is reserved */
307 /* Slot 27 is reserved */
308 /* Slot 28 is reserved */
309 /* Slot 29 is reserved */
310 /* Slot 30 is reserved */
311 /* Slot 31 is reserved */
312 /* Slot 32 is reserved */
313 /* Slot 33 is reserved */
314 /* Slot 34 is reserved */
315 /* Slot 35 is reserved */
316 /* Slot 36 is reserved */
317 /* Slot 37 is reserved */
318 /* 38 */
319 EXTERN int		TkpCmapStressed_(Tk_Window tkwin, Colormap colormap);
320 /* 39 */
321 EXTERN void		TkpSync_(Display *display);
322 /* 40 */
323 EXTERN Window		TkUnixContainerId_(TkWindow *winPtr);
324 /* 41 */
325 EXTERN int		TkUnixDoOneXEvent_(Tcl_Time *timePtr);
326 /* 42 */
327 EXTERN void		TkUnixSetMenubar_(Tk_Window tkwin, Tk_Window menubar);
328 /* 43 */
329 EXTERN void		TkWmCleanup_(TkDisplay *dispPtr);
330 /* 44 */
331 EXTERN void		TkSendCleanup_(TkDisplay *dispPtr);
332 /* 45 */
333 EXTERN int		TkpTestsendCmd_(ClientData clientData,
334 				Tcl_Interp *interp, int objc,
335 				Tcl_Obj *const objv[]);
336 #endif /* X11 */
337 
338 typedef struct TkIntPlatStubs {
339     int magic;
340     void *hooks;
341 
342 #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
343     char * (*tkAlignImageData) (XImage *image, int alignment, int bitOrder); /* 0 */
344     void (*reserved1)(void);
345     void (*tkGenerateActivateEvents) (TkWindow *winPtr, int active); /* 2 */
346     unsigned long (*tkpGetMS) (void); /* 3 */
347     void (*tkPointerDeadWindow) (TkWindow *winPtr); /* 4 */
348     void (*tkpPrintWindowId) (char *buf, Window window); /* 5 */
349     int (*tkpScanWindowId) (Tcl_Interp *interp, const char *string, Window *idPtr); /* 6 */
350     void (*tkpSetCapture) (TkWindow *winPtr); /* 7 */
351     void (*tkpSetCursor) (TkpCursor cursor); /* 8 */
352     int (*tkpWmSetState) (TkWindow *winPtr, int state); /* 9 */
353     void (*tkSetPixmapColormap) (Pixmap pixmap, Colormap colormap); /* 10 */
354     void (*tkWinCancelMouseTimer) (void); /* 11 */
355     void (*tkWinClipboardRender) (TkDisplay *dispPtr, UINT format); /* 12 */
356     LRESULT (*tkWinEmbeddedEventProc) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); /* 13 */
357     void (*tkWinFillRect) (HDC dc, int x, int y, int width, int height, int pixel); /* 14 */
358     COLORREF (*tkWinGetBorderPixels) (Tk_Window tkwin, Tk_3DBorder border, int which); /* 15 */
359     HDC (*tkWinGetDrawableDC) (Display *display, Drawable d, TkWinDCState *state); /* 16 */
360     int (*tkWinGetModifierState) (void); /* 17 */
361     HPALETTE (*tkWinGetSystemPalette) (void); /* 18 */
362     HWND (*tkWinGetWrapperWindow) (Tk_Window tkwin); /* 19 */
363     int (*tkWinHandleMenuEvent) (HWND *phwnd, UINT *pMessage, WPARAM *pwParam, LPARAM *plParam, LRESULT *plResult); /* 20 */
364     int (*tkWinIndexOfColor) (XColor *colorPtr); /* 21 */
365     void (*tkWinReleaseDrawableDC) (Drawable d, HDC hdc, TkWinDCState *state); /* 22 */
366     LRESULT (*tkWinResendEvent) (WNDPROC wndproc, HWND hwnd, XEvent *eventPtr); /* 23 */
367     HPALETTE (*tkWinSelectPalette) (HDC dc, Colormap colormap); /* 24 */
368     void (*tkWinSetMenu) (Tk_Window tkwin, HMENU hMenu); /* 25 */
369     void (*tkWinSetWindowPos) (HWND hwnd, HWND siblingHwnd, int pos); /* 26 */
370     void (*tkWinWmCleanup) (HINSTANCE hInstance); /* 27 */
371     void (*tkWinXCleanup) (ClientData clientData); /* 28 */
372     void (*tkWinXInit) (HINSTANCE hInstance); /* 29 */
373     void (*tkWinSetForegroundWindow) (TkWindow *winPtr); /* 30 */
374     void (*tkWinDialogDebug) (int debug); /* 31 */
375     Tcl_Obj * (*tkWinGetMenuSystemDefault) (Tk_Window tkwin, const char *dbName, const char *className); /* 32 */
376     int (*tkWinGetPlatformId) (void); /* 33 */
377     void (*tkWinSetHINSTANCE) (HINSTANCE hInstance); /* 34 */
378     int (*tkWinGetPlatformTheme) (void); /* 35 */
379     LRESULT (__stdcall *tkWinChildProc) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); /* 36 */
380     void (*tkCreateXEventSource) (void); /* 37 */
381     int (*tkpCmapStressed) (Tk_Window tkwin, Colormap colormap); /* 38 */
382     void (*tkpSync) (Display *display); /* 39 */
383     Window (*tkUnixContainerId) (TkWindow *winPtr); /* 40 */
384     int (*tkUnixDoOneXEvent) (Tcl_Time *timePtr); /* 41 */
385     void (*tkUnixSetMenubar) (Tk_Window tkwin, Tk_Window menubar); /* 42 */
386     void (*tkWmCleanup) (TkDisplay *dispPtr); /* 43 */
387     void (*tkSendCleanup) (TkDisplay *dispPtr); /* 44 */
388     int (*tkpTestsendCmd) (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 45 */
389     void (*reserved46)(void);
390     Tk_Window (*tkpGetCapture) (void); /* 47 */
391 #endif /* WIN */
392 #ifdef MAC_OSX_TK /* AQUA */
393     void (*tkGenerateActivateEvents) (TkWindow *winPtr, int active); /* 0 */
394     void (*reserved1)(void);
395     void (*tkGenerateActivateEvents_) (TkWindow *winPtr, int active); /* 2 */
396     void (*tkPointerDeadWindow) (TkWindow *winPtr); /* 3 */
397     void (*tkpSetCapture) (TkWindow *winPtr); /* 4 */
398     void (*tkpSetCursor) (TkpCursor cursor); /* 5 */
399     void (*tkpWmSetState) (TkWindow *winPtr, int state); /* 6 */
400     void (*tkAboutDlg) (void); /* 7 */
401     unsigned int (*tkMacOSXButtonKeyState) (void); /* 8 */
402     void (*tkMacOSXClearMenubarActive) (void); /* 9 */
403     int (*tkMacOSXDispatchMenuEvent) (int menuID, int index); /* 10 */
404     void (*reserved11)(void);
405     void (*tkMacOSXHandleTearoffMenu) (void); /* 12 */
406     void (*reserved13)(void);
407     int (*tkMacOSXDoHLEvent) (void *theEvent); /* 14 */
408     void (*reserved15)(void);
409     Window (*tkMacOSXGetXWindow) (void *macWinPtr); /* 16 */
410     int (*tkMacOSXGrowToplevel) (void *whichWindow, XPoint start); /* 17 */
411     void (*tkMacOSXHandleMenuSelect) (short theMenu, unsigned short theItem, int optionKeyPressed); /* 18 */
412     void (*reserved19)(void);
413     void (*reserved20)(void);
414     void (*tkMacOSXInvalidateWindow) (MacDrawable *macWin, int flag); /* 21 */
415     int (*tkMacOSXIsCharacterMissing) (Tk_Font tkfont, unsigned int searchChar); /* 22 */
416     void (*tkMacOSXMakeRealWindowExist) (TkWindow *winPtr); /* 23 */
417     void * (*tkMacOSXMakeStippleMap) (Drawable d1, Drawable d2); /* 24 */
418     void (*tkMacOSXMenuClick) (void); /* 25 */
419     void (*reserved26)(void);
420     int (*tkMacOSXResizable) (TkWindow *winPtr); /* 27 */
421     void (*tkMacOSXSetHelpMenuItemCount) (void); /* 28 */
422     void (*tkMacOSXSetScrollbarGrow) (TkWindow *winPtr, int flag); /* 29 */
423     void (*tkMacOSXSetUpClippingRgn) (Drawable drawable); /* 30 */
424     void (*tkMacOSXSetUpGraphicsPort) (GC gc, void *destPort); /* 31 */
425     void (*tkMacOSXUpdateClipRgn) (TkWindow *winPtr); /* 32 */
426     void (*reserved33)(void);
427     int (*tkMacOSXUseMenuID) (short macID); /* 34 */
428     Region (*tkMacOSXVisableClipRgn) (TkWindow *winPtr); /* 35 */
429     void (*tkMacOSXWinBounds) (TkWindow *winPtr, void *geometry); /* 36 */
430     void (*tkMacOSXWindowOffset) (void *wRef, int *xOffset, int *yOffset); /* 37 */
431     int (*tkSetMacColor) (unsigned long pixel, void *macColor); /* 38 */
432     void (*tkSetWMName) (TkWindow *winPtr, Tk_Uid titleUid); /* 39 */
433     void (*reserved40)(void);
434     int (*tkMacOSXZoomToplevel) (void *whichWindow, short zoomPart); /* 41 */
435     Tk_Window (*tk_TopCoordsToWindow) (Tk_Window tkwin, int rootX, int rootY, int *newX, int *newY); /* 42 */
436     MacDrawable * (*tkMacOSXContainerId) (TkWindow *winPtr); /* 43 */
437     MacDrawable * (*tkMacOSXGetHostToplevel) (TkWindow *winPtr); /* 44 */
438     void (*tkMacOSXPreprocessMenu) (void); /* 45 */
439     int (*tkpIsWindowFloating) (void *window); /* 46 */
440     Tk_Window (*tkpGetCapture) (void); /* 47 */
441     void (*reserved48)(void);
442     Tk_Window (*tkMacOSXGetContainer) (TkWindow *winPtr); /* 49 */
443     int (*tkGenerateButtonEvent) (int x, int y, Window window, unsigned int state); /* 50 */
444     void (*tkGenWMDestroyEvent) (Tk_Window tkwin); /* 51 */
445     void (*tkMacOSXSetDrawingEnabled) (TkWindow *winPtr, int flag); /* 52 */
446     unsigned long (*tkpGetMS) (void); /* 53 */
447     void * (*tkMacOSXDrawable) (Drawable drawable); /* 54 */
448     int (*tkpScanWindowId) (Tcl_Interp *interp, const char *string, Window *idPtr); /* 55 */
449 #endif /* AQUA */
450 #if !(defined(_WIN32) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */
451     void (*tkCreateXEventSource) (void); /* 0 */
452     void (*reserved1)(void);
453     void (*tkGenerateActivateEvents) (TkWindow *winPtr, int active); /* 2 */
454     int (*tkpCmapStressed) (Tk_Window tkwin, Colormap colormap); /* 3 */
455     void (*tkpSync) (Display *display); /* 4 */
456     Window (*tkUnixContainerId) (TkWindow *winPtr); /* 5 */
457     int (*tkUnixDoOneXEvent) (Tcl_Time *timePtr); /* 6 */
458     void (*tkUnixSetMenubar) (Tk_Window tkwin, Tk_Window menubar); /* 7 */
459     int (*tkpScanWindowId) (Tcl_Interp *interp, const char *string, Window *idPtr); /* 8 */
460     void (*tkWmCleanup) (TkDisplay *dispPtr); /* 9 */
461     void (*tkSendCleanup) (TkDisplay *dispPtr); /* 10 */
462     void (*reserved11)(void);
463     int (*tkpWmSetState) (TkWindow *winPtr, int state); /* 12 */
464     int (*tkpTestsendCmd) (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 13 */
465     void (*reserved14)(void);
466     void (*reserved15)(void);
467     void (*reserved16)(void);
468     void (*reserved17)(void);
469     void (*reserved18)(void);
470     void (*reserved19)(void);
471     void (*reserved20)(void);
472     void (*reserved21)(void);
473     void (*reserved22)(void);
474     void (*reserved23)(void);
475     void (*reserved24)(void);
476     void (*reserved25)(void);
477     void (*reserved26)(void);
478     void (*reserved27)(void);
479     void (*reserved28)(void);
480     void (*reserved29)(void);
481     void (*reserved30)(void);
482     void (*reserved31)(void);
483     void (*reserved32)(void);
484     void (*reserved33)(void);
485     void (*reserved34)(void);
486     void (*reserved35)(void);
487     void (*reserved36)(void);
488     void (*reserved37)(void);
489     int (*tkpCmapStressed_) (Tk_Window tkwin, Colormap colormap); /* 38 */
490     void (*tkpSync_) (Display *display); /* 39 */
491     Window (*tkUnixContainerId_) (TkWindow *winPtr); /* 40 */
492     int (*tkUnixDoOneXEvent_) (Tcl_Time *timePtr); /* 41 */
493     void (*tkUnixSetMenubar_) (Tk_Window tkwin, Tk_Window menubar); /* 42 */
494     void (*tkWmCleanup_) (TkDisplay *dispPtr); /* 43 */
495     void (*tkSendCleanup_) (TkDisplay *dispPtr); /* 44 */
496     int (*tkpTestsendCmd_) (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 45 */
497 #endif /* X11 */
498 } TkIntPlatStubs;
499 
500 extern const TkIntPlatStubs *tkIntPlatStubsPtr;
501 
502 #ifdef __cplusplus
503 }
504 #endif
505 
506 #if defined(USE_TK_STUBS)
507 
508 /*
509  * Inline function declarations:
510  */
511 
512 #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
513 #define TkAlignImageData \
514 	(tkIntPlatStubsPtr->tkAlignImageData) /* 0 */
515 /* Slot 1 is reserved */
516 #define TkGenerateActivateEvents \
517 	(tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 2 */
518 #define TkpGetMS \
519 	(tkIntPlatStubsPtr->tkpGetMS) /* 3 */
520 #define TkPointerDeadWindow \
521 	(tkIntPlatStubsPtr->tkPointerDeadWindow) /* 4 */
522 #define TkpPrintWindowId \
523 	(tkIntPlatStubsPtr->tkpPrintWindowId) /* 5 */
524 #define TkpScanWindowId \
525 	(tkIntPlatStubsPtr->tkpScanWindowId) /* 6 */
526 #define TkpSetCapture \
527 	(tkIntPlatStubsPtr->tkpSetCapture) /* 7 */
528 #define TkpSetCursor \
529 	(tkIntPlatStubsPtr->tkpSetCursor) /* 8 */
530 #define TkpWmSetState \
531 	(tkIntPlatStubsPtr->tkpWmSetState) /* 9 */
532 #define TkSetPixmapColormap \
533 	(tkIntPlatStubsPtr->tkSetPixmapColormap) /* 10 */
534 #define TkWinCancelMouseTimer \
535 	(tkIntPlatStubsPtr->tkWinCancelMouseTimer) /* 11 */
536 #define TkWinClipboardRender \
537 	(tkIntPlatStubsPtr->tkWinClipboardRender) /* 12 */
538 #define TkWinEmbeddedEventProc \
539 	(tkIntPlatStubsPtr->tkWinEmbeddedEventProc) /* 13 */
540 #define TkWinFillRect \
541 	(tkIntPlatStubsPtr->tkWinFillRect) /* 14 */
542 #define TkWinGetBorderPixels \
543 	(tkIntPlatStubsPtr->tkWinGetBorderPixels) /* 15 */
544 #define TkWinGetDrawableDC \
545 	(tkIntPlatStubsPtr->tkWinGetDrawableDC) /* 16 */
546 #define TkWinGetModifierState \
547 	(tkIntPlatStubsPtr->tkWinGetModifierState) /* 17 */
548 #define TkWinGetSystemPalette \
549 	(tkIntPlatStubsPtr->tkWinGetSystemPalette) /* 18 */
550 #define TkWinGetWrapperWindow \
551 	(tkIntPlatStubsPtr->tkWinGetWrapperWindow) /* 19 */
552 #define TkWinHandleMenuEvent \
553 	(tkIntPlatStubsPtr->tkWinHandleMenuEvent) /* 20 */
554 #define TkWinIndexOfColor \
555 	(tkIntPlatStubsPtr->tkWinIndexOfColor) /* 21 */
556 #define TkWinReleaseDrawableDC \
557 	(tkIntPlatStubsPtr->tkWinReleaseDrawableDC) /* 22 */
558 #define TkWinResendEvent \
559 	(tkIntPlatStubsPtr->tkWinResendEvent) /* 23 */
560 #define TkWinSelectPalette \
561 	(tkIntPlatStubsPtr->tkWinSelectPalette) /* 24 */
562 #define TkWinSetMenu \
563 	(tkIntPlatStubsPtr->tkWinSetMenu) /* 25 */
564 #define TkWinSetWindowPos \
565 	(tkIntPlatStubsPtr->tkWinSetWindowPos) /* 26 */
566 #define TkWinWmCleanup \
567 	(tkIntPlatStubsPtr->tkWinWmCleanup) /* 27 */
568 #define TkWinXCleanup \
569 	(tkIntPlatStubsPtr->tkWinXCleanup) /* 28 */
570 #define TkWinXInit \
571 	(tkIntPlatStubsPtr->tkWinXInit) /* 29 */
572 #define TkWinSetForegroundWindow \
573 	(tkIntPlatStubsPtr->tkWinSetForegroundWindow) /* 30 */
574 #define TkWinDialogDebug \
575 	(tkIntPlatStubsPtr->tkWinDialogDebug) /* 31 */
576 #define TkWinGetMenuSystemDefault \
577 	(tkIntPlatStubsPtr->tkWinGetMenuSystemDefault) /* 32 */
578 #define TkWinGetPlatformId \
579 	(tkIntPlatStubsPtr->tkWinGetPlatformId) /* 33 */
580 #define TkWinSetHINSTANCE \
581 	(tkIntPlatStubsPtr->tkWinSetHINSTANCE) /* 34 */
582 #define TkWinGetPlatformTheme \
583 	(tkIntPlatStubsPtr->tkWinGetPlatformTheme) /* 35 */
584 #define TkWinChildProc \
585 	(tkIntPlatStubsPtr->tkWinChildProc) /* 36 */
586 #define TkCreateXEventSource \
587 	(tkIntPlatStubsPtr->tkCreateXEventSource) /* 37 */
588 #define TkpCmapStressed \
589 	(tkIntPlatStubsPtr->tkpCmapStressed) /* 38 */
590 #define TkpSync \
591 	(tkIntPlatStubsPtr->tkpSync) /* 39 */
592 #define TkUnixContainerId \
593 	(tkIntPlatStubsPtr->tkUnixContainerId) /* 40 */
594 #define TkUnixDoOneXEvent \
595 	(tkIntPlatStubsPtr->tkUnixDoOneXEvent) /* 41 */
596 #define TkUnixSetMenubar \
597 	(tkIntPlatStubsPtr->tkUnixSetMenubar) /* 42 */
598 #define TkWmCleanup \
599 	(tkIntPlatStubsPtr->tkWmCleanup) /* 43 */
600 #define TkSendCleanup \
601 	(tkIntPlatStubsPtr->tkSendCleanup) /* 44 */
602 #define TkpTestsendCmd \
603 	(tkIntPlatStubsPtr->tkpTestsendCmd) /* 45 */
604 /* Slot 46 is reserved */
605 #define TkpGetCapture \
606 	(tkIntPlatStubsPtr->tkpGetCapture) /* 47 */
607 #endif /* WIN */
608 #ifdef MAC_OSX_TK /* AQUA */
609 #define TkGenerateActivateEvents \
610 	(tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 0 */
611 /* Slot 1 is reserved */
612 #define TkGenerateActivateEvents_ \
613 	(tkIntPlatStubsPtr->tkGenerateActivateEvents_) /* 2 */
614 #define TkPointerDeadWindow \
615 	(tkIntPlatStubsPtr->tkPointerDeadWindow) /* 3 */
616 #define TkpSetCapture \
617 	(tkIntPlatStubsPtr->tkpSetCapture) /* 4 */
618 #define TkpSetCursor \
619 	(tkIntPlatStubsPtr->tkpSetCursor) /* 5 */
620 #define TkpWmSetState \
621 	(tkIntPlatStubsPtr->tkpWmSetState) /* 6 */
622 #define TkAboutDlg \
623 	(tkIntPlatStubsPtr->tkAboutDlg) /* 7 */
624 #define TkMacOSXButtonKeyState \
625 	(tkIntPlatStubsPtr->tkMacOSXButtonKeyState) /* 8 */
626 #define TkMacOSXClearMenubarActive \
627 	(tkIntPlatStubsPtr->tkMacOSXClearMenubarActive) /* 9 */
628 #define TkMacOSXDispatchMenuEvent \
629 	(tkIntPlatStubsPtr->tkMacOSXDispatchMenuEvent) /* 10 */
630 /* Slot 11 is reserved */
631 #define TkMacOSXHandleTearoffMenu \
632 	(tkIntPlatStubsPtr->tkMacOSXHandleTearoffMenu) /* 12 */
633 /* Slot 13 is reserved */
634 #define TkMacOSXDoHLEvent \
635 	(tkIntPlatStubsPtr->tkMacOSXDoHLEvent) /* 14 */
636 /* Slot 15 is reserved */
637 #define TkMacOSXGetXWindow \
638 	(tkIntPlatStubsPtr->tkMacOSXGetXWindow) /* 16 */
639 #define TkMacOSXGrowToplevel \
640 	(tkIntPlatStubsPtr->tkMacOSXGrowToplevel) /* 17 */
641 #define TkMacOSXHandleMenuSelect \
642 	(tkIntPlatStubsPtr->tkMacOSXHandleMenuSelect) /* 18 */
643 /* Slot 19 is reserved */
644 /* Slot 20 is reserved */
645 #define TkMacOSXInvalidateWindow \
646 	(tkIntPlatStubsPtr->tkMacOSXInvalidateWindow) /* 21 */
647 #define TkMacOSXIsCharacterMissing \
648 	(tkIntPlatStubsPtr->tkMacOSXIsCharacterMissing) /* 22 */
649 #define TkMacOSXMakeRealWindowExist \
650 	(tkIntPlatStubsPtr->tkMacOSXMakeRealWindowExist) /* 23 */
651 #define TkMacOSXMakeStippleMap \
652 	(tkIntPlatStubsPtr->tkMacOSXMakeStippleMap) /* 24 */
653 #define TkMacOSXMenuClick \
654 	(tkIntPlatStubsPtr->tkMacOSXMenuClick) /* 25 */
655 /* Slot 26 is reserved */
656 #define TkMacOSXResizable \
657 	(tkIntPlatStubsPtr->tkMacOSXResizable) /* 27 */
658 #define TkMacOSXSetHelpMenuItemCount \
659 	(tkIntPlatStubsPtr->tkMacOSXSetHelpMenuItemCount) /* 28 */
660 #define TkMacOSXSetScrollbarGrow \
661 	(tkIntPlatStubsPtr->tkMacOSXSetScrollbarGrow) /* 29 */
662 #define TkMacOSXSetUpClippingRgn \
663 	(tkIntPlatStubsPtr->tkMacOSXSetUpClippingRgn) /* 30 */
664 #define TkMacOSXSetUpGraphicsPort \
665 	(tkIntPlatStubsPtr->tkMacOSXSetUpGraphicsPort) /* 31 */
666 #define TkMacOSXUpdateClipRgn \
667 	(tkIntPlatStubsPtr->tkMacOSXUpdateClipRgn) /* 32 */
668 /* Slot 33 is reserved */
669 #define TkMacOSXUseMenuID \
670 	(tkIntPlatStubsPtr->tkMacOSXUseMenuID) /* 34 */
671 #define TkMacOSXVisableClipRgn \
672 	(tkIntPlatStubsPtr->tkMacOSXVisableClipRgn) /* 35 */
673 #define TkMacOSXWinBounds \
674 	(tkIntPlatStubsPtr->tkMacOSXWinBounds) /* 36 */
675 #define TkMacOSXWindowOffset \
676 	(tkIntPlatStubsPtr->tkMacOSXWindowOffset) /* 37 */
677 #define TkSetMacColor \
678 	(tkIntPlatStubsPtr->tkSetMacColor) /* 38 */
679 #define TkSetWMName \
680 	(tkIntPlatStubsPtr->tkSetWMName) /* 39 */
681 /* Slot 40 is reserved */
682 #define TkMacOSXZoomToplevel \
683 	(tkIntPlatStubsPtr->tkMacOSXZoomToplevel) /* 41 */
684 #define Tk_TopCoordsToWindow \
685 	(tkIntPlatStubsPtr->tk_TopCoordsToWindow) /* 42 */
686 #define TkMacOSXContainerId \
687 	(tkIntPlatStubsPtr->tkMacOSXContainerId) /* 43 */
688 #define TkMacOSXGetHostToplevel \
689 	(tkIntPlatStubsPtr->tkMacOSXGetHostToplevel) /* 44 */
690 #define TkMacOSXPreprocessMenu \
691 	(tkIntPlatStubsPtr->tkMacOSXPreprocessMenu) /* 45 */
692 #define TkpIsWindowFloating \
693 	(tkIntPlatStubsPtr->tkpIsWindowFloating) /* 46 */
694 #define TkpGetCapture \
695 	(tkIntPlatStubsPtr->tkpGetCapture) /* 47 */
696 /* Slot 48 is reserved */
697 #define TkMacOSXGetContainer \
698 	(tkIntPlatStubsPtr->tkMacOSXGetContainer) /* 49 */
699 #define TkGenerateButtonEvent \
700 	(tkIntPlatStubsPtr->tkGenerateButtonEvent) /* 50 */
701 #define TkGenWMDestroyEvent \
702 	(tkIntPlatStubsPtr->tkGenWMDestroyEvent) /* 51 */
703 #define TkMacOSXSetDrawingEnabled \
704 	(tkIntPlatStubsPtr->tkMacOSXSetDrawingEnabled) /* 52 */
705 #define TkpGetMS \
706 	(tkIntPlatStubsPtr->tkpGetMS) /* 53 */
707 #define TkMacOSXDrawable \
708 	(tkIntPlatStubsPtr->tkMacOSXDrawable) /* 54 */
709 #define TkpScanWindowId \
710 	(tkIntPlatStubsPtr->tkpScanWindowId) /* 55 */
711 #endif /* AQUA */
712 #if !(defined(_WIN32) || defined(__CYGWIN__) || defined(MAC_OSX_TK)) /* X11 */
713 #define TkCreateXEventSource \
714 	(tkIntPlatStubsPtr->tkCreateXEventSource) /* 0 */
715 /* Slot 1 is reserved */
716 #define TkGenerateActivateEvents \
717 	(tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 2 */
718 #define TkpCmapStressed \
719 	(tkIntPlatStubsPtr->tkpCmapStressed) /* 3 */
720 #define TkpSync \
721 	(tkIntPlatStubsPtr->tkpSync) /* 4 */
722 #define TkUnixContainerId \
723 	(tkIntPlatStubsPtr->tkUnixContainerId) /* 5 */
724 #define TkUnixDoOneXEvent \
725 	(tkIntPlatStubsPtr->tkUnixDoOneXEvent) /* 6 */
726 #define TkUnixSetMenubar \
727 	(tkIntPlatStubsPtr->tkUnixSetMenubar) /* 7 */
728 #define TkpScanWindowId \
729 	(tkIntPlatStubsPtr->tkpScanWindowId) /* 8 */
730 #define TkWmCleanup \
731 	(tkIntPlatStubsPtr->tkWmCleanup) /* 9 */
732 #define TkSendCleanup \
733 	(tkIntPlatStubsPtr->tkSendCleanup) /* 10 */
734 /* Slot 11 is reserved */
735 #define TkpWmSetState \
736 	(tkIntPlatStubsPtr->tkpWmSetState) /* 12 */
737 #define TkpTestsendCmd \
738 	(tkIntPlatStubsPtr->tkpTestsendCmd) /* 13 */
739 /* Slot 14 is reserved */
740 /* Slot 15 is reserved */
741 /* Slot 16 is reserved */
742 /* Slot 17 is reserved */
743 /* Slot 18 is reserved */
744 /* Slot 19 is reserved */
745 /* Slot 20 is reserved */
746 /* Slot 21 is reserved */
747 /* Slot 22 is reserved */
748 /* Slot 23 is reserved */
749 /* Slot 24 is reserved */
750 /* Slot 25 is reserved */
751 /* Slot 26 is reserved */
752 /* Slot 27 is reserved */
753 /* Slot 28 is reserved */
754 /* Slot 29 is reserved */
755 /* Slot 30 is reserved */
756 /* Slot 31 is reserved */
757 /* Slot 32 is reserved */
758 /* Slot 33 is reserved */
759 /* Slot 34 is reserved */
760 /* Slot 35 is reserved */
761 /* Slot 36 is reserved */
762 /* Slot 37 is reserved */
763 #define TkpCmapStressed_ \
764 	(tkIntPlatStubsPtr->tkpCmapStressed_) /* 38 */
765 #define TkpSync_ \
766 	(tkIntPlatStubsPtr->tkpSync_) /* 39 */
767 #define TkUnixContainerId_ \
768 	(tkIntPlatStubsPtr->tkUnixContainerId_) /* 40 */
769 #define TkUnixDoOneXEvent_ \
770 	(tkIntPlatStubsPtr->tkUnixDoOneXEvent_) /* 41 */
771 #define TkUnixSetMenubar_ \
772 	(tkIntPlatStubsPtr->tkUnixSetMenubar_) /* 42 */
773 #define TkWmCleanup_ \
774 	(tkIntPlatStubsPtr->tkWmCleanup_) /* 43 */
775 #define TkSendCleanup_ \
776 	(tkIntPlatStubsPtr->tkSendCleanup_) /* 44 */
777 #define TkpTestsendCmd_ \
778 	(tkIntPlatStubsPtr->tkpTestsendCmd_) /* 45 */
779 #endif /* X11 */
780 
781 #endif /* defined(USE_TK_STUBS) */
782 
783 /* !END!: Do not edit above this line. */
784 
785 #undef TkpCmapStressed_
786 #undef TkpSync_
787 #undef TkUnixContainerId_
788 #undef TkUnixDoOneXEvent_
789 #undef TkUnixSetMenubar_
790 #undef TkWmCleanup_
791 #undef TkSendCleanup_
792 #undef TkpTestsendCmd_
793 #undef TkGenerateActivateEvents_
794 #undef TkMacOSXSetUpClippingRgn
795 
796 #undef TCL_STORAGE_CLASS
797 #define TCL_STORAGE_CLASS DLLIMPORT
798 
799 #undef TkWinGetPlatformId
800 #define TkWinGetPlatformId() (2) /* VER_PLATFORM_WIN32_NT */
801 
802 #endif /* _TKINTPLATDECLS */
803