1 /*
2  * tkIntDecls.h --
3  *
4  *	This file contains the declarations for all unsupported
5  *	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  *
11  * See the file "license.terms" for information on usage and redistribution
12  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
13  */
14 
15 #ifndef _TKINTDECLS
16 #define _TKINTDECLS
17 
18 #include "X11/Xutil.h"
19 
20 #ifdef BUILD_tk
21 #undef TCL_STORAGE_CLASS
22 #define TCL_STORAGE_CLASS DLLEXPORT
23 #endif
24 
25 struct TkText;
26 typedef struct TkTextBTree_ *TkTextBTree;
27 struct TkTextDispChunk;
28 struct TkTextIndex;
29 struct TkTextSegment;
30 struct TkSharedText;
31 
32 /*
33  * WARNING: This file is automatically generated by the tools/genStubs.tcl
34  * script.  Any modifications to the function declarations below should be made
35  * in the generic/tkInt.decls script.
36  */
37 
38 /* !BEGIN!: Do not edit below this line. */
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /*
45  * Exported function declarations:
46  */
47 
48 /* 0 */
49 EXTERN TkWindow *	TkAllocWindow(TkDisplay *dispPtr, int screenNum,
50 				TkWindow *parentPtr);
51 /* 1 */
52 EXTERN void		TkBezierPoints(double control[], int numSteps,
53 				double *coordPtr);
54 /* 2 */
55 EXTERN void		TkBezierScreenPoints(Tk_Canvas canvas,
56 				double control[], int numSteps,
57 				XPoint *xPointPtr);
58 /* Slot 3 is reserved */
59 /* 4 */
60 EXTERN void		TkBindEventProc(TkWindow *winPtr, XEvent *eventPtr);
61 /* 5 */
62 EXTERN void		TkBindFree(TkMainInfo *mainPtr);
63 /* 6 */
64 EXTERN void		TkBindInit(TkMainInfo *mainPtr);
65 /* 7 */
66 EXTERN void		TkChangeEventWindow(XEvent *eventPtr,
67 				TkWindow *winPtr);
68 /* 8 */
69 EXTERN int		TkClipInit(Tcl_Interp *interp, TkDisplay *dispPtr);
70 /* 9 */
71 EXTERN void		TkComputeAnchor(Tk_Anchor anchor, Tk_Window tkwin,
72 				int padX, int padY, int innerWidth,
73 				int innerHeight, int *xPtr, int *yPtr);
74 /* Slot 10 is reserved */
75 /* Slot 11 is reserved */
76 /* 12 */
77 EXTERN TkCursor *	TkCreateCursorFromData(Tk_Window tkwin,
78 				const char *source, const char *mask,
79 				int width, int height, int xHot, int yHot,
80 				XColor fg, XColor bg);
81 /* 13 */
82 EXTERN int		TkCreateFrame(ClientData clientData,
83 				Tcl_Interp *interp, int argc,
84 				const char *const *argv, int toplevel,
85 				const char *appName);
86 /* 14 */
87 EXTERN Tk_Window	TkCreateMainWindow(Tcl_Interp *interp,
88 				const char *screenName, const char *baseName);
89 /* 15 */
90 EXTERN Time		TkCurrentTime(TkDisplay *dispPtr);
91 /* 16 */
92 EXTERN void		TkDeleteAllImages(TkMainInfo *mainPtr);
93 /* 17 */
94 EXTERN void		TkDoConfigureNotify(TkWindow *winPtr);
95 /* 18 */
96 EXTERN void		TkDrawInsetFocusHighlight(Tk_Window tkwin, GC gc,
97 				int width, Drawable drawable, int padding);
98 /* 19 */
99 EXTERN void		TkEventDeadWindow(TkWindow *winPtr);
100 /* 20 */
101 EXTERN void		TkFillPolygon(Tk_Canvas canvas, double *coordPtr,
102 				int numPoints, Display *display,
103 				Drawable drawable, GC gc, GC outlineGC);
104 /* 21 */
105 EXTERN int		TkFindStateNum(Tcl_Interp *interp,
106 				const char *option, const TkStateMap *mapPtr,
107 				const char *strKey);
108 /* 22 */
109 EXTERN const char *	TkFindStateString(const TkStateMap *mapPtr,
110 				int numKey);
111 /* 23 */
112 EXTERN void		TkFocusDeadWindow(TkWindow *winPtr);
113 /* 24 */
114 EXTERN int		TkFocusFilterEvent(TkWindow *winPtr,
115 				XEvent *eventPtr);
116 /* 25 */
117 EXTERN TkWindow *	TkFocusKeyEvent(TkWindow *winPtr, XEvent *eventPtr);
118 /* 26 */
119 EXTERN void		TkFontPkgInit(TkMainInfo *mainPtr);
120 /* 27 */
121 EXTERN void		TkFontPkgFree(TkMainInfo *mainPtr);
122 /* 28 */
123 EXTERN void		TkFreeBindingTags(TkWindow *winPtr);
124 /* 29 */
125 EXTERN void		TkpFreeCursor(TkCursor *cursorPtr);
126 /* 30 */
127 EXTERN char *		TkGetBitmapData(Tcl_Interp *interp,
128 				const char *string, const char *fileName,
129 				int *widthPtr, int *heightPtr, int *hotXPtr,
130 				int *hotYPtr);
131 /* 31 */
132 EXTERN void		TkGetButtPoints(double p1[], double p2[],
133 				double width, int project, double m1[],
134 				double m2[]);
135 /* 32 */
136 EXTERN TkCursor *	TkGetCursorByName(Tcl_Interp *interp,
137 				Tk_Window tkwin, Tk_Uid string);
138 /* 33 */
139 EXTERN const char *	TkGetDefaultScreenName(Tcl_Interp *interp,
140 				const char *screenName);
141 /* 34 */
142 EXTERN TkDisplay *	TkGetDisplay(Display *display);
143 /* 35 */
144 EXTERN int		TkGetDisplayOf(Tcl_Interp *interp, int objc,
145 				Tcl_Obj *const objv[], Tk_Window *tkwinPtr);
146 /* 36 */
147 EXTERN TkWindow *	TkGetFocusWin(TkWindow *winPtr);
148 /* 37 */
149 EXTERN int		TkGetInterpNames(Tcl_Interp *interp, Tk_Window tkwin);
150 /* 38 */
151 EXTERN int		TkGetMiterPoints(double p1[], double p2[],
152 				double p3[], double width, double m1[],
153 				double m2[]);
154 /* 39 */
155 EXTERN void		TkGetPointerCoords(Tk_Window tkwin, int *xPtr,
156 				int *yPtr);
157 /* 40 */
158 EXTERN void		TkGetServerInfo(Tcl_Interp *interp, Tk_Window tkwin);
159 /* 41 */
160 EXTERN void		TkGrabDeadWindow(TkWindow *winPtr);
161 /* 42 */
162 EXTERN int		TkGrabState(TkWindow *winPtr);
163 /* 43 */
164 EXTERN void		TkIncludePoint(Tk_Item *itemPtr, double *pointPtr);
165 /* 44 */
166 EXTERN void		TkInOutEvents(XEvent *eventPtr, TkWindow *sourcePtr,
167 				TkWindow *destPtr, int leaveType,
168 				int enterType, Tcl_QueuePosition position);
169 /* 45 */
170 EXTERN void		TkInstallFrameMenu(Tk_Window tkwin);
171 /* 46 */
172 EXTERN const char *	TkKeysymToString(KeySym keysym);
173 /* 47 */
174 EXTERN int		TkLineToArea(double end1Ptr[], double end2Ptr[],
175 				double rectPtr[]);
176 /* 48 */
177 EXTERN double		TkLineToPoint(double end1Ptr[], double end2Ptr[],
178 				double pointPtr[]);
179 /* 49 */
180 EXTERN int		TkMakeBezierCurve(Tk_Canvas canvas, double *pointPtr,
181 				int numPoints, int numSteps,
182 				XPoint xPoints[], double dblPoints[]);
183 /* 50 */
184 EXTERN void		TkMakeBezierPostscript(Tcl_Interp *interp,
185 				Tk_Canvas canvas, double *pointPtr,
186 				int numPoints);
187 /* 51 */
188 EXTERN void		TkOptionClassChanged(TkWindow *winPtr);
189 /* 52 */
190 EXTERN void		TkOptionDeadWindow(TkWindow *winPtr);
191 /* 53 */
192 EXTERN int		TkOvalToArea(double *ovalPtr, double *rectPtr);
193 /* 54 */
194 EXTERN double		TkOvalToPoint(double ovalPtr[], double width,
195 				int filled, double pointPtr[]);
196 /* 55 */
197 EXTERN int		TkpChangeFocus(TkWindow *winPtr, int force);
198 /* 56 */
199 EXTERN void		TkpCloseDisplay(TkDisplay *dispPtr);
200 /* 57 */
201 EXTERN void		TkpClaimFocus(TkWindow *topLevelPtr, int force);
202 /* 58 */
203 EXTERN void		TkpDisplayWarning(const char *msg, const char *title);
204 /* 59 */
205 EXTERN void		TkpGetAppName(Tcl_Interp *interp, Tcl_DString *name);
206 /* 60 */
207 EXTERN TkWindow *	TkpGetOtherWindow(TkWindow *winPtr);
208 /* 61 */
209 EXTERN TkWindow *	TkpGetWrapperWindow(TkWindow *winPtr);
210 /* 62 */
211 EXTERN int		TkpInit(Tcl_Interp *interp);
212 /* 63 */
213 EXTERN void		TkpInitializeMenuBindings(Tcl_Interp *interp,
214 				Tk_BindingTable bindingTable);
215 /* 64 */
216 EXTERN void		TkpMakeContainer(Tk_Window tkwin);
217 /* 65 */
218 EXTERN void		TkpMakeMenuWindow(Tk_Window tkwin, int transient);
219 /* 66 */
220 EXTERN Window		TkpMakeWindow(TkWindow *winPtr, Window parent);
221 /* 67 */
222 EXTERN void		TkpMenuNotifyToplevelCreate(Tcl_Interp *interp,
223 				const char *menuName);
224 /* 68 */
225 EXTERN TkDisplay *	TkpOpenDisplay(const char *display_name);
226 /* 69 */
227 EXTERN int		TkPointerEvent(XEvent *eventPtr, TkWindow *winPtr);
228 /* 70 */
229 EXTERN int		TkPolygonToArea(double *polyPtr, int numPoints,
230 				double *rectPtr);
231 /* 71 */
232 EXTERN double		TkPolygonToPoint(double *polyPtr, int numPoints,
233 				double *pointPtr);
234 /* 72 */
235 EXTERN int		TkPositionInTree(TkWindow *winPtr, TkWindow *treePtr);
236 /* 73 */
237 EXTERN void		TkpRedirectKeyEvent(TkWindow *winPtr,
238 				XEvent *eventPtr);
239 /* 74 */
240 EXTERN void		TkpSetMainMenubar(Tcl_Interp *interp,
241 				Tk_Window tkwin, const char *menuName);
242 /* 75 */
243 EXTERN int		TkpUseWindow(Tcl_Interp *interp, Tk_Window tkwin,
244 				const char *string);
245 /* Slot 76 is reserved */
246 /* 77 */
247 EXTERN void		TkQueueEventForAllChildren(TkWindow *winPtr,
248 				XEvent *eventPtr);
249 /* 78 */
250 EXTERN int		TkReadBitmapFile(Display *display, Drawable d,
251 				const char *filename,
252 				unsigned int *width_return,
253 				unsigned int *height_return,
254 				Pixmap *bitmap_return, int *x_hot_return,
255 				int *y_hot_return);
256 /* 79 */
257 EXTERN int		TkScrollWindow(Tk_Window tkwin, GC gc, int x, int y,
258 				int width, int height, int dx, int dy,
259 				Region damageRgn);
260 /* 80 */
261 EXTERN void		TkSelDeadWindow(TkWindow *winPtr);
262 /* 81 */
263 EXTERN void		TkSelEventProc(Tk_Window tkwin, XEvent *eventPtr);
264 /* 82 */
265 EXTERN void		TkSelInit(Tk_Window tkwin);
266 /* 83 */
267 EXTERN void		TkSelPropProc(XEvent *eventPtr);
268 /* Slot 84 is reserved */
269 /* 85 */
270 EXTERN void		TkSetWindowMenuBar(Tcl_Interp *interp,
271 				Tk_Window tkwin, const char *oldMenuName,
272 				const char *menuName);
273 /* 86 */
274 EXTERN KeySym		TkStringToKeysym(const char *name);
275 /* 87 */
276 EXTERN int		TkThickPolyLineToArea(double *coordPtr,
277 				int numPoints, double width, int capStyle,
278 				int joinStyle, double *rectPtr);
279 /* 88 */
280 EXTERN void		TkWmAddToColormapWindows(TkWindow *winPtr);
281 /* 89 */
282 EXTERN void		TkWmDeadWindow(TkWindow *winPtr);
283 /* 90 */
284 EXTERN TkWindow *	TkWmFocusToplevel(TkWindow *winPtr);
285 /* 91 */
286 EXTERN void		TkWmMapWindow(TkWindow *winPtr);
287 /* 92 */
288 EXTERN void		TkWmNewWindow(TkWindow *winPtr);
289 /* 93 */
290 EXTERN void		TkWmProtocolEventProc(TkWindow *winPtr,
291 				XEvent *evenvPtr);
292 /* 94 */
293 EXTERN void		TkWmRemoveFromColormapWindows(TkWindow *winPtr);
294 /* 95 */
295 EXTERN void		TkWmRestackToplevel(TkWindow *winPtr, int aboveBelow,
296 				TkWindow *otherPtr);
297 /* 96 */
298 EXTERN void		TkWmSetClass(TkWindow *winPtr);
299 /* 97 */
300 EXTERN void		TkWmUnmapWindow(TkWindow *winPtr);
301 /* 98 */
302 EXTERN Tcl_Obj *	TkDebugBitmap(Tk_Window tkwin, const char *name);
303 /* 99 */
304 EXTERN Tcl_Obj *	TkDebugBorder(Tk_Window tkwin, const char *name);
305 /* 100 */
306 EXTERN Tcl_Obj *	TkDebugCursor(Tk_Window tkwin, const char *name);
307 /* 101 */
308 EXTERN Tcl_Obj *	TkDebugColor(Tk_Window tkwin, const char *name);
309 /* 102 */
310 EXTERN Tcl_Obj *	TkDebugConfig(Tcl_Interp *interp,
311 				Tk_OptionTable table);
312 /* 103 */
313 EXTERN Tcl_Obj *	TkDebugFont(Tk_Window tkwin, const char *name);
314 /* 104 */
315 EXTERN int		TkFindStateNumObj(Tcl_Interp *interp,
316 				Tcl_Obj *optionPtr, const TkStateMap *mapPtr,
317 				Tcl_Obj *keyPtr);
318 /* 105 */
319 EXTERN Tcl_HashTable *	TkGetBitmapPredefTable(void);
320 /* 106 */
321 EXTERN TkDisplay *	TkGetDisplayList(void);
322 /* 107 */
323 EXTERN TkMainInfo *	TkGetMainInfoList(void);
324 /* 108 */
325 EXTERN int		TkGetWindowFromObj(Tcl_Interp *interp,
326 				Tk_Window tkwin, Tcl_Obj *objPtr,
327 				Tk_Window *windowPtr);
328 /* 109 */
329 EXTERN const char *	TkpGetString(TkWindow *winPtr, XEvent *eventPtr,
330 				Tcl_DString *dsPtr);
331 /* 110 */
332 EXTERN void		TkpGetSubFonts(Tcl_Interp *interp, Tk_Font tkfont);
333 /* 111 */
334 EXTERN Tcl_Obj *	TkpGetSystemDefault(Tk_Window tkwin,
335 				const char *dbName, const char *className);
336 /* 112 */
337 EXTERN void		TkpMenuThreadInit(void);
338 /* 113 */
339 EXTERN int		XClipBox(Region rgn, XRectangle *rect_return);
340 /* 114 */
341 EXTERN Region		XCreateRegion(void);
342 /* 115 */
343 EXTERN int		XDestroyRegion(Region rgn);
344 /* 116 */
345 EXTERN int		XIntersectRegion(Region sra, Region srcb,
346 				Region dr_return);
347 /* 117 */
348 EXTERN int		XRectInRegion(Region rgn, int x, int y,
349 				unsigned int width, unsigned int height);
350 /* 118 */
351 EXTERN int		XSetRegion(Display *display, GC gc, Region rgn);
352 /* 119 */
353 EXTERN int		XUnionRectWithRegion(XRectangle *rect, Region src,
354 				Region dr_return);
355 /* Slot 120 is reserved */
356 #ifdef MAC_OSX_TK /* AQUA */
357 /* 121 */
358 EXTERN Pixmap		TkpCreateNativeBitmap(Display *display,
359 				const void *source);
360 #endif /* AQUA */
361 #ifdef MAC_OSX_TK /* AQUA */
362 /* 122 */
363 EXTERN void		TkpDefineNativeBitmaps(void);
364 #endif /* AQUA */
365 /* Slot 123 is reserved */
366 #ifdef MAC_OSX_TK /* AQUA */
367 /* 124 */
368 EXTERN Pixmap		TkpGetNativeAppBitmap(Display *display,
369 				const char *name, int *width, int *height);
370 #endif /* AQUA */
371 /* Slot 125 is reserved */
372 /* Slot 126 is reserved */
373 /* Slot 127 is reserved */
374 /* Slot 128 is reserved */
375 /* Slot 129 is reserved */
376 /* Slot 130 is reserved */
377 /* Slot 131 is reserved */
378 /* Slot 132 is reserved */
379 /* Slot 133 is reserved */
380 /* Slot 134 is reserved */
381 /* 135 */
382 EXTERN void		TkpDrawHighlightBorder(Tk_Window tkwin, GC fgGC,
383 				GC bgGC, int highlightWidth,
384 				Drawable drawable);
385 /* 136 */
386 EXTERN void		TkSetFocusWin(TkWindow *winPtr, int force);
387 /* 137 */
388 EXTERN void		TkpSetKeycodeAndState(Tk_Window tkwin, KeySym keySym,
389 				XEvent *eventPtr);
390 /* 138 */
391 EXTERN KeySym		TkpGetKeySym(TkDisplay *dispPtr, XEvent *eventPtr);
392 /* 139 */
393 EXTERN void		TkpInitKeymapInfo(TkDisplay *dispPtr);
394 /* 140 */
395 EXTERN Region		TkPhotoGetValidRegion(Tk_PhotoHandle handle);
396 /* 141 */
397 EXTERN TkWindow **	TkWmStackorderToplevel(TkWindow *parentPtr);
398 /* 142 */
399 EXTERN void		TkFocusFree(TkMainInfo *mainPtr);
400 /* 143 */
401 EXTERN void		TkClipCleanup(TkDisplay *dispPtr);
402 /* 144 */
403 EXTERN void		TkGCCleanup(TkDisplay *dispPtr);
404 /* 145 */
405 EXTERN int		XSubtractRegion(Region sra, Region srcb,
406 				Region dr_return);
407 /* 146 */
408 EXTERN void		TkStylePkgInit(TkMainInfo *mainPtr);
409 /* 147 */
410 EXTERN void		TkStylePkgFree(TkMainInfo *mainPtr);
411 /* 148 */
412 EXTERN Tk_Window	TkToplevelWindowForCommand(Tcl_Interp *interp,
413 				const char *cmdName);
414 /* 149 */
415 EXTERN const Tk_OptionSpec * TkGetOptionSpec(const char *name,
416 				Tk_OptionTable optionTable);
417 /* 150 */
418 EXTERN int		TkMakeRawCurve(Tk_Canvas canvas, double *pointPtr,
419 				int numPoints, int numSteps,
420 				XPoint xPoints[], double dblPoints[]);
421 /* 151 */
422 EXTERN void		TkMakeRawCurvePostscript(Tcl_Interp *interp,
423 				Tk_Canvas canvas, double *pointPtr,
424 				int numPoints);
425 /* 152 */
426 EXTERN void		TkpDrawFrame(Tk_Window tkwin, Tk_3DBorder border,
427 				int highlightWidth, int borderWidth,
428 				int relief);
429 /* 153 */
430 EXTERN void		TkCreateThreadExitHandler(Tcl_ExitProc *proc,
431 				ClientData clientData);
432 /* 154 */
433 EXTERN void		TkDeleteThreadExitHandler(Tcl_ExitProc *proc,
434 				ClientData clientData);
435 /* Slot 155 is reserved */
436 /* 156 */
437 EXTERN int		TkpTestembedCmd(ClientData clientData,
438 				Tcl_Interp *interp, int objc,
439 				Tcl_Obj *const objv[]);
440 /* 157 */
441 EXTERN int		TkpTesttextCmd(ClientData dummy, Tcl_Interp *interp,
442 				int objc, Tcl_Obj *const objv[]);
443 /* 158 */
444 EXTERN int		TkSelGetSelection(Tcl_Interp *interp,
445 				Tk_Window tkwin, Atom selection, Atom target,
446 				Tk_GetSelProc *proc, ClientData clientData);
447 /* 159 */
448 EXTERN int		TkTextGetIndex(Tcl_Interp *interp,
449 				struct TkText *textPtr, const char *string,
450 				struct TkTextIndex *indexPtr);
451 /* 160 */
452 EXTERN int		TkTextIndexBackBytes(const struct TkText *textPtr,
453 				const struct TkTextIndex *srcPtr, int count,
454 				struct TkTextIndex *dstPtr);
455 /* 161 */
456 EXTERN int		TkTextIndexForwBytes(const struct TkText *textPtr,
457 				const struct TkTextIndex *srcPtr, int count,
458 				struct TkTextIndex *dstPtr);
459 /* 162 */
460 EXTERN struct TkTextIndex * TkTextMakeByteIndex(TkTextBTree tree,
461 				const struct TkText *textPtr, int lineIndex,
462 				int byteIndex, struct TkTextIndex *indexPtr);
463 /* 163 */
464 EXTERN TkSizeT		TkTextPrintIndex(const struct TkText *textPtr,
465 				const struct TkTextIndex *indexPtr,
466 				char *string);
467 /* 164 */
468 EXTERN struct TkTextSegment * TkTextSetMark(struct TkText *textPtr,
469 				const char *name,
470 				struct TkTextIndex *indexPtr);
471 /* 165 */
472 EXTERN int		TkTextXviewCmd(struct TkText *textPtr,
473 				Tcl_Interp *interp, int objc,
474 				Tcl_Obj *const objv[]);
475 /* 166 */
476 EXTERN void		TkTextChanged(struct TkSharedText *sharedTextPtr,
477 				struct TkText *textPtr,
478 				const struct TkTextIndex *index1Ptr,
479 				const struct TkTextIndex *index2Ptr);
480 /* 167 */
481 EXTERN int		TkBTreeNumLines(TkTextBTree tree,
482 				const struct TkText *textPtr);
483 /* 168 */
484 EXTERN void		TkTextInsertDisplayProc(struct TkText *textPtr,
485 				struct TkTextDispChunk *chunkPtr, int x,
486 				int y, int height, int baseline,
487 				Display *display, Drawable dst, int screenY);
488 /* 169 */
489 EXTERN int		TkStateParseProc(ClientData clientData,
490 				Tcl_Interp *interp, Tk_Window tkwin,
491 				const char *value, char *widgRec,
492 				TkSizeT offset);
493 /* 170 */
494 EXTERN const char *	TkStatePrintProc(ClientData clientData,
495 				Tk_Window tkwin, char *widgRec,
496 				TkSizeT offset, Tcl_FreeProc **freeProcPtr);
497 /* 171 */
498 EXTERN int		TkCanvasDashParseProc(ClientData clientData,
499 				Tcl_Interp *interp, Tk_Window tkwin,
500 				const char *value, char *widgRec,
501 				TkSizeT offset);
502 /* 172 */
503 EXTERN const char *	TkCanvasDashPrintProc(ClientData clientData,
504 				Tk_Window tkwin, char *widgRec,
505 				TkSizeT offset, Tcl_FreeProc **freeProcPtr);
506 /* 173 */
507 EXTERN int		TkOffsetParseProc(ClientData clientData,
508 				Tcl_Interp *interp, Tk_Window tkwin,
509 				const char *value, char *widgRec,
510 				TkSizeT offset);
511 /* 174 */
512 EXTERN const char *	TkOffsetPrintProc(ClientData clientData,
513 				Tk_Window tkwin, char *widgRec,
514 				TkSizeT offset, Tcl_FreeProc **freeProcPtr);
515 /* 175 */
516 EXTERN int		TkPixelParseProc(ClientData clientData,
517 				Tcl_Interp *interp, Tk_Window tkwin,
518 				const char *value, char *widgRec,
519 				TkSizeT offset);
520 /* 176 */
521 EXTERN const char *	TkPixelPrintProc(ClientData clientData,
522 				Tk_Window tkwin, char *widgRec,
523 				TkSizeT offset, Tcl_FreeProc **freeProcPtr);
524 /* 177 */
525 EXTERN int		TkOrientParseProc(ClientData clientData,
526 				Tcl_Interp *interp, Tk_Window tkwin,
527 				const char *value, char *widgRec,
528 				TkSizeT offset);
529 /* 178 */
530 EXTERN const char *	TkOrientPrintProc(ClientData clientData,
531 				Tk_Window tkwin, char *widgRec,
532 				TkSizeT offset, Tcl_FreeProc **freeProcPtr);
533 /* 179 */
534 EXTERN int		TkSmoothParseProc(ClientData clientData,
535 				Tcl_Interp *interp, Tk_Window tkwin,
536 				const char *value, char *widgRec,
537 				TkSizeT offset);
538 /* 180 */
539 EXTERN const char *	TkSmoothPrintProc(ClientData clientData,
540 				Tk_Window tkwin, char *widgRec,
541 				TkSizeT offset, Tcl_FreeProc **freeProcPtr);
542 /* 181 */
543 EXTERN void		TkDrawAngledTextLayout(Display *display,
544 				Drawable drawable, GC gc,
545 				Tk_TextLayout layout, int x, int y,
546 				double angle, int firstChar, int lastChar);
547 /* 182 */
548 EXTERN void		TkUnderlineAngledTextLayout(Display *display,
549 				Drawable drawable, GC gc,
550 				Tk_TextLayout layout, int x, int y,
551 				double angle, int underline);
552 /* 183 */
553 EXTERN int		TkIntersectAngledTextLayout(Tk_TextLayout layout,
554 				int x, int y, int width, int height,
555 				double angle);
556 /* 184 */
557 EXTERN void		TkDrawAngledChars(Display *display,
558 				Drawable drawable, GC gc, Tk_Font tkfont,
559 				const char *source, int numBytes, double x,
560 				double y, double angle);
561 #ifdef MAC_OSX_TCL /* MACOSX */
562 /* 185 */
563 EXTERN void		TkpRedrawWidget(Tk_Window tkwin);
564 #endif /* MACOSX */
565 #ifdef MAC_OSX_TCL /* MACOSX */
566 /* 186 */
567 EXTERN int		TkpWillDrawWidget(Tk_Window tkwin);
568 #endif /* MACOSX */
569 /* 187 */
570 EXTERN int		TkDebugPhotoStringMatchDef(Tcl_Interp *inter,
571 				Tcl_Obj *data, Tcl_Obj *formatString,
572 				int *widthPtr, int *heightPtr);
573 
574 typedef struct TkIntStubs {
575     int magic;
576     void *hooks;
577 
578     TkWindow * (*tkAllocWindow) (TkDisplay *dispPtr, int screenNum, TkWindow *parentPtr); /* 0 */
579     void (*tkBezierPoints) (double control[], int numSteps, double *coordPtr); /* 1 */
580     void (*tkBezierScreenPoints) (Tk_Canvas canvas, double control[], int numSteps, XPoint *xPointPtr); /* 2 */
581     void (*reserved3)(void);
582     void (*tkBindEventProc) (TkWindow *winPtr, XEvent *eventPtr); /* 4 */
583     void (*tkBindFree) (TkMainInfo *mainPtr); /* 5 */
584     void (*tkBindInit) (TkMainInfo *mainPtr); /* 6 */
585     void (*tkChangeEventWindow) (XEvent *eventPtr, TkWindow *winPtr); /* 7 */
586     int (*tkClipInit) (Tcl_Interp *interp, TkDisplay *dispPtr); /* 8 */
587     void (*tkComputeAnchor) (Tk_Anchor anchor, Tk_Window tkwin, int padX, int padY, int innerWidth, int innerHeight, int *xPtr, int *yPtr); /* 9 */
588     void (*reserved10)(void);
589     void (*reserved11)(void);
590     TkCursor * (*tkCreateCursorFromData) (Tk_Window tkwin, const char *source, const char *mask, int width, int height, int xHot, int yHot, XColor fg, XColor bg); /* 12 */
591     int (*tkCreateFrame) (ClientData clientData, Tcl_Interp *interp, int argc, const char *const *argv, int toplevel, const char *appName); /* 13 */
592     Tk_Window (*tkCreateMainWindow) (Tcl_Interp *interp, const char *screenName, const char *baseName); /* 14 */
593     Time (*tkCurrentTime) (TkDisplay *dispPtr); /* 15 */
594     void (*tkDeleteAllImages) (TkMainInfo *mainPtr); /* 16 */
595     void (*tkDoConfigureNotify) (TkWindow *winPtr); /* 17 */
596     void (*tkDrawInsetFocusHighlight) (Tk_Window tkwin, GC gc, int width, Drawable drawable, int padding); /* 18 */
597     void (*tkEventDeadWindow) (TkWindow *winPtr); /* 19 */
598     void (*tkFillPolygon) (Tk_Canvas canvas, double *coordPtr, int numPoints, Display *display, Drawable drawable, GC gc, GC outlineGC); /* 20 */
599     int (*tkFindStateNum) (Tcl_Interp *interp, const char *option, const TkStateMap *mapPtr, const char *strKey); /* 21 */
600     const char * (*tkFindStateString) (const TkStateMap *mapPtr, int numKey); /* 22 */
601     void (*tkFocusDeadWindow) (TkWindow *winPtr); /* 23 */
602     int (*tkFocusFilterEvent) (TkWindow *winPtr, XEvent *eventPtr); /* 24 */
603     TkWindow * (*tkFocusKeyEvent) (TkWindow *winPtr, XEvent *eventPtr); /* 25 */
604     void (*tkFontPkgInit) (TkMainInfo *mainPtr); /* 26 */
605     void (*tkFontPkgFree) (TkMainInfo *mainPtr); /* 27 */
606     void (*tkFreeBindingTags) (TkWindow *winPtr); /* 28 */
607     void (*tkpFreeCursor) (TkCursor *cursorPtr); /* 29 */
608     char * (*tkGetBitmapData) (Tcl_Interp *interp, const char *string, const char *fileName, int *widthPtr, int *heightPtr, int *hotXPtr, int *hotYPtr); /* 30 */
609     void (*tkGetButtPoints) (double p1[], double p2[], double width, int project, double m1[], double m2[]); /* 31 */
610     TkCursor * (*tkGetCursorByName) (Tcl_Interp *interp, Tk_Window tkwin, Tk_Uid string); /* 32 */
611     const char * (*tkGetDefaultScreenName) (Tcl_Interp *interp, const char *screenName); /* 33 */
612     TkDisplay * (*tkGetDisplay) (Display *display); /* 34 */
613     int (*tkGetDisplayOf) (Tcl_Interp *interp, int objc, Tcl_Obj *const objv[], Tk_Window *tkwinPtr); /* 35 */
614     TkWindow * (*tkGetFocusWin) (TkWindow *winPtr); /* 36 */
615     int (*tkGetInterpNames) (Tcl_Interp *interp, Tk_Window tkwin); /* 37 */
616     int (*tkGetMiterPoints) (double p1[], double p2[], double p3[], double width, double m1[], double m2[]); /* 38 */
617     void (*tkGetPointerCoords) (Tk_Window tkwin, int *xPtr, int *yPtr); /* 39 */
618     void (*tkGetServerInfo) (Tcl_Interp *interp, Tk_Window tkwin); /* 40 */
619     void (*tkGrabDeadWindow) (TkWindow *winPtr); /* 41 */
620     int (*tkGrabState) (TkWindow *winPtr); /* 42 */
621     void (*tkIncludePoint) (Tk_Item *itemPtr, double *pointPtr); /* 43 */
622     void (*tkInOutEvents) (XEvent *eventPtr, TkWindow *sourcePtr, TkWindow *destPtr, int leaveType, int enterType, Tcl_QueuePosition position); /* 44 */
623     void (*tkInstallFrameMenu) (Tk_Window tkwin); /* 45 */
624     const char * (*tkKeysymToString) (KeySym keysym); /* 46 */
625     int (*tkLineToArea) (double end1Ptr[], double end2Ptr[], double rectPtr[]); /* 47 */
626     double (*tkLineToPoint) (double end1Ptr[], double end2Ptr[], double pointPtr[]); /* 48 */
627     int (*tkMakeBezierCurve) (Tk_Canvas canvas, double *pointPtr, int numPoints, int numSteps, XPoint xPoints[], double dblPoints[]); /* 49 */
628     void (*tkMakeBezierPostscript) (Tcl_Interp *interp, Tk_Canvas canvas, double *pointPtr, int numPoints); /* 50 */
629     void (*tkOptionClassChanged) (TkWindow *winPtr); /* 51 */
630     void (*tkOptionDeadWindow) (TkWindow *winPtr); /* 52 */
631     int (*tkOvalToArea) (double *ovalPtr, double *rectPtr); /* 53 */
632     double (*tkOvalToPoint) (double ovalPtr[], double width, int filled, double pointPtr[]); /* 54 */
633     int (*tkpChangeFocus) (TkWindow *winPtr, int force); /* 55 */
634     void (*tkpCloseDisplay) (TkDisplay *dispPtr); /* 56 */
635     void (*tkpClaimFocus) (TkWindow *topLevelPtr, int force); /* 57 */
636     void (*tkpDisplayWarning) (const char *msg, const char *title); /* 58 */
637     void (*tkpGetAppName) (Tcl_Interp *interp, Tcl_DString *name); /* 59 */
638     TkWindow * (*tkpGetOtherWindow) (TkWindow *winPtr); /* 60 */
639     TkWindow * (*tkpGetWrapperWindow) (TkWindow *winPtr); /* 61 */
640     int (*tkpInit) (Tcl_Interp *interp); /* 62 */
641     void (*tkpInitializeMenuBindings) (Tcl_Interp *interp, Tk_BindingTable bindingTable); /* 63 */
642     void (*tkpMakeContainer) (Tk_Window tkwin); /* 64 */
643     void (*tkpMakeMenuWindow) (Tk_Window tkwin, int transient); /* 65 */
644     Window (*tkpMakeWindow) (TkWindow *winPtr, Window parent); /* 66 */
645     void (*tkpMenuNotifyToplevelCreate) (Tcl_Interp *interp, const char *menuName); /* 67 */
646     TkDisplay * (*tkpOpenDisplay) (const char *display_name); /* 68 */
647     int (*tkPointerEvent) (XEvent *eventPtr, TkWindow *winPtr); /* 69 */
648     int (*tkPolygonToArea) (double *polyPtr, int numPoints, double *rectPtr); /* 70 */
649     double (*tkPolygonToPoint) (double *polyPtr, int numPoints, double *pointPtr); /* 71 */
650     int (*tkPositionInTree) (TkWindow *winPtr, TkWindow *treePtr); /* 72 */
651     void (*tkpRedirectKeyEvent) (TkWindow *winPtr, XEvent *eventPtr); /* 73 */
652     void (*tkpSetMainMenubar) (Tcl_Interp *interp, Tk_Window tkwin, const char *menuName); /* 74 */
653     int (*tkpUseWindow) (Tcl_Interp *interp, Tk_Window tkwin, const char *string); /* 75 */
654     void (*reserved76)(void);
655     void (*tkQueueEventForAllChildren) (TkWindow *winPtr, XEvent *eventPtr); /* 77 */
656     int (*tkReadBitmapFile) (Display *display, Drawable d, const char *filename, unsigned int *width_return, unsigned int *height_return, Pixmap *bitmap_return, int *x_hot_return, int *y_hot_return); /* 78 */
657     int (*tkScrollWindow) (Tk_Window tkwin, GC gc, int x, int y, int width, int height, int dx, int dy, Region damageRgn); /* 79 */
658     void (*tkSelDeadWindow) (TkWindow *winPtr); /* 80 */
659     void (*tkSelEventProc) (Tk_Window tkwin, XEvent *eventPtr); /* 81 */
660     void (*tkSelInit) (Tk_Window tkwin); /* 82 */
661     void (*tkSelPropProc) (XEvent *eventPtr); /* 83 */
662     void (*reserved84)(void);
663     void (*tkSetWindowMenuBar) (Tcl_Interp *interp, Tk_Window tkwin, const char *oldMenuName, const char *menuName); /* 85 */
664     KeySym (*tkStringToKeysym) (const char *name); /* 86 */
665     int (*tkThickPolyLineToArea) (double *coordPtr, int numPoints, double width, int capStyle, int joinStyle, double *rectPtr); /* 87 */
666     void (*tkWmAddToColormapWindows) (TkWindow *winPtr); /* 88 */
667     void (*tkWmDeadWindow) (TkWindow *winPtr); /* 89 */
668     TkWindow * (*tkWmFocusToplevel) (TkWindow *winPtr); /* 90 */
669     void (*tkWmMapWindow) (TkWindow *winPtr); /* 91 */
670     void (*tkWmNewWindow) (TkWindow *winPtr); /* 92 */
671     void (*tkWmProtocolEventProc) (TkWindow *winPtr, XEvent *evenvPtr); /* 93 */
672     void (*tkWmRemoveFromColormapWindows) (TkWindow *winPtr); /* 94 */
673     void (*tkWmRestackToplevel) (TkWindow *winPtr, int aboveBelow, TkWindow *otherPtr); /* 95 */
674     void (*tkWmSetClass) (TkWindow *winPtr); /* 96 */
675     void (*tkWmUnmapWindow) (TkWindow *winPtr); /* 97 */
676     Tcl_Obj * (*tkDebugBitmap) (Tk_Window tkwin, const char *name); /* 98 */
677     Tcl_Obj * (*tkDebugBorder) (Tk_Window tkwin, const char *name); /* 99 */
678     Tcl_Obj * (*tkDebugCursor) (Tk_Window tkwin, const char *name); /* 100 */
679     Tcl_Obj * (*tkDebugColor) (Tk_Window tkwin, const char *name); /* 101 */
680     Tcl_Obj * (*tkDebugConfig) (Tcl_Interp *interp, Tk_OptionTable table); /* 102 */
681     Tcl_Obj * (*tkDebugFont) (Tk_Window tkwin, const char *name); /* 103 */
682     int (*tkFindStateNumObj) (Tcl_Interp *interp, Tcl_Obj *optionPtr, const TkStateMap *mapPtr, Tcl_Obj *keyPtr); /* 104 */
683     Tcl_HashTable * (*tkGetBitmapPredefTable) (void); /* 105 */
684     TkDisplay * (*tkGetDisplayList) (void); /* 106 */
685     TkMainInfo * (*tkGetMainInfoList) (void); /* 107 */
686     int (*tkGetWindowFromObj) (Tcl_Interp *interp, Tk_Window tkwin, Tcl_Obj *objPtr, Tk_Window *windowPtr); /* 108 */
687     const char * (*tkpGetString) (TkWindow *winPtr, XEvent *eventPtr, Tcl_DString *dsPtr); /* 109 */
688     void (*tkpGetSubFonts) (Tcl_Interp *interp, Tk_Font tkfont); /* 110 */
689     Tcl_Obj * (*tkpGetSystemDefault) (Tk_Window tkwin, const char *dbName, const char *className); /* 111 */
690     void (*tkpMenuThreadInit) (void); /* 112 */
691     int (*xClipBox) (Region rgn, XRectangle *rect_return); /* 113 */
692     Region (*xCreateRegion) (void); /* 114 */
693     int (*xDestroyRegion) (Region rgn); /* 115 */
694     int (*xIntersectRegion) (Region sra, Region srcb, Region dr_return); /* 116 */
695     int (*xRectInRegion) (Region rgn, int x, int y, unsigned int width, unsigned int height); /* 117 */
696     int (*xSetRegion) (Display *display, GC gc, Region rgn); /* 118 */
697     int (*xUnionRectWithRegion) (XRectangle *rect, Region src, Region dr_return); /* 119 */
698     void (*reserved120)(void);
699 #if !(defined(_WIN32) || defined(MAC_OSX_TK)) /* X11 */
700     void (*reserved121)(void);
701 #endif /* X11 */
702 #if defined(_WIN32) /* WIN */
703     void (*reserved121)(void);
704 #endif /* WIN */
705 #ifdef MAC_OSX_TK /* AQUA */
706     void (*reserved121)(void); /* Dummy entry for stubs table backwards compatibility */
707     Pixmap (*tkpCreateNativeBitmap) (Display *display, const void *source); /* 121 */
708 #endif /* AQUA */
709 #if !(defined(_WIN32) || defined(MAC_OSX_TK)) /* X11 */
710     void (*reserved122)(void);
711 #endif /* X11 */
712 #if defined(_WIN32) /* WIN */
713     void (*reserved122)(void);
714 #endif /* WIN */
715 #ifdef MAC_OSX_TK /* AQUA */
716     void (*reserved122)(void); /* Dummy entry for stubs table backwards compatibility */
717     void (*tkpDefineNativeBitmaps) (void); /* 122 */
718 #endif /* AQUA */
719     void (*reserved123)(void);
720 #if !(defined(_WIN32) || defined(MAC_OSX_TK)) /* X11 */
721     void (*reserved124)(void);
722 #endif /* X11 */
723 #if defined(_WIN32) /* WIN */
724     void (*reserved124)(void);
725 #endif /* WIN */
726 #ifdef MAC_OSX_TK /* AQUA */
727     void (*reserved124)(void); /* Dummy entry for stubs table backwards compatibility */
728     Pixmap (*tkpGetNativeAppBitmap) (Display *display, const char *name, int *width, int *height); /* 124 */
729 #endif /* AQUA */
730     void (*reserved125)(void);
731     void (*reserved126)(void);
732     void (*reserved127)(void);
733     void (*reserved128)(void);
734     void (*reserved129)(void);
735     void (*reserved130)(void);
736     void (*reserved131)(void);
737     void (*reserved132)(void);
738     void (*reserved133)(void);
739     void (*reserved134)(void);
740     void (*tkpDrawHighlightBorder) (Tk_Window tkwin, GC fgGC, GC bgGC, int highlightWidth, Drawable drawable); /* 135 */
741     void (*tkSetFocusWin) (TkWindow *winPtr, int force); /* 136 */
742     void (*tkpSetKeycodeAndState) (Tk_Window tkwin, KeySym keySym, XEvent *eventPtr); /* 137 */
743     KeySym (*tkpGetKeySym) (TkDisplay *dispPtr, XEvent *eventPtr); /* 138 */
744     void (*tkpInitKeymapInfo) (TkDisplay *dispPtr); /* 139 */
745     Region (*tkPhotoGetValidRegion) (Tk_PhotoHandle handle); /* 140 */
746     TkWindow ** (*tkWmStackorderToplevel) (TkWindow *parentPtr); /* 141 */
747     void (*tkFocusFree) (TkMainInfo *mainPtr); /* 142 */
748     void (*tkClipCleanup) (TkDisplay *dispPtr); /* 143 */
749     void (*tkGCCleanup) (TkDisplay *dispPtr); /* 144 */
750     int (*xSubtractRegion) (Region sra, Region srcb, Region dr_return); /* 145 */
751     void (*tkStylePkgInit) (TkMainInfo *mainPtr); /* 146 */
752     void (*tkStylePkgFree) (TkMainInfo *mainPtr); /* 147 */
753     Tk_Window (*tkToplevelWindowForCommand) (Tcl_Interp *interp, const char *cmdName); /* 148 */
754     const Tk_OptionSpec * (*tkGetOptionSpec) (const char *name, Tk_OptionTable optionTable); /* 149 */
755     int (*tkMakeRawCurve) (Tk_Canvas canvas, double *pointPtr, int numPoints, int numSteps, XPoint xPoints[], double dblPoints[]); /* 150 */
756     void (*tkMakeRawCurvePostscript) (Tcl_Interp *interp, Tk_Canvas canvas, double *pointPtr, int numPoints); /* 151 */
757     void (*tkpDrawFrame) (Tk_Window tkwin, Tk_3DBorder border, int highlightWidth, int borderWidth, int relief); /* 152 */
758     void (*tkCreateThreadExitHandler) (Tcl_ExitProc *proc, ClientData clientData); /* 153 */
759     void (*tkDeleteThreadExitHandler) (Tcl_ExitProc *proc, ClientData clientData); /* 154 */
760     void (*reserved155)(void);
761     int (*tkpTestembedCmd) (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 156 */
762     int (*tkpTesttextCmd) (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 157 */
763     int (*tkSelGetSelection) (Tcl_Interp *interp, Tk_Window tkwin, Atom selection, Atom target, Tk_GetSelProc *proc, ClientData clientData); /* 158 */
764     int (*tkTextGetIndex) (Tcl_Interp *interp, struct TkText *textPtr, const char *string, struct TkTextIndex *indexPtr); /* 159 */
765     int (*tkTextIndexBackBytes) (const struct TkText *textPtr, const struct TkTextIndex *srcPtr, int count, struct TkTextIndex *dstPtr); /* 160 */
766     int (*tkTextIndexForwBytes) (const struct TkText *textPtr, const struct TkTextIndex *srcPtr, int count, struct TkTextIndex *dstPtr); /* 161 */
767     struct TkTextIndex * (*tkTextMakeByteIndex) (TkTextBTree tree, const struct TkText *textPtr, int lineIndex, int byteIndex, struct TkTextIndex *indexPtr); /* 162 */
768     TkSizeT (*tkTextPrintIndex) (const struct TkText *textPtr, const struct TkTextIndex *indexPtr, char *string); /* 163 */
769     struct TkTextSegment * (*tkTextSetMark) (struct TkText *textPtr, const char *name, struct TkTextIndex *indexPtr); /* 164 */
770     int (*tkTextXviewCmd) (struct TkText *textPtr, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 165 */
771     void (*tkTextChanged) (struct TkSharedText *sharedTextPtr, struct TkText *textPtr, const struct TkTextIndex *index1Ptr, const struct TkTextIndex *index2Ptr); /* 166 */
772     int (*tkBTreeNumLines) (TkTextBTree tree, const struct TkText *textPtr); /* 167 */
773     void (*tkTextInsertDisplayProc) (struct TkText *textPtr, struct TkTextDispChunk *chunkPtr, int x, int y, int height, int baseline, Display *display, Drawable dst, int screenY); /* 168 */
774     int (*tkStateParseProc) (ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, const char *value, char *widgRec, TkSizeT offset); /* 169 */
775     const char * (*tkStatePrintProc) (ClientData clientData, Tk_Window tkwin, char *widgRec, TkSizeT offset, Tcl_FreeProc **freeProcPtr); /* 170 */
776     int (*tkCanvasDashParseProc) (ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, const char *value, char *widgRec, TkSizeT offset); /* 171 */
777     const char * (*tkCanvasDashPrintProc) (ClientData clientData, Tk_Window tkwin, char *widgRec, TkSizeT offset, Tcl_FreeProc **freeProcPtr); /* 172 */
778     int (*tkOffsetParseProc) (ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, const char *value, char *widgRec, TkSizeT offset); /* 173 */
779     const char * (*tkOffsetPrintProc) (ClientData clientData, Tk_Window tkwin, char *widgRec, TkSizeT offset, Tcl_FreeProc **freeProcPtr); /* 174 */
780     int (*tkPixelParseProc) (ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, const char *value, char *widgRec, TkSizeT offset); /* 175 */
781     const char * (*tkPixelPrintProc) (ClientData clientData, Tk_Window tkwin, char *widgRec, TkSizeT offset, Tcl_FreeProc **freeProcPtr); /* 176 */
782     int (*tkOrientParseProc) (ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, const char *value, char *widgRec, TkSizeT offset); /* 177 */
783     const char * (*tkOrientPrintProc) (ClientData clientData, Tk_Window tkwin, char *widgRec, TkSizeT offset, Tcl_FreeProc **freeProcPtr); /* 178 */
784     int (*tkSmoothParseProc) (ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, const char *value, char *widgRec, TkSizeT offset); /* 179 */
785     const char * (*tkSmoothPrintProc) (ClientData clientData, Tk_Window tkwin, char *widgRec, TkSizeT offset, Tcl_FreeProc **freeProcPtr); /* 180 */
786     void (*tkDrawAngledTextLayout) (Display *display, Drawable drawable, GC gc, Tk_TextLayout layout, int x, int y, double angle, int firstChar, int lastChar); /* 181 */
787     void (*tkUnderlineAngledTextLayout) (Display *display, Drawable drawable, GC gc, Tk_TextLayout layout, int x, int y, double angle, int underline); /* 182 */
788     int (*tkIntersectAngledTextLayout) (Tk_TextLayout layout, int x, int y, int width, int height, double angle); /* 183 */
789     void (*tkDrawAngledChars) (Display *display, Drawable drawable, GC gc, Tk_Font tkfont, const char *source, int numBytes, double x, double y, double angle); /* 184 */
790 #if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
791     void (*reserved185)(void);
792 #endif /* UNIX */
793 #if defined(_WIN32) /* WIN */
794     void (*reserved185)(void);
795 #endif /* WIN */
796 #ifdef MAC_OSX_TCL /* MACOSX */
797     void (*tkpRedrawWidget) (Tk_Window tkwin); /* 185 */
798 #endif /* MACOSX */
799 #if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
800     void (*reserved186)(void);
801 #endif /* UNIX */
802 #if defined(_WIN32) /* WIN */
803     void (*reserved186)(void);
804 #endif /* WIN */
805 #ifdef MAC_OSX_TCL /* MACOSX */
806     int (*tkpWillDrawWidget) (Tk_Window tkwin); /* 186 */
807 #endif /* MACOSX */
808     int (*tkDebugPhotoStringMatchDef) (Tcl_Interp *inter, Tcl_Obj *data, Tcl_Obj *formatString, int *widthPtr, int *heightPtr); /* 187 */
809 } TkIntStubs;
810 
811 extern const TkIntStubs *tkIntStubsPtr;
812 
813 #ifdef __cplusplus
814 }
815 #endif
816 
817 #if defined(USE_TK_STUBS)
818 
819 /*
820  * Inline function declarations:
821  */
822 
823 #define TkAllocWindow \
824 	(tkIntStubsPtr->tkAllocWindow) /* 0 */
825 #define TkBezierPoints \
826 	(tkIntStubsPtr->tkBezierPoints) /* 1 */
827 #define TkBezierScreenPoints \
828 	(tkIntStubsPtr->tkBezierScreenPoints) /* 2 */
829 /* Slot 3 is reserved */
830 #define TkBindEventProc \
831 	(tkIntStubsPtr->tkBindEventProc) /* 4 */
832 #define TkBindFree \
833 	(tkIntStubsPtr->tkBindFree) /* 5 */
834 #define TkBindInit \
835 	(tkIntStubsPtr->tkBindInit) /* 6 */
836 #define TkChangeEventWindow \
837 	(tkIntStubsPtr->tkChangeEventWindow) /* 7 */
838 #define TkClipInit \
839 	(tkIntStubsPtr->tkClipInit) /* 8 */
840 #define TkComputeAnchor \
841 	(tkIntStubsPtr->tkComputeAnchor) /* 9 */
842 /* Slot 10 is reserved */
843 /* Slot 11 is reserved */
844 #define TkCreateCursorFromData \
845 	(tkIntStubsPtr->tkCreateCursorFromData) /* 12 */
846 #define TkCreateFrame \
847 	(tkIntStubsPtr->tkCreateFrame) /* 13 */
848 #define TkCreateMainWindow \
849 	(tkIntStubsPtr->tkCreateMainWindow) /* 14 */
850 #define TkCurrentTime \
851 	(tkIntStubsPtr->tkCurrentTime) /* 15 */
852 #define TkDeleteAllImages \
853 	(tkIntStubsPtr->tkDeleteAllImages) /* 16 */
854 #define TkDoConfigureNotify \
855 	(tkIntStubsPtr->tkDoConfigureNotify) /* 17 */
856 #define TkDrawInsetFocusHighlight \
857 	(tkIntStubsPtr->tkDrawInsetFocusHighlight) /* 18 */
858 #define TkEventDeadWindow \
859 	(tkIntStubsPtr->tkEventDeadWindow) /* 19 */
860 #define TkFillPolygon \
861 	(tkIntStubsPtr->tkFillPolygon) /* 20 */
862 #define TkFindStateNum \
863 	(tkIntStubsPtr->tkFindStateNum) /* 21 */
864 #define TkFindStateString \
865 	(tkIntStubsPtr->tkFindStateString) /* 22 */
866 #define TkFocusDeadWindow \
867 	(tkIntStubsPtr->tkFocusDeadWindow) /* 23 */
868 #define TkFocusFilterEvent \
869 	(tkIntStubsPtr->tkFocusFilterEvent) /* 24 */
870 #define TkFocusKeyEvent \
871 	(tkIntStubsPtr->tkFocusKeyEvent) /* 25 */
872 #define TkFontPkgInit \
873 	(tkIntStubsPtr->tkFontPkgInit) /* 26 */
874 #define TkFontPkgFree \
875 	(tkIntStubsPtr->tkFontPkgFree) /* 27 */
876 #define TkFreeBindingTags \
877 	(tkIntStubsPtr->tkFreeBindingTags) /* 28 */
878 #define TkpFreeCursor \
879 	(tkIntStubsPtr->tkpFreeCursor) /* 29 */
880 #define TkGetBitmapData \
881 	(tkIntStubsPtr->tkGetBitmapData) /* 30 */
882 #define TkGetButtPoints \
883 	(tkIntStubsPtr->tkGetButtPoints) /* 31 */
884 #define TkGetCursorByName \
885 	(tkIntStubsPtr->tkGetCursorByName) /* 32 */
886 #define TkGetDefaultScreenName \
887 	(tkIntStubsPtr->tkGetDefaultScreenName) /* 33 */
888 #define TkGetDisplay \
889 	(tkIntStubsPtr->tkGetDisplay) /* 34 */
890 #define TkGetDisplayOf \
891 	(tkIntStubsPtr->tkGetDisplayOf) /* 35 */
892 #define TkGetFocusWin \
893 	(tkIntStubsPtr->tkGetFocusWin) /* 36 */
894 #define TkGetInterpNames \
895 	(tkIntStubsPtr->tkGetInterpNames) /* 37 */
896 #define TkGetMiterPoints \
897 	(tkIntStubsPtr->tkGetMiterPoints) /* 38 */
898 #define TkGetPointerCoords \
899 	(tkIntStubsPtr->tkGetPointerCoords) /* 39 */
900 #define TkGetServerInfo \
901 	(tkIntStubsPtr->tkGetServerInfo) /* 40 */
902 #define TkGrabDeadWindow \
903 	(tkIntStubsPtr->tkGrabDeadWindow) /* 41 */
904 #define TkGrabState \
905 	(tkIntStubsPtr->tkGrabState) /* 42 */
906 #define TkIncludePoint \
907 	(tkIntStubsPtr->tkIncludePoint) /* 43 */
908 #define TkInOutEvents \
909 	(tkIntStubsPtr->tkInOutEvents) /* 44 */
910 #define TkInstallFrameMenu \
911 	(tkIntStubsPtr->tkInstallFrameMenu) /* 45 */
912 #define TkKeysymToString \
913 	(tkIntStubsPtr->tkKeysymToString) /* 46 */
914 #define TkLineToArea \
915 	(tkIntStubsPtr->tkLineToArea) /* 47 */
916 #define TkLineToPoint \
917 	(tkIntStubsPtr->tkLineToPoint) /* 48 */
918 #define TkMakeBezierCurve \
919 	(tkIntStubsPtr->tkMakeBezierCurve) /* 49 */
920 #define TkMakeBezierPostscript \
921 	(tkIntStubsPtr->tkMakeBezierPostscript) /* 50 */
922 #define TkOptionClassChanged \
923 	(tkIntStubsPtr->tkOptionClassChanged) /* 51 */
924 #define TkOptionDeadWindow \
925 	(tkIntStubsPtr->tkOptionDeadWindow) /* 52 */
926 #define TkOvalToArea \
927 	(tkIntStubsPtr->tkOvalToArea) /* 53 */
928 #define TkOvalToPoint \
929 	(tkIntStubsPtr->tkOvalToPoint) /* 54 */
930 #define TkpChangeFocus \
931 	(tkIntStubsPtr->tkpChangeFocus) /* 55 */
932 #define TkpCloseDisplay \
933 	(tkIntStubsPtr->tkpCloseDisplay) /* 56 */
934 #define TkpClaimFocus \
935 	(tkIntStubsPtr->tkpClaimFocus) /* 57 */
936 #define TkpDisplayWarning \
937 	(tkIntStubsPtr->tkpDisplayWarning) /* 58 */
938 #define TkpGetAppName \
939 	(tkIntStubsPtr->tkpGetAppName) /* 59 */
940 #define TkpGetOtherWindow \
941 	(tkIntStubsPtr->tkpGetOtherWindow) /* 60 */
942 #define TkpGetWrapperWindow \
943 	(tkIntStubsPtr->tkpGetWrapperWindow) /* 61 */
944 #define TkpInit \
945 	(tkIntStubsPtr->tkpInit) /* 62 */
946 #define TkpInitializeMenuBindings \
947 	(tkIntStubsPtr->tkpInitializeMenuBindings) /* 63 */
948 #define TkpMakeContainer \
949 	(tkIntStubsPtr->tkpMakeContainer) /* 64 */
950 #define TkpMakeMenuWindow \
951 	(tkIntStubsPtr->tkpMakeMenuWindow) /* 65 */
952 #define TkpMakeWindow \
953 	(tkIntStubsPtr->tkpMakeWindow) /* 66 */
954 #define TkpMenuNotifyToplevelCreate \
955 	(tkIntStubsPtr->tkpMenuNotifyToplevelCreate) /* 67 */
956 #define TkpOpenDisplay \
957 	(tkIntStubsPtr->tkpOpenDisplay) /* 68 */
958 #define TkPointerEvent \
959 	(tkIntStubsPtr->tkPointerEvent) /* 69 */
960 #define TkPolygonToArea \
961 	(tkIntStubsPtr->tkPolygonToArea) /* 70 */
962 #define TkPolygonToPoint \
963 	(tkIntStubsPtr->tkPolygonToPoint) /* 71 */
964 #define TkPositionInTree \
965 	(tkIntStubsPtr->tkPositionInTree) /* 72 */
966 #define TkpRedirectKeyEvent \
967 	(tkIntStubsPtr->tkpRedirectKeyEvent) /* 73 */
968 #define TkpSetMainMenubar \
969 	(tkIntStubsPtr->tkpSetMainMenubar) /* 74 */
970 #define TkpUseWindow \
971 	(tkIntStubsPtr->tkpUseWindow) /* 75 */
972 /* Slot 76 is reserved */
973 #define TkQueueEventForAllChildren \
974 	(tkIntStubsPtr->tkQueueEventForAllChildren) /* 77 */
975 #define TkReadBitmapFile \
976 	(tkIntStubsPtr->tkReadBitmapFile) /* 78 */
977 #define TkScrollWindow \
978 	(tkIntStubsPtr->tkScrollWindow) /* 79 */
979 #define TkSelDeadWindow \
980 	(tkIntStubsPtr->tkSelDeadWindow) /* 80 */
981 #define TkSelEventProc \
982 	(tkIntStubsPtr->tkSelEventProc) /* 81 */
983 #define TkSelInit \
984 	(tkIntStubsPtr->tkSelInit) /* 82 */
985 #define TkSelPropProc \
986 	(tkIntStubsPtr->tkSelPropProc) /* 83 */
987 /* Slot 84 is reserved */
988 #define TkSetWindowMenuBar \
989 	(tkIntStubsPtr->tkSetWindowMenuBar) /* 85 */
990 #define TkStringToKeysym \
991 	(tkIntStubsPtr->tkStringToKeysym) /* 86 */
992 #define TkThickPolyLineToArea \
993 	(tkIntStubsPtr->tkThickPolyLineToArea) /* 87 */
994 #define TkWmAddToColormapWindows \
995 	(tkIntStubsPtr->tkWmAddToColormapWindows) /* 88 */
996 #define TkWmDeadWindow \
997 	(tkIntStubsPtr->tkWmDeadWindow) /* 89 */
998 #define TkWmFocusToplevel \
999 	(tkIntStubsPtr->tkWmFocusToplevel) /* 90 */
1000 #define TkWmMapWindow \
1001 	(tkIntStubsPtr->tkWmMapWindow) /* 91 */
1002 #define TkWmNewWindow \
1003 	(tkIntStubsPtr->tkWmNewWindow) /* 92 */
1004 #define TkWmProtocolEventProc \
1005 	(tkIntStubsPtr->tkWmProtocolEventProc) /* 93 */
1006 #define TkWmRemoveFromColormapWindows \
1007 	(tkIntStubsPtr->tkWmRemoveFromColormapWindows) /* 94 */
1008 #define TkWmRestackToplevel \
1009 	(tkIntStubsPtr->tkWmRestackToplevel) /* 95 */
1010 #define TkWmSetClass \
1011 	(tkIntStubsPtr->tkWmSetClass) /* 96 */
1012 #define TkWmUnmapWindow \
1013 	(tkIntStubsPtr->tkWmUnmapWindow) /* 97 */
1014 #define TkDebugBitmap \
1015 	(tkIntStubsPtr->tkDebugBitmap) /* 98 */
1016 #define TkDebugBorder \
1017 	(tkIntStubsPtr->tkDebugBorder) /* 99 */
1018 #define TkDebugCursor \
1019 	(tkIntStubsPtr->tkDebugCursor) /* 100 */
1020 #define TkDebugColor \
1021 	(tkIntStubsPtr->tkDebugColor) /* 101 */
1022 #define TkDebugConfig \
1023 	(tkIntStubsPtr->tkDebugConfig) /* 102 */
1024 #define TkDebugFont \
1025 	(tkIntStubsPtr->tkDebugFont) /* 103 */
1026 #define TkFindStateNumObj \
1027 	(tkIntStubsPtr->tkFindStateNumObj) /* 104 */
1028 #define TkGetBitmapPredefTable \
1029 	(tkIntStubsPtr->tkGetBitmapPredefTable) /* 105 */
1030 #define TkGetDisplayList \
1031 	(tkIntStubsPtr->tkGetDisplayList) /* 106 */
1032 #define TkGetMainInfoList \
1033 	(tkIntStubsPtr->tkGetMainInfoList) /* 107 */
1034 #define TkGetWindowFromObj \
1035 	(tkIntStubsPtr->tkGetWindowFromObj) /* 108 */
1036 #define TkpGetString \
1037 	(tkIntStubsPtr->tkpGetString) /* 109 */
1038 #define TkpGetSubFonts \
1039 	(tkIntStubsPtr->tkpGetSubFonts) /* 110 */
1040 #define TkpGetSystemDefault \
1041 	(tkIntStubsPtr->tkpGetSystemDefault) /* 111 */
1042 #define TkpMenuThreadInit \
1043 	(tkIntStubsPtr->tkpMenuThreadInit) /* 112 */
1044 #define XClipBox \
1045 	(tkIntStubsPtr->xClipBox) /* 113 */
1046 #define XCreateRegion \
1047 	(tkIntStubsPtr->xCreateRegion) /* 114 */
1048 #define XDestroyRegion \
1049 	(tkIntStubsPtr->xDestroyRegion) /* 115 */
1050 #define XIntersectRegion \
1051 	(tkIntStubsPtr->xIntersectRegion) /* 116 */
1052 #define XRectInRegion \
1053 	(tkIntStubsPtr->xRectInRegion) /* 117 */
1054 #define XSetRegion \
1055 	(tkIntStubsPtr->xSetRegion) /* 118 */
1056 #define XUnionRectWithRegion \
1057 	(tkIntStubsPtr->xUnionRectWithRegion) /* 119 */
1058 /* Slot 120 is reserved */
1059 #ifdef MAC_OSX_TK /* AQUA */
1060 #define TkpCreateNativeBitmap \
1061 	(tkIntStubsPtr->tkpCreateNativeBitmap) /* 121 */
1062 #endif /* AQUA */
1063 #ifdef MAC_OSX_TK /* AQUA */
1064 #define TkpDefineNativeBitmaps \
1065 	(tkIntStubsPtr->tkpDefineNativeBitmaps) /* 122 */
1066 #endif /* AQUA */
1067 /* Slot 123 is reserved */
1068 #ifdef MAC_OSX_TK /* AQUA */
1069 #define TkpGetNativeAppBitmap \
1070 	(tkIntStubsPtr->tkpGetNativeAppBitmap) /* 124 */
1071 #endif /* AQUA */
1072 /* Slot 125 is reserved */
1073 /* Slot 126 is reserved */
1074 /* Slot 127 is reserved */
1075 /* Slot 128 is reserved */
1076 /* Slot 129 is reserved */
1077 /* Slot 130 is reserved */
1078 /* Slot 131 is reserved */
1079 /* Slot 132 is reserved */
1080 /* Slot 133 is reserved */
1081 /* Slot 134 is reserved */
1082 #define TkpDrawHighlightBorder \
1083 	(tkIntStubsPtr->tkpDrawHighlightBorder) /* 135 */
1084 #define TkSetFocusWin \
1085 	(tkIntStubsPtr->tkSetFocusWin) /* 136 */
1086 #define TkpSetKeycodeAndState \
1087 	(tkIntStubsPtr->tkpSetKeycodeAndState) /* 137 */
1088 #define TkpGetKeySym \
1089 	(tkIntStubsPtr->tkpGetKeySym) /* 138 */
1090 #define TkpInitKeymapInfo \
1091 	(tkIntStubsPtr->tkpInitKeymapInfo) /* 139 */
1092 #define TkPhotoGetValidRegion \
1093 	(tkIntStubsPtr->tkPhotoGetValidRegion) /* 140 */
1094 #define TkWmStackorderToplevel \
1095 	(tkIntStubsPtr->tkWmStackorderToplevel) /* 141 */
1096 #define TkFocusFree \
1097 	(tkIntStubsPtr->tkFocusFree) /* 142 */
1098 #define TkClipCleanup \
1099 	(tkIntStubsPtr->tkClipCleanup) /* 143 */
1100 #define TkGCCleanup \
1101 	(tkIntStubsPtr->tkGCCleanup) /* 144 */
1102 #define XSubtractRegion \
1103 	(tkIntStubsPtr->xSubtractRegion) /* 145 */
1104 #define TkStylePkgInit \
1105 	(tkIntStubsPtr->tkStylePkgInit) /* 146 */
1106 #define TkStylePkgFree \
1107 	(tkIntStubsPtr->tkStylePkgFree) /* 147 */
1108 #define TkToplevelWindowForCommand \
1109 	(tkIntStubsPtr->tkToplevelWindowForCommand) /* 148 */
1110 #define TkGetOptionSpec \
1111 	(tkIntStubsPtr->tkGetOptionSpec) /* 149 */
1112 #define TkMakeRawCurve \
1113 	(tkIntStubsPtr->tkMakeRawCurve) /* 150 */
1114 #define TkMakeRawCurvePostscript \
1115 	(tkIntStubsPtr->tkMakeRawCurvePostscript) /* 151 */
1116 #define TkpDrawFrame \
1117 	(tkIntStubsPtr->tkpDrawFrame) /* 152 */
1118 #define TkCreateThreadExitHandler \
1119 	(tkIntStubsPtr->tkCreateThreadExitHandler) /* 153 */
1120 #define TkDeleteThreadExitHandler \
1121 	(tkIntStubsPtr->tkDeleteThreadExitHandler) /* 154 */
1122 /* Slot 155 is reserved */
1123 #define TkpTestembedCmd \
1124 	(tkIntStubsPtr->tkpTestembedCmd) /* 156 */
1125 #define TkpTesttextCmd \
1126 	(tkIntStubsPtr->tkpTesttextCmd) /* 157 */
1127 #define TkSelGetSelection \
1128 	(tkIntStubsPtr->tkSelGetSelection) /* 158 */
1129 #define TkTextGetIndex \
1130 	(tkIntStubsPtr->tkTextGetIndex) /* 159 */
1131 #define TkTextIndexBackBytes \
1132 	(tkIntStubsPtr->tkTextIndexBackBytes) /* 160 */
1133 #define TkTextIndexForwBytes \
1134 	(tkIntStubsPtr->tkTextIndexForwBytes) /* 161 */
1135 #define TkTextMakeByteIndex \
1136 	(tkIntStubsPtr->tkTextMakeByteIndex) /* 162 */
1137 #define TkTextPrintIndex \
1138 	(tkIntStubsPtr->tkTextPrintIndex) /* 163 */
1139 #define TkTextSetMark \
1140 	(tkIntStubsPtr->tkTextSetMark) /* 164 */
1141 #define TkTextXviewCmd \
1142 	(tkIntStubsPtr->tkTextXviewCmd) /* 165 */
1143 #define TkTextChanged \
1144 	(tkIntStubsPtr->tkTextChanged) /* 166 */
1145 #define TkBTreeNumLines \
1146 	(tkIntStubsPtr->tkBTreeNumLines) /* 167 */
1147 #define TkTextInsertDisplayProc \
1148 	(tkIntStubsPtr->tkTextInsertDisplayProc) /* 168 */
1149 #define TkStateParseProc \
1150 	(tkIntStubsPtr->tkStateParseProc) /* 169 */
1151 #define TkStatePrintProc \
1152 	(tkIntStubsPtr->tkStatePrintProc) /* 170 */
1153 #define TkCanvasDashParseProc \
1154 	(tkIntStubsPtr->tkCanvasDashParseProc) /* 171 */
1155 #define TkCanvasDashPrintProc \
1156 	(tkIntStubsPtr->tkCanvasDashPrintProc) /* 172 */
1157 #define TkOffsetParseProc \
1158 	(tkIntStubsPtr->tkOffsetParseProc) /* 173 */
1159 #define TkOffsetPrintProc \
1160 	(tkIntStubsPtr->tkOffsetPrintProc) /* 174 */
1161 #define TkPixelParseProc \
1162 	(tkIntStubsPtr->tkPixelParseProc) /* 175 */
1163 #define TkPixelPrintProc \
1164 	(tkIntStubsPtr->tkPixelPrintProc) /* 176 */
1165 #define TkOrientParseProc \
1166 	(tkIntStubsPtr->tkOrientParseProc) /* 177 */
1167 #define TkOrientPrintProc \
1168 	(tkIntStubsPtr->tkOrientPrintProc) /* 178 */
1169 #define TkSmoothParseProc \
1170 	(tkIntStubsPtr->tkSmoothParseProc) /* 179 */
1171 #define TkSmoothPrintProc \
1172 	(tkIntStubsPtr->tkSmoothPrintProc) /* 180 */
1173 #define TkDrawAngledTextLayout \
1174 	(tkIntStubsPtr->tkDrawAngledTextLayout) /* 181 */
1175 #define TkUnderlineAngledTextLayout \
1176 	(tkIntStubsPtr->tkUnderlineAngledTextLayout) /* 182 */
1177 #define TkIntersectAngledTextLayout \
1178 	(tkIntStubsPtr->tkIntersectAngledTextLayout) /* 183 */
1179 #define TkDrawAngledChars \
1180 	(tkIntStubsPtr->tkDrawAngledChars) /* 184 */
1181 #ifdef MAC_OSX_TCL /* MACOSX */
1182 #define TkpRedrawWidget \
1183 	(tkIntStubsPtr->tkpRedrawWidget) /* 185 */
1184 #endif /* MACOSX */
1185 #ifdef MAC_OSX_TCL /* MACOSX */
1186 #define TkpWillDrawWidget \
1187 	(tkIntStubsPtr->tkpWillDrawWidget) /* 186 */
1188 #endif /* MACOSX */
1189 #define TkDebugPhotoStringMatchDef \
1190 	(tkIntStubsPtr->tkDebugPhotoStringMatchDef) /* 187 */
1191 
1192 #endif /* defined(USE_TK_STUBS) */
1193 
1194 /* !END!: Do not edit above this line. */
1195 
1196 #undef TCL_STORAGE_CLASS
1197 #define TCL_STORAGE_CLASS DLLIMPORT
1198 
1199 #undef TkpCmapStressed_
1200 #undef TkpSync_
1201 #undef TkUnixContainerId_
1202 #undef TkUnixDoOneXEvent_
1203 #undef TkUnixSetMenubar_
1204 #undef TkWmCleanup_
1205 #undef TkSendCleanup_
1206 #undef TkpTestsendCmd_
1207 
1208 #if !defined(MAC_OSX_TK)
1209 #   undef TkpWillDrawWidget
1210 #   undef TkpRedrawWidget
1211 #   define TkpWillDrawWidget(w) 0
1212 #   define TkpRedrawWidget(w)
1213 #endif
1214 
1215 #endif /* _TKINTDECLS */
1216