1# tk.decls --
2#
3#	This file contains the declarations for all supported public
4#	functions that are exported by the Tk library via the stubs table.
5#	This file is used to generate the tkDecls.h, tkPlatDecls.h,
6#	tkStub.c, and tkPlatStub.c files.
7#
8# Copyright © 1998-2000 Ajuba Solutions.
9# Copyright © 2007 Daniel A. Steffen <das@users.sourceforge.net>
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
14library tk
15
16# Define the tk interface with 3 sub interfaces:
17#     tkPlat	 - platform specific public
18#     tkInt	 - generic private
19#     tkPlatInt - platform specific private
20
21interface tk
22hooks {tkPlat tkInt tkIntPlat tkIntXlib}
23scspec EXTERN
24
25# Declare each of the functions in the public Tk interface.  Note that
26# the an index should never be reused for a different function in order
27# to preserve backwards compatibility.
28
29declare 0 {
30    void Tk_MainLoop(void)
31}
32declare 1 {
33    XColor *Tk_3DBorderColor(Tk_3DBorder border)
34}
35declare 2 {
36    GC Tk_3DBorderGC(Tk_Window tkwin, Tk_3DBorder border,
37	    int which)
38}
39declare 3 {
40    void Tk_3DHorizontalBevel(Tk_Window tkwin,
41	    Drawable drawable, Tk_3DBorder border, int x,
42	    int y, int width, int height, int leftIn,
43	    int rightIn, int topBevel, int relief)
44}
45declare 4 {
46    void Tk_3DVerticalBevel(Tk_Window tkwin,
47	    Drawable drawable, Tk_3DBorder border, int x,
48	    int y, int width, int height, int leftBevel,
49	    int relief)
50}
51declare 5 {
52    void Tk_AddOption(Tk_Window tkwin, const char *name,
53	    const char *value, int priority)
54}
55declare 6 {
56    void Tk_BindEvent(Tk_BindingTable bindingTable,
57	    XEvent *eventPtr, Tk_Window tkwin, int numObjects,
58	    ClientData *objectPtr)
59}
60declare 7 {
61    void Tk_CanvasDrawableCoords(Tk_Canvas canvas,
62	    double x, double y, short *drawableXPtr,
63	    short *drawableYPtr)
64}
65declare 8 {
66    void Tk_CanvasEventuallyRedraw(Tk_Canvas canvas, int x1, int y1,
67	    int x2, int y2)
68}
69declare 9 {
70    int Tk_CanvasGetCoord(Tcl_Interp *interp,
71	    Tk_Canvas canvas, const char *str, double *doublePtr)
72}
73declare 10 {
74    Tk_CanvasTextInfo *Tk_CanvasGetTextInfo(Tk_Canvas canvas)
75}
76declare 11 {
77    int Tk_CanvasPsBitmap(Tcl_Interp *interp,
78	    Tk_Canvas canvas, Pixmap bitmap, int x, int y,
79	    int width, int height)
80}
81declare 12 {
82    int Tk_CanvasPsColor(Tcl_Interp *interp,
83	    Tk_Canvas canvas, XColor *colorPtr)
84}
85declare 13 {
86    int Tk_CanvasPsFont(Tcl_Interp *interp,
87	    Tk_Canvas canvas, Tk_Font font)
88}
89declare 14 {
90    void Tk_CanvasPsPath(Tcl_Interp *interp,
91	    Tk_Canvas canvas, double *coordPtr, int numPoints)
92}
93declare 15 {
94    int Tk_CanvasPsStipple(Tcl_Interp *interp,
95	    Tk_Canvas canvas, Pixmap bitmap)
96}
97declare 16 {
98    double Tk_CanvasPsY(Tk_Canvas canvas, double y)
99}
100declare 17 {
101    void Tk_CanvasSetStippleOrigin(Tk_Canvas canvas, GC gc)
102}
103declare 18 {
104    int Tk_CanvasTagsParseProc(ClientData clientData, Tcl_Interp *interp,
105	    Tk_Window tkwin, const char *value, char *widgRec, int offset)
106}
107declare 19 {
108    const char *Tk_CanvasTagsPrintProc(ClientData clientData, Tk_Window tkwin,
109	    char *widgRec, int offset, Tcl_FreeProc **freeProcPtr)
110}
111declare 20 {
112    Tk_Window	Tk_CanvasTkwin(Tk_Canvas canvas)
113}
114declare 21 {
115    void Tk_CanvasWindowCoords(Tk_Canvas canvas, double x, double y,
116	    short *screenXPtr, short *screenYPtr)
117}
118declare 22 {
119    void Tk_ChangeWindowAttributes(Tk_Window tkwin, unsigned long valueMask,
120	    XSetWindowAttributes *attsPtr)
121}
122declare 23 {
123    int Tk_CharBbox(Tk_TextLayout layout, int index, int *xPtr,
124	    int *yPtr, int *widthPtr, int *heightPtr)
125}
126declare 24 {
127    void Tk_ClearSelection(Tk_Window tkwin, Atom selection)
128}
129declare 25 {
130    int Tk_ClipboardAppend(Tcl_Interp *interp, Tk_Window tkwin,
131	    Atom target, Atom format, const char *buffer)
132}
133declare 26 {
134    int Tk_ClipboardClear(Tcl_Interp *interp, Tk_Window tkwin)
135}
136declare 27 {
137    int Tk_ConfigureInfo(Tcl_Interp *interp,
138	    Tk_Window tkwin, const Tk_ConfigSpec *specs,
139	    char *widgRec, const char *argvName, int flags)
140}
141declare 28 {
142    int Tk_ConfigureValue(Tcl_Interp *interp,
143	    Tk_Window tkwin, const Tk_ConfigSpec *specs,
144	    char *widgRec, const char *argvName, int flags)
145}
146declare 29 {
147    int Tk_ConfigureWidget(Tcl_Interp *interp,
148	    Tk_Window tkwin, const Tk_ConfigSpec *specs,
149	    int argc, const char **argv, char *widgRec,
150	    int flags)
151}
152declare 30 {
153    void Tk_ConfigureWindow(Tk_Window tkwin,
154	    unsigned int valueMask, XWindowChanges *valuePtr)
155}
156declare 31 {
157    Tk_TextLayout Tk_ComputeTextLayout(Tk_Font font,
158	    const char *str, int numChars, int wrapLength,
159	    Tk_Justify justify, int flags, int *widthPtr,
160	    int *heightPtr)
161}
162declare 32 {
163    Tk_Window Tk_CoordsToWindow(int rootX, int rootY, Tk_Window tkwin)
164}
165declare 33 {
166    unsigned long Tk_CreateBinding(Tcl_Interp *interp,
167	    Tk_BindingTable bindingTable, ClientData object,
168	    const char *eventStr, const char *script, int append)
169}
170declare 34 {
171    Tk_BindingTable Tk_CreateBindingTable(Tcl_Interp *interp)
172}
173declare 35 {
174    Tk_ErrorHandler Tk_CreateErrorHandler(Display *display,
175	    int errNum, int request, int minorCode,
176	    Tk_ErrorProc *errorProc, ClientData clientData)
177}
178declare 36 {
179    void Tk_CreateEventHandler(Tk_Window token,
180	    unsigned long mask, Tk_EventProc *proc,
181	    ClientData clientData)
182}
183declare 37 {
184    void Tk_CreateGenericHandler(Tk_GenericProc *proc, ClientData clientData)
185}
186declare 38 {
187    void Tk_CreateImageType(const Tk_ImageType *typePtr)
188}
189declare 39 {
190    void Tk_CreateItemType(Tk_ItemType *typePtr)
191}
192declare 40 {
193    void Tk_CreatePhotoImageFormat(const Tk_PhotoImageFormat *formatPtr)
194}
195declare 41 {
196    void Tk_CreateSelHandler(Tk_Window tkwin,
197	    Atom selection, Atom target,
198	    Tk_SelectionProc *proc, ClientData clientData,
199	    Atom format)
200}
201declare 42 {
202    Tk_Window Tk_CreateWindow(Tcl_Interp *interp,
203	    Tk_Window parent, const char *name, const char *screenName)
204}
205declare 43 {
206    Tk_Window Tk_CreateWindowFromPath(Tcl_Interp *interp, Tk_Window tkwin,
207	    const char *pathName, const char *screenName)
208}
209declare 44 {
210    int Tk_DefineBitmap(Tcl_Interp *interp, const char *name,
211	    const void *source, int width, int height)
212}
213declare 45 {
214    void Tk_DefineCursor(Tk_Window window, Tk_Cursor cursor)
215}
216declare 46 {
217    void Tk_DeleteAllBindings(Tk_BindingTable bindingTable, ClientData object)
218}
219declare 47 {
220    int Tk_DeleteBinding(Tcl_Interp *interp,
221	    Tk_BindingTable bindingTable, ClientData object,
222	    const char *eventStr)
223}
224declare 48 {
225    void Tk_DeleteBindingTable(Tk_BindingTable bindingTable)
226}
227declare 49 {
228    void Tk_DeleteErrorHandler(Tk_ErrorHandler handler)
229}
230declare 50 {
231    void Tk_DeleteEventHandler(Tk_Window token,
232	    unsigned long mask, Tk_EventProc *proc,
233	    ClientData clientData)
234}
235declare 51 {
236    void Tk_DeleteGenericHandler(Tk_GenericProc *proc, ClientData clientData)
237}
238declare 52 {
239    void Tk_DeleteImage(Tcl_Interp *interp, const char *name)
240}
241declare 53 {
242    void Tk_DeleteSelHandler(Tk_Window tkwin, Atom selection, Atom target)
243}
244declare 54 {
245    void Tk_DestroyWindow(Tk_Window tkwin)
246}
247declare 55 {
248    const char *Tk_DisplayName(Tk_Window tkwin)
249}
250declare 56 {
251    int Tk_DistanceToTextLayout(Tk_TextLayout layout, int x, int y)
252}
253declare 57 {
254    void Tk_Draw3DPolygon(Tk_Window tkwin,
255	    Drawable drawable, Tk_3DBorder border,
256	    XPoint *pointPtr, int numPoints, int borderWidth,
257	    int leftRelief)
258}
259declare 58 {
260    void Tk_Draw3DRectangle(Tk_Window tkwin, Drawable drawable,
261	    Tk_3DBorder border, int x, int y, int width, int height,
262	    int borderWidth, int relief)
263}
264declare 59 {
265    void Tk_DrawChars(Display *display, Drawable drawable, GC gc,
266	    Tk_Font tkfont, const char *source, int numBytes, int x, int y)
267}
268declare 60 {
269    void Tk_DrawFocusHighlight(Tk_Window tkwin, GC gc, int width,
270	    Drawable drawable)
271}
272declare 61 {
273    void Tk_DrawTextLayout(Display *display,
274	    Drawable drawable, GC gc, Tk_TextLayout layout,
275	    int x, int y, int firstChar, int lastChar)
276}
277declare 62 {
278    void Tk_Fill3DPolygon(Tk_Window tkwin,
279	    Drawable drawable, Tk_3DBorder border,
280	    XPoint *pointPtr, int numPoints, int borderWidth,
281	    int leftRelief)
282}
283declare 63 {
284    void Tk_Fill3DRectangle(Tk_Window tkwin,
285	    Drawable drawable, Tk_3DBorder border, int x,
286	    int y, int width, int height, int borderWidth,
287	    int relief)
288}
289declare 64 {
290    Tk_PhotoHandle Tk_FindPhoto(Tcl_Interp *interp, const char *imageName)
291}
292declare 65 {
293    Font Tk_FontId(Tk_Font font)
294}
295declare 66 {
296    void Tk_Free3DBorder(Tk_3DBorder border)
297}
298declare 67 {
299    void Tk_FreeBitmap(Display *display, Pixmap bitmap)
300}
301declare 68 {
302    void Tk_FreeColor(XColor *colorPtr)
303}
304declare 69 {
305    void Tk_FreeColormap(Display *display, Colormap colormap)
306}
307declare 70 {
308    void Tk_FreeCursor(Display *display, Tk_Cursor cursor)
309}
310declare 71 {
311    void Tk_FreeFont(Tk_Font f)
312}
313declare 72 {
314    void Tk_FreeGC(Display *display, GC gc)
315}
316declare 73 {
317    void Tk_FreeImage(Tk_Image image)
318}
319declare 74 {
320    void Tk_FreeOptions(const Tk_ConfigSpec *specs,
321	    char *widgRec, Display *display, int needFlags)
322}
323declare 75 {
324    void Tk_FreePixmap(Display *display, Pixmap pixmap)
325}
326declare 76 {
327    void Tk_FreeTextLayout(Tk_TextLayout textLayout)
328}
329declare 77 {deprecated {function does nothing, call can be removed}} {
330    void Tk_FreeXId(Display *display, XID xid)
331}
332declare 78 {
333    GC Tk_GCForColor(XColor *colorPtr, Drawable drawable)
334}
335declare 79 {
336    void Tk_GeometryRequest(Tk_Window tkwin, int reqWidth,  int reqHeight)
337}
338declare 80 {
339    Tk_3DBorder	Tk_Get3DBorder(Tcl_Interp *interp, Tk_Window tkwin,
340	    Tk_Uid colorName)
341}
342declare 81 {
343    void Tk_GetAllBindings(Tcl_Interp *interp,
344	    Tk_BindingTable bindingTable, ClientData object)
345}
346declare 82 {
347    int Tk_GetAnchor(Tcl_Interp *interp,
348	    const char *str, Tk_Anchor *anchorPtr)
349}
350declare 83 {
351    const char *Tk_GetAtomName(Tk_Window tkwin, Atom atom)
352}
353declare 84 {
354    const char *Tk_GetBinding(Tcl_Interp *interp,
355	    Tk_BindingTable bindingTable, ClientData object,
356	    const char *eventStr)
357}
358declare 85 {
359    Pixmap Tk_GetBitmap(Tcl_Interp *interp, Tk_Window tkwin, const char *str)
360}
361declare 86 {
362    Pixmap Tk_GetBitmapFromData(Tcl_Interp *interp,
363	    Tk_Window tkwin, const void *source, int width, int height)
364}
365declare 87 {
366    int Tk_GetCapStyle(Tcl_Interp *interp, const char *str, int *capPtr)
367}
368declare 88 {
369    XColor *Tk_GetColor(Tcl_Interp *interp, Tk_Window tkwin, Tk_Uid name)
370}
371declare 89 {
372    XColor *Tk_GetColorByValue(Tk_Window tkwin, XColor *colorPtr)
373}
374declare 90 {
375    Colormap Tk_GetColormap(Tcl_Interp *interp, Tk_Window tkwin,
376	    const char *str)
377}
378declare 91 {
379    Tk_Cursor Tk_GetCursor(Tcl_Interp *interp, Tk_Window tkwin,
380	    Tk_Uid str)
381}
382declare 92 {
383    Tk_Cursor Tk_GetCursorFromData(Tcl_Interp *interp,
384	    Tk_Window tkwin, const char *source, const char *mask,
385	    int width, int height, int xHot, int yHot,
386	    Tk_Uid fg, Tk_Uid bg)
387}
388declare 93 {
389    Tk_Font Tk_GetFont(Tcl_Interp *interp,
390	    Tk_Window tkwin, const char *str)
391}
392declare 94 {
393    Tk_Font Tk_GetFontFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
394}
395declare 95 {
396    void Tk_GetFontMetrics(Tk_Font font, Tk_FontMetrics *fmPtr)
397}
398declare 96 {
399    GC Tk_GetGC(Tk_Window tkwin, unsigned long valueMask, XGCValues *valuePtr)
400}
401declare 97 {
402    Tk_Image Tk_GetImage(Tcl_Interp *interp, Tk_Window tkwin, const char *name,
403	    Tk_ImageChangedProc *changeProc, ClientData clientData)
404}
405declare 98 {
406    ClientData Tk_GetImageModelData(Tcl_Interp *interp,
407	    const char *name, const Tk_ImageType **typePtrPtr)
408}
409declare 99 {
410    Tk_ItemType *Tk_GetItemTypes(void)
411}
412declare 100 {
413    int Tk_GetJoinStyle(Tcl_Interp *interp, const char *str, int *joinPtr)
414}
415declare 101 {
416    int Tk_GetJustify(Tcl_Interp *interp,
417	    const char *str, Tk_Justify *justifyPtr)
418}
419declare 102 {
420    int Tk_GetNumMainWindows(void)
421}
422declare 103 {
423    Tk_Uid Tk_GetOption(Tk_Window tkwin, const char *name,
424	    const char *className)
425}
426declare 104 {
427    int Tk_GetPixels(Tcl_Interp *interp,
428	    Tk_Window tkwin, const char *str, int *intPtr)
429}
430declare 105 {
431    Pixmap Tk_GetPixmap(Display *display, Drawable d,
432	    int width, int height, int depth)
433}
434declare 106 {
435    int Tk_GetRelief(Tcl_Interp *interp, const char *name, int *reliefPtr)
436}
437declare 107 {
438    void Tk_GetRootCoords(Tk_Window tkwin, int *xPtr, int *yPtr)
439}
440declare 108 {
441    int Tk_GetScrollInfo(Tcl_Interp *interp,
442	    int argc, const char **argv, double *dblPtr, int *intPtr)
443}
444declare 109 {
445    int Tk_GetScreenMM(Tcl_Interp *interp,
446	    Tk_Window tkwin, const char *str, double *doublePtr)
447}
448declare 110 {
449    int Tk_GetSelection(Tcl_Interp *interp,
450	    Tk_Window tkwin, Atom selection, Atom target,
451	    Tk_GetSelProc *proc, ClientData clientData)
452}
453declare 111 {
454    Tk_Uid Tk_GetUid(const char *str)
455}
456declare 112 {
457    Visual *Tk_GetVisual(Tcl_Interp *interp,
458	    Tk_Window tkwin, const char *str, int *depthPtr,
459	    Colormap *colormapPtr)
460}
461declare 113 {
462    void Tk_GetVRootGeometry(Tk_Window tkwin,
463	    int *xPtr, int *yPtr, int *widthPtr, int *heightPtr)
464}
465declare 114 {
466    int Tk_Grab(Tcl_Interp *interp, Tk_Window tkwin, int grabGlobal)
467}
468declare 115 {
469    void Tk_HandleEvent(XEvent *eventPtr)
470}
471declare 116 {
472    Tk_Window Tk_IdToWindow(Display *display, Window window)
473}
474declare 117 {
475    void Tk_ImageChanged(Tk_ImageModel model, int x, int y,
476	    int width, int height, int imageWidth, int imageHeight)
477}
478declare 118 {
479    int Tk_Init(Tcl_Interp *interp)
480}
481declare 119 {
482    Atom Tk_InternAtom(Tk_Window tkwin, const char *name)
483}
484declare 120 {
485    int Tk_IntersectTextLayout(Tk_TextLayout layout, int x, int y,
486	    int width, int height)
487}
488declare 121 {
489    void Tk_MaintainGeometry(Tk_Window window,
490	    Tk_Window container, int x, int y, int width, int height)
491}
492declare 122 {
493    Tk_Window Tk_MainWindow(Tcl_Interp *interp)
494}
495declare 123 {
496    void Tk_MakeWindowExist(Tk_Window tkwin)
497}
498declare 124 {
499    void Tk_ManageGeometry(Tk_Window tkwin,
500	    const Tk_GeomMgr *mgrPtr, ClientData clientData)
501}
502declare 125 {
503    void Tk_MapWindow(Tk_Window tkwin)
504}
505declare 126 {
506    int Tk_MeasureChars(Tk_Font tkfont,
507	    const char *source, int numBytes, int maxPixels,
508	    int flags, int *lengthPtr)
509}
510declare 127 {
511    void Tk_MoveResizeWindow(Tk_Window tkwin,
512	    int x, int y, int width, int height)
513}
514declare 128 {
515    void Tk_MoveWindow(Tk_Window tkwin, int x, int y)
516}
517declare 129 {
518    void Tk_MoveToplevelWindow(Tk_Window tkwin, int x, int y)
519}
520declare 130 {
521    const char *Tk_NameOf3DBorder(Tk_3DBorder border)
522}
523declare 131 {
524    const char *Tk_NameOfAnchor(Tk_Anchor anchor)
525}
526declare 132 {
527    const char *Tk_NameOfBitmap(Display *display, Pixmap bitmap)
528}
529declare 133 {
530    const char *Tk_NameOfCapStyle(int cap)
531}
532declare 134 {
533    const char *Tk_NameOfColor(XColor *colorPtr)
534}
535declare 135 {
536    const char *Tk_NameOfCursor(Display *display, Tk_Cursor cursor)
537}
538declare 136 {
539    const char *Tk_NameOfFont(Tk_Font font)
540}
541declare 137 {
542    const char *Tk_NameOfImage(Tk_ImageModel model)
543}
544declare 138 {
545    const char *Tk_NameOfJoinStyle(int join)
546}
547declare 139 {
548    const char *Tk_NameOfJustify(Tk_Justify justify)
549}
550declare 140 {
551    const char *Tk_NameOfRelief(int relief)
552}
553declare 141 {
554    Tk_Window Tk_NameToWindow(Tcl_Interp *interp,
555	    const char *pathName, Tk_Window tkwin)
556}
557declare 142 {
558    void Tk_OwnSelection(Tk_Window tkwin,
559	    Atom selection, Tk_LostSelProc *proc,
560	    ClientData clientData)
561}
562declare 143 {
563    int Tk_ParseArgv(Tcl_Interp *interp,
564	    Tk_Window tkwin, int *argcPtr, const char **argv,
565	    const Tk_ArgvInfo *argTable, int flags)
566}
567declare 144 {deprecated {function signature changed}} {
568    void Tk_PhotoPutBlock_NoComposite(Tk_PhotoHandle handle,
569	    Tk_PhotoImageBlock *blockPtr, int x, int y,
570	    int width, int height)
571}
572declare 145 {deprecated {function signature changed}} {
573    void Tk_PhotoPutZoomedBlock_NoComposite(Tk_PhotoHandle handle,
574	    Tk_PhotoImageBlock *blockPtr, int x, int y,
575	    int width, int height, int zoomX, int zoomY,
576	    int subsampleX, int subsampleY)
577}
578declare 146 {
579    int Tk_PhotoGetImage(Tk_PhotoHandle handle, Tk_PhotoImageBlock *blockPtr)
580}
581declare 147 {
582    void Tk_PhotoBlank(Tk_PhotoHandle handle)
583}
584declare 148 {deprecated {function signature changed}} {
585    void Tk_PhotoExpand_Panic(Tk_PhotoHandle handle, int width, int height )
586}
587declare 149 {
588    void Tk_PhotoGetSize(Tk_PhotoHandle handle, int *widthPtr, int *heightPtr)
589}
590declare 150 {deprecated {function signature changed}} {
591    void Tk_PhotoSetSize_Panic(Tk_PhotoHandle handle, int width, int height)
592}
593declare 151 {
594    int Tk_PointToChar(Tk_TextLayout layout, int x, int y)
595}
596declare 152 {
597    int Tk_PostscriptFontName(Tk_Font tkfont, Tcl_DString *dsPtr)
598}
599declare 153 {
600    void Tk_PreserveColormap(Display *display, Colormap colormap)
601}
602declare 154 {
603    void Tk_QueueWindowEvent(XEvent *eventPtr, Tcl_QueuePosition position)
604}
605declare 155 {
606    void Tk_RedrawImage(Tk_Image image, int imageX,
607	    int imageY, int width, int height,
608	    Drawable drawable, int drawableX, int drawableY)
609}
610declare 156 {
611    void Tk_ResizeWindow(Tk_Window tkwin, int width, int height)
612}
613declare 157 {
614    int Tk_RestackWindow(Tk_Window tkwin, int aboveBelow, Tk_Window other)
615}
616declare 158 {
617    Tk_RestrictProc *Tk_RestrictEvents(Tk_RestrictProc *proc,
618	    ClientData arg, ClientData *prevArgPtr)
619}
620declare 159 {
621    int Tk_SafeInit(Tcl_Interp *interp)
622}
623declare 160 {
624    const char *Tk_SetAppName(Tk_Window tkwin, const char *name)
625}
626declare 161 {
627    void Tk_SetBackgroundFromBorder(Tk_Window tkwin, Tk_3DBorder border)
628}
629declare 162 {
630    void Tk_SetClass(Tk_Window tkwin, const char *className)
631}
632declare 163 {
633    void Tk_SetGrid(Tk_Window tkwin, int reqWidth, int reqHeight,
634	    int gridWidth, int gridHeight)
635}
636declare 164 {
637    void Tk_SetInternalBorder(Tk_Window tkwin, int width)
638}
639declare 165 {
640    void Tk_SetWindowBackground(Tk_Window tkwin, unsigned long pixel)
641}
642declare 166 {
643    void Tk_SetWindowBackgroundPixmap(Tk_Window tkwin, Pixmap pixmap)
644}
645declare 167 {
646    void Tk_SetWindowBorder(Tk_Window tkwin, unsigned long pixel)
647}
648declare 168 {
649    void Tk_SetWindowBorderWidth(Tk_Window tkwin, int width)
650}
651declare 169 {
652    void Tk_SetWindowBorderPixmap(Tk_Window tkwin, Pixmap pixmap)
653}
654declare 170 {
655    void Tk_SetWindowColormap(Tk_Window tkwin, Colormap colormap)
656}
657declare 171 {
658    int Tk_SetWindowVisual(Tk_Window tkwin, Visual *visual, int depth,
659	    Colormap colormap)
660}
661declare 172 {
662    void Tk_SizeOfBitmap(Display *display, Pixmap bitmap, int *widthPtr,
663	    int *heightPtr)
664}
665declare 173 {
666    void Tk_SizeOfImage(Tk_Image image, int *widthPtr, int *heightPtr)
667}
668declare 174 {
669    int Tk_StrictMotif(Tk_Window tkwin)
670}
671declare 175 {
672    void Tk_TextLayoutToPostscript(Tcl_Interp *interp, Tk_TextLayout layout)
673}
674declare 176 {
675    int Tk_TextWidth(Tk_Font font, const char *str, int numBytes)
676}
677declare 177 {
678    void Tk_UndefineCursor(Tk_Window window)
679}
680declare 178 {
681    void Tk_UnderlineChars(Display *display,
682	    Drawable drawable, GC gc, Tk_Font tkfont,
683	    const char *source, int x, int y, int firstByte,
684	    int lastByte)
685}
686declare 179 {
687    void Tk_UnderlineTextLayout(Display *display, Drawable drawable, GC gc,
688	    Tk_TextLayout layout, int x, int y,
689	    int underline)
690}
691declare 180 {
692    void Tk_Ungrab(Tk_Window tkwin)
693}
694declare 181 {
695    void Tk_UnmaintainGeometry(Tk_Window window, Tk_Window container)
696}
697declare 182 {
698    void Tk_UnmapWindow(Tk_Window tkwin)
699}
700declare 183 {
701    void Tk_UnsetGrid(Tk_Window tkwin)
702}
703declare 184 {
704    void Tk_UpdatePointer(Tk_Window tkwin, int x, int y, int state)
705}
706
707# new functions for 8.1
708
709declare 185 {
710    Pixmap  Tk_AllocBitmapFromObj(Tcl_Interp *interp, Tk_Window tkwin,
711    Tcl_Obj *objPtr)
712}
713declare 186 {
714    Tk_3DBorder Tk_Alloc3DBorderFromObj(Tcl_Interp *interp, Tk_Window tkwin,
715	    Tcl_Obj *objPtr)
716}
717declare 187 {
718    XColor *Tk_AllocColorFromObj(Tcl_Interp *interp, Tk_Window tkwin,
719	    Tcl_Obj *objPtr)
720}
721declare 188 {
722    Tk_Cursor Tk_AllocCursorFromObj(Tcl_Interp *interp, Tk_Window tkwin,
723	    Tcl_Obj *objPtr)
724}
725declare 189 {
726    Tk_Font  Tk_AllocFontFromObj(Tcl_Interp *interp, Tk_Window tkwin,
727	    Tcl_Obj *objPtr)
728
729}
730declare 190 {
731    Tk_OptionTable Tk_CreateOptionTable(Tcl_Interp *interp,
732	    const Tk_OptionSpec *templatePtr)
733}
734declare 191 {
735    void  Tk_DeleteOptionTable(Tk_OptionTable optionTable)
736}
737declare 192 {
738    void  Tk_Free3DBorderFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
739}
740declare 193 {
741    void  Tk_FreeBitmapFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
742}
743declare 194 {
744    void  Tk_FreeColorFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
745}
746declare 195 {
747    void  Tk_FreeConfigOptions(void *recordPtr, Tk_OptionTable optionToken,
748	    Tk_Window tkwin)
749}
750declare 196 {
751    void  Tk_FreeSavedOptions(Tk_SavedOptions *savePtr)
752}
753declare 197 {
754    void  Tk_FreeCursorFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
755}
756declare 198 {
757    void  Tk_FreeFontFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
758}
759declare 199 {
760    Tk_3DBorder Tk_Get3DBorderFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
761}
762declare 200 {
763    int	 Tk_GetAnchorFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
764	    Tk_Anchor *anchorPtr)
765}
766declare 201 {
767    Pixmap  Tk_GetBitmapFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
768}
769declare 202 {
770    XColor *Tk_GetColorFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
771}
772declare 203 {
773    Tk_Cursor Tk_GetCursorFromObj(Tk_Window tkwin, Tcl_Obj *objPtr)
774}
775declare 204 {
776    Tcl_Obj *Tk_GetOptionInfo(Tcl_Interp *interp,
777	    void *recordPtr, Tk_OptionTable optionTable,
778	    Tcl_Obj *namePtr, Tk_Window tkwin)
779}
780declare 205 {
781    Tcl_Obj *Tk_GetOptionValue(Tcl_Interp *interp, void *recordPtr,
782	    Tk_OptionTable optionTable, Tcl_Obj *namePtr, Tk_Window tkwin)
783}
784declare 206 {
785    int	 Tk_GetJustifyFromObj(Tcl_Interp *interp,
786	    Tcl_Obj *objPtr, Tk_Justify *justifyPtr)
787}
788declare 207 {
789    int	 Tk_GetMMFromObj(Tcl_Interp *interp,
790	    Tk_Window tkwin, Tcl_Obj *objPtr, double *doublePtr)
791}
792declare 208 {
793    int	 Tk_GetPixelsFromObj(Tcl_Interp *interp,
794	    Tk_Window tkwin, Tcl_Obj *objPtr, int *intPtr)
795}
796declare 209 {
797    int	 Tk_GetReliefFromObj(Tcl_Interp *interp,
798	    Tcl_Obj *objPtr, int *resultPtr)
799}
800declare 210 {
801    int	 Tk_GetScrollInfoObj(Tcl_Interp *interp,
802	    int objc, Tcl_Obj *const objv[], double *dblPtr, int *intPtr)
803}
804declare 211 {
805    int	 Tk_InitOptions(Tcl_Interp *interp, void *recordPtr,
806	    Tk_OptionTable optionToken, Tk_Window tkwin)
807}
808declare 212 {nostub {Don't use this function in a stub-enabled extension}} {
809    void  Tk_MainEx(int argc, char **argv, Tcl_AppInitProc *appInitProc,
810	    Tcl_Interp *interp)
811}
812declare 213 {
813    void  Tk_RestoreSavedOptions(Tk_SavedOptions *savePtr)
814}
815declare 214 {
816    int	 Tk_SetOptions(Tcl_Interp *interp, void *recordPtr,
817	    Tk_OptionTable optionTable, int objc,
818	    Tcl_Obj *const objv[], Tk_Window tkwin,
819	    Tk_SavedOptions *savePtr, int *maskPtr)
820}
821declare 215 {
822    void Tk_InitConsoleChannels(Tcl_Interp *interp)
823}
824declare 216 {
825    int Tk_CreateConsoleWindow(Tcl_Interp *interp)
826}
827declare 217 {
828    void Tk_CreateSmoothMethod(Tcl_Interp *interp, const Tk_SmoothMethod *method)
829}
830#declare 218 {
831#    void Tk_CreateCanvasVisitor(Tcl_Interp *interp, void *typePtr)
832#}
833#declare 219 {
834#    void *Tk_GetCanvasVisitor(Tcl_Interp *interp, const char *name)
835#}
836declare 220 {
837    int Tk_GetDash(Tcl_Interp *interp, const char *value, Tk_Dash *dash)
838}
839declare 221 {
840    void Tk_CreateOutline(Tk_Outline *outline)
841}
842declare 222 {
843    void Tk_DeleteOutline(Display *display, Tk_Outline *outline)
844}
845declare 223 {
846    int Tk_ConfigOutlineGC(XGCValues *gcValues, Tk_Canvas canvas,
847	    Tk_Item *item, Tk_Outline *outline)
848}
849declare 224 {
850    int Tk_ChangeOutlineGC(Tk_Canvas canvas, Tk_Item *item,
851	    Tk_Outline *outline)
852}
853declare 225 {
854    int Tk_ResetOutlineGC(Tk_Canvas canvas, Tk_Item *item,
855	    Tk_Outline *outline)
856}
857declare 226 {
858    int Tk_CanvasPsOutline(Tk_Canvas canvas, Tk_Item *item,
859	    Tk_Outline *outline)
860}
861declare 227 {
862    void Tk_SetTSOrigin(Tk_Window tkwin, GC gc, int x, int y)
863}
864declare 228 {
865    int Tk_CanvasGetCoordFromObj(Tcl_Interp *interp, Tk_Canvas canvas,
866	    Tcl_Obj *obj, double *doublePtr)
867}
868declare 229 {
869    void Tk_CanvasSetOffset(Tk_Canvas canvas, GC gc, Tk_TSOffset *offset)
870}
871declare 230 {
872    void Tk_DitherPhoto(Tk_PhotoHandle handle, int x, int y, int width,
873	    int height)
874}
875declare 231 {
876    int Tk_PostscriptBitmap(Tcl_Interp *interp, Tk_Window tkwin,
877	    Tk_PostscriptInfo psInfo, Pixmap bitmap, int startX,
878	    int startY, int width, int height)
879}
880declare 232 {
881    int Tk_PostscriptColor(Tcl_Interp *interp, Tk_PostscriptInfo psInfo,
882	    XColor *colorPtr)
883}
884declare 233 {
885    int Tk_PostscriptFont(Tcl_Interp *interp, Tk_PostscriptInfo psInfo,
886	    Tk_Font font)
887}
888declare 234 {
889    int Tk_PostscriptImage(Tk_Image image, Tcl_Interp *interp,
890	    Tk_Window tkwin, Tk_PostscriptInfo psinfo, int x, int y,
891	    int width, int height, int prepass)
892}
893declare 235 {
894    void Tk_PostscriptPath(Tcl_Interp *interp, Tk_PostscriptInfo psInfo,
895	    double *coordPtr, int numPoints)
896}
897declare 236 {
898    int Tk_PostscriptStipple(Tcl_Interp *interp, Tk_Window tkwin,
899	    Tk_PostscriptInfo psInfo, Pixmap bitmap)
900}
901declare 237 {
902    double Tk_PostscriptY(double y, Tk_PostscriptInfo psInfo)
903}
904declare 238 {
905    int	Tk_PostscriptPhoto(Tcl_Interp *interp,
906	    Tk_PhotoImageBlock *blockPtr, Tk_PostscriptInfo psInfo,
907	    int width, int height)
908}
909
910# New in 8.4a1
911#
912declare 239 {
913    void Tk_CreateClientMessageHandler(Tk_ClientMessageProc *proc)
914}
915declare 240 {
916    void Tk_DeleteClientMessageHandler(Tk_ClientMessageProc *proc)
917}
918
919# New in 8.4a2
920#
921declare 241 {
922    Tk_Window Tk_CreateAnonymousWindow(Tcl_Interp *interp,
923	    Tk_Window parent, const char *screenName)
924}
925declare 242 {
926    void Tk_SetClassProcs(Tk_Window tkwin,
927	    const Tk_ClassProcs *procs, ClientData instanceData)
928}
929
930# New in 8.4a4
931#
932declare 243 {
933    void Tk_SetInternalBorderEx(Tk_Window tkwin, int left, int right,
934	    int top, int bottom)
935}
936declare 244 {
937    void Tk_SetMinimumRequestSize(Tk_Window tkwin,
938	    int minWidth, int minHeight)
939}
940
941# New in 8.4a5
942#
943declare 245 {
944    void Tk_SetCaretPos(Tk_Window tkwin, int x, int y, int height)
945}
946declare 246 {deprecated {function signature changed}} {
947    void Tk_PhotoPutBlock_Panic(Tk_PhotoHandle handle,
948	    Tk_PhotoImageBlock *blockPtr, int x, int y,
949	    int width, int height, int compRule)
950}
951declare 247 {deprecated {function signature changed}} {
952    void Tk_PhotoPutZoomedBlock_Panic(Tk_PhotoHandle handle,
953	    Tk_PhotoImageBlock *blockPtr, int x, int y,
954	    int width, int height, int zoomX, int zoomY,
955	    int subsampleX, int subsampleY, int compRule)
956}
957declare 248 {
958    int Tk_CollapseMotionEvents(Display *display, int collapse)
959}
960
961# Style engine
962declare 249 {
963    Tk_StyleEngine Tk_RegisterStyleEngine(const char *name,
964	    Tk_StyleEngine parent)
965}
966declare 250 {
967    Tk_StyleEngine Tk_GetStyleEngine(const char *name)
968}
969declare 251 {
970    int Tk_RegisterStyledElement(Tk_StyleEngine engine,
971	    Tk_ElementSpec *templatePtr)
972}
973declare 252 {
974    int Tk_GetElementId(const char *name)
975}
976declare 253 {
977    Tk_Style Tk_CreateStyle(const char *name, Tk_StyleEngine engine,
978	    ClientData clientData)
979}
980declare 254 {
981    Tk_Style Tk_GetStyle(Tcl_Interp *interp, const char *name)
982}
983declare 255 {
984    void Tk_FreeStyle(Tk_Style style)
985}
986declare 256 {
987    const char *Tk_NameOfStyle(Tk_Style style)
988}
989declare 257 {
990    Tk_Style  Tk_AllocStyleFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr)
991}
992declare 258 {
993    Tk_Style Tk_GetStyleFromObj(Tcl_Obj *objPtr)
994}
995declare 259 {
996    void  Tk_FreeStyleFromObj(Tcl_Obj *objPtr)
997}
998declare 260 {
999    Tk_StyledElement Tk_GetStyledElement(Tk_Style style, int elementId,
1000	Tk_OptionTable optionTable)
1001}
1002declare 261 {
1003    void Tk_GetElementSize(Tk_Style style, Tk_StyledElement element,
1004	    void *recordPtr, Tk_Window tkwin, int width, int height,
1005	    int inner, int *widthPtr, int *heightPtr)
1006}
1007declare 262 {
1008    void Tk_GetElementBox(Tk_Style style, Tk_StyledElement element,
1009	    void *recordPtr, Tk_Window tkwin, int x, int y, int width,
1010	    int height, int inner, int *xPtr, int *yPtr, int *widthPtr,
1011	    int *heightPtr)
1012}
1013declare 263 {
1014    int Tk_GetElementBorderWidth(Tk_Style style, Tk_StyledElement element,
1015	    void *recordPtr, Tk_Window tkwin)
1016}
1017declare 264 {
1018    void Tk_DrawElement(Tk_Style style, Tk_StyledElement element,
1019	    void *recordPtr, Tk_Window tkwin, Drawable d, int x, int y,
1020	    int width, int height, int state)
1021}
1022
1023# TIP#116
1024declare 265 {
1025    int Tk_PhotoExpand(Tcl_Interp *interp, Tk_PhotoHandle handle,
1026	    int width, int height)
1027}
1028declare 266 {
1029    int Tk_PhotoPutBlock(Tcl_Interp *interp, Tk_PhotoHandle handle,
1030	    Tk_PhotoImageBlock *blockPtr, int x, int y, int width, int height,
1031	    int compRule)
1032}
1033declare 267 {
1034    int Tk_PhotoPutZoomedBlock(Tcl_Interp *interp, Tk_PhotoHandle handle,
1035	    Tk_PhotoImageBlock *blockPtr, int x, int y, int width, int height,
1036	    int zoomX, int zoomY, int subsampleX, int subsampleY, int compRule)
1037}
1038declare 268 {
1039    int Tk_PhotoSetSize(Tcl_Interp *interp, Tk_PhotoHandle handle,
1040	    int width, int height)
1041}
1042# TIP#245
1043declare 269 {
1044    long Tk_GetUserInactiveTime(Display *dpy)
1045}
1046declare 270 {
1047    void Tk_ResetUserInactiveTime(Display *dpy)
1048}
1049
1050# TIP #264
1051declare 271 {
1052    Tcl_Interp *Tk_Interp(Tk_Window tkwin)
1053}
1054
1055# Now that the Tk 8.2 -> 8.3 transition is long past, use more conventional
1056# means to continue support for extensions using the USE_OLD_IMAGE to
1057# continue use of their string-based Tcl_ImageTypes and Tcl_PhotoImageFormats.
1058#
1059# Note that this restores the usual rules for stub compatibility.  Stub-enabled
1060# extensions compiled against 8.5 headers and linked to the 8.5 stub library
1061# will produce a file [load]able into an interp with Tk 8.X, for X >= 5.
1062# It will *not* be [load]able into interps with Tk 8.4 (or Tk 8.2!).
1063# Developers who need to produce a file [load]able into legacy interps must
1064# build against legacy sources.
1065declare 272 {
1066    void Tk_CreateOldImageType(const Tk_ImageType *typePtr)
1067}
1068declare 273 {
1069    void Tk_CreateOldPhotoImageFormat(const Tk_PhotoImageFormat *formatPtr)
1070}
1071
1072# TIP#580
1073declare 274 {
1074    int Tk_AlwaysShowSelection(Tk_Window tkwin)
1075}
1076declare 275 {
1077    unsigned Tk_GetButtonMask(unsigned button)
1078}
1079declare 276 {
1080    int Tk_GetDoublePixelsFromObj(Tcl_Interp *interp, Tk_Window tkwin,
1081	    Tcl_Obj *objPtr, double *doublePtr)
1082}
1083declare 277 {
1084    Tcl_Obj *Tk_NewWindowObj(Tk_Window tkwin)
1085}
1086declare 278 {
1087    void Tk_SendVirtualEvent(Tk_Window tkwin, const char *eventName,
1088	    Tcl_Obj *detail)
1089}
1090declare 279 {
1091    Tcl_Obj *Tk_FontGetDescription(Tk_Font tkfont)
1092}
1093
1094# TIP#529
1095declare 280 {
1096    void Tk_CreatePhotoImageFormatVersion3(
1097	    const Tk_PhotoImageFormatVersion3 *formatPtr)
1098}
1099
1100# Define the platform specific public Tk interface.  These functions are
1101# only available on the designated platform.
1102
1103interface tkPlat
1104
1105################################
1106# Windows specific functions
1107
1108declare 0 win {
1109    Window Tk_AttachHWND(Tk_Window tkwin, HWND hwnd)
1110}
1111declare 1 win {
1112    HINSTANCE Tk_GetHINSTANCE(void)
1113}
1114declare 2 win {
1115    HWND Tk_GetHWND(Window window)
1116}
1117declare 3 win {
1118    Tk_Window Tk_HWNDToWindow(HWND hwnd)
1119}
1120declare 4 win {
1121    void Tk_PointerEvent(HWND hwnd, int x, int y)
1122}
1123declare 5 win {
1124    int Tk_TranslateWinEvent(HWND hwnd,
1125	    UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result)
1126}
1127
1128################################
1129# Aqua specific functions
1130# Stub removed because the function no longer exists.
1131#declare 3 aqua {
1132#    void TkMacOSXInitMenus(Tcl_Interp *interp)
1133#}
1134declare 4 aqua {
1135    void TkMacOSXInitAppleEvents(Tcl_Interp *interp)
1136}
1137declare 5 aqua {
1138    void TkGenWMConfigureEvent_(Tk_Window tkwin, int x, int y, int width,
1139	    int height, int flags)
1140}
1141declare 6 aqua {
1142    void TkMacOSXInvalClipRgns(Tk_Window tkwin)
1143}
1144# Stub removed because it just returned NULL.
1145#declare 7 aqua {
1146#    void *TkMacOSXGetDrawablePort(Drawable drawable)
1147#}
1148declare 8 aqua {
1149    void *TkMacOSXGetRootControl(Drawable drawable)
1150}
1151declare 9 aqua {
1152    void Tk_MacOSXSetupTkNotifier(void)
1153}
1154declare 10 aqua {
1155    int Tk_MacOSXIsAppInFront(void)
1156}
1157declare 11 aqua {
1158    Tk_Window Tk_MacOSXGetTkWindow(void *w)
1159}
1160declare 12 aqua {
1161    void *Tk_MacOSXGetCGContextForDrawable(Drawable drawable)
1162}
1163# Replaces TkMacOSXDrawable
1164declare 13 aqua {
1165    void *Tk_MacOSXGetNSWindowForDrawable(Drawable drawable)
1166}
1167declare 16 aqua {
1168    void TkGenWMConfigureEvent(Tk_Window tkwin, int x, int y, int width,
1169	    int height, int flags)
1170}
1171
1172##############################################################################
1173
1174# Public functions that are not accessible via the stubs table.
1175
1176export {
1177    const char *Tk_PkgInitStubsCheck(Tcl_Interp *interp, const char *version,
1178	    int exact)
1179}
1180export {
1181    void Tk_MainEx(int argc, char **argv, Tcl_AppInitProc *appInitProc,
1182	    Tcl_Interp *interp)
1183}
1184export {
1185    void Tk_MainExW(int argc, wchar_t **argv,
1186	    Tcl_AppInitProc *appInitProc, Tcl_Interp *interp);
1187}
1188
1189# Local Variables:
1190# mode: tcl
1191# End:
1192