1/*
2 * $Id$
3 *
4 * This file is (mostly) automatically generated from ttk.decls.
5 */
6
7#ifndef _TTKDECLS
8#define _TTKDECLS
9
10#if defined(USE_TTK_STUBS)
11
12extern const char *TtkInitializeStubs(
13	Tcl_Interp *, const char *version, int epoch, int revision);
14#define Ttk_InitStubs(interp) TtkInitializeStubs( \
15	interp, TTK_VERSION, TTK_STUBS_EPOCH, TTK_STUBS_REVISION)
16#else
17
18#define Ttk_InitStubs(interp) Tcl_PkgRequire(interp, "Ttk", TTK_VERSION, 0)
19
20#endif
21
22
23/* !BEGIN!: Do not edit below this line. */
24
25#define TTK_STUBS_EPOCH 0
26#define TTK_STUBS_REVISION 31
27
28/*
29 * Exported function declarations:
30 */
31
32/* 0 */
33TTKAPI Ttk_Theme	Ttk_GetTheme(Tcl_Interp *interp, const char *name);
34/* 1 */
35TTKAPI Ttk_Theme	Ttk_GetDefaultTheme(Tcl_Interp *interp);
36/* 2 */
37TTKAPI Ttk_Theme	Ttk_GetCurrentTheme(Tcl_Interp *interp);
38/* 3 */
39TTKAPI Ttk_Theme	Ttk_CreateTheme(Tcl_Interp *interp, const char *name,
40				Ttk_Theme parent);
41/* 4 */
42TTKAPI void		Ttk_RegisterCleanup(Tcl_Interp *interp,
43				void *deleteData,
44				Ttk_CleanupProc *cleanupProc);
45/* 5 */
46TTKAPI int		Ttk_RegisterElementSpec(Ttk_Theme theme,
47				const char *elementName,
48				Ttk_ElementSpec *elementSpec,
49				void *clientData);
50/* 6 */
51TTKAPI Ttk_ElementClass * Ttk_RegisterElement(Tcl_Interp *interp,
52				Ttk_Theme theme, const char *elementName,
53				Ttk_ElementSpec *elementSpec,
54				void *clientData);
55/* 7 */
56TTKAPI int		Ttk_RegisterElementFactory(Tcl_Interp *interp,
57				const char *name,
58				Ttk_ElementFactory factoryProc,
59				void *clientData);
60/* 8 */
61TTKAPI void		Ttk_RegisterLayout(Ttk_Theme theme,
62				const char *className,
63				Ttk_LayoutSpec layoutSpec);
64/* Slot 9 is reserved */
65/* 10 */
66TTKAPI int		Ttk_GetStateSpecFromObj(Tcl_Interp *interp,
67				Tcl_Obj *objPtr, Ttk_StateSpec *spec_rtn);
68/* 11 */
69TTKAPI Tcl_Obj *	Ttk_NewStateSpecObj(unsigned int onbits,
70				unsigned int offbits);
71/* 12 */
72TTKAPI Ttk_StateMap	Ttk_GetStateMapFromObj(Tcl_Interp *interp,
73				Tcl_Obj *objPtr);
74/* 13 */
75TTKAPI Tcl_Obj *	Ttk_StateMapLookup(Tcl_Interp *interp,
76				Ttk_StateMap map, Ttk_State state);
77/* 14 */
78TTKAPI int		Ttk_StateTableLookup(Ttk_StateTable map[],
79				Ttk_State state);
80/* Slot 15 is reserved */
81/* Slot 16 is reserved */
82/* Slot 17 is reserved */
83/* Slot 18 is reserved */
84/* Slot 19 is reserved */
85/* 20 */
86TTKAPI int		Ttk_GetPaddingFromObj(Tcl_Interp *interp,
87				Tk_Window tkwin, Tcl_Obj *objPtr,
88				Ttk_Padding *pad_rtn);
89/* 21 */
90TTKAPI int		Ttk_GetBorderFromObj(Tcl_Interp *interp,
91				Tcl_Obj *objPtr, Ttk_Padding *pad_rtn);
92/* 22 */
93TTKAPI int		Ttk_GetStickyFromObj(Tcl_Interp *interp,
94				Tcl_Obj *objPtr, Ttk_Sticky *sticky_rtn);
95/* 23 */
96TTKAPI Ttk_Padding	Ttk_MakePadding(short l, short t, short r, short b);
97/* 24 */
98TTKAPI Ttk_Padding	Ttk_UniformPadding(short borderWidth);
99/* 25 */
100TTKAPI Ttk_Padding	Ttk_AddPadding(Ttk_Padding pad1, Ttk_Padding pad2);
101/* 26 */
102TTKAPI Ttk_Padding	Ttk_RelievePadding(Ttk_Padding padding, int relief,
103				int n);
104/* 27 */
105TTKAPI Ttk_Box		Ttk_MakeBox(int x, int y, int width, int height);
106/* 28 */
107TTKAPI int		Ttk_BoxContains(Ttk_Box box, int x, int y);
108/* 29 */
109TTKAPI Ttk_Box		Ttk_PackBox(Ttk_Box *cavity, int w, int h,
110				Ttk_Side side);
111/* 30 */
112TTKAPI Ttk_Box		Ttk_StickBox(Ttk_Box parcel, int w, int h,
113				Ttk_Sticky sticky);
114/* 31 */
115TTKAPI Ttk_Box		Ttk_AnchorBox(Ttk_Box parcel, int w, int h,
116				Tk_Anchor anchor);
117/* 32 */
118TTKAPI Ttk_Box		Ttk_PadBox(Ttk_Box b, Ttk_Padding p);
119/* 33 */
120TTKAPI Ttk_Box		Ttk_ExpandBox(Ttk_Box b, Ttk_Padding p);
121/* 34 */
122TTKAPI Ttk_Box		Ttk_PlaceBox(Ttk_Box *cavity, int w, int h,
123				Ttk_Side side, Ttk_Sticky sticky);
124/* 35 */
125TTKAPI Tcl_Obj *	Ttk_NewBoxObj(Ttk_Box box);
126/* Slot 36 is reserved */
127/* Slot 37 is reserved */
128/* Slot 38 is reserved */
129/* Slot 39 is reserved */
130/* 40 */
131TTKAPI int		Ttk_GetOrientFromObj(Tcl_Interp *interp,
132				Tcl_Obj *objPtr, int *orient);
133
134typedef struct TtkStubs {
135    int magic;
136    int epoch;
137    int revision;
138    const struct TtkStubHooks *hooks;
139
140    Ttk_Theme (*ttk_GetTheme) (Tcl_Interp *interp, const char *name); /* 0 */
141    Ttk_Theme (*ttk_GetDefaultTheme) (Tcl_Interp *interp); /* 1 */
142    Ttk_Theme (*ttk_GetCurrentTheme) (Tcl_Interp *interp); /* 2 */
143    Ttk_Theme (*ttk_CreateTheme) (Tcl_Interp *interp, const char *name, Ttk_Theme parent); /* 3 */
144    void (*ttk_RegisterCleanup) (Tcl_Interp *interp, void *deleteData, Ttk_CleanupProc *cleanupProc); /* 4 */
145    int (*ttk_RegisterElementSpec) (Ttk_Theme theme, const char *elementName, Ttk_ElementSpec *elementSpec, void *clientData); /* 5 */
146    Ttk_ElementClass * (*ttk_RegisterElement) (Tcl_Interp *interp, Ttk_Theme theme, const char *elementName, Ttk_ElementSpec *elementSpec, void *clientData); /* 6 */
147    int (*ttk_RegisterElementFactory) (Tcl_Interp *interp, const char *name, Ttk_ElementFactory factoryProc, void *clientData); /* 7 */
148    void (*ttk_RegisterLayout) (Ttk_Theme theme, const char *className, Ttk_LayoutSpec layoutSpec); /* 8 */
149    void (*reserved9)(void);
150    int (*ttk_GetStateSpecFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Ttk_StateSpec *spec_rtn); /* 10 */
151    Tcl_Obj * (*ttk_NewStateSpecObj) (unsigned int onbits, unsigned int offbits); /* 11 */
152    Ttk_StateMap (*ttk_GetStateMapFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 12 */
153    Tcl_Obj * (*ttk_StateMapLookup) (Tcl_Interp *interp, Ttk_StateMap map, Ttk_State state); /* 13 */
154    int (*ttk_StateTableLookup) (Ttk_StateTable map[], Ttk_State state); /* 14 */
155    void (*reserved15)(void);
156    void (*reserved16)(void);
157    void (*reserved17)(void);
158    void (*reserved18)(void);
159    void (*reserved19)(void);
160    int (*ttk_GetPaddingFromObj) (Tcl_Interp *interp, Tk_Window tkwin, Tcl_Obj *objPtr, Ttk_Padding *pad_rtn); /* 20 */
161    int (*ttk_GetBorderFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Ttk_Padding *pad_rtn); /* 21 */
162    int (*ttk_GetStickyFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Ttk_Sticky *sticky_rtn); /* 22 */
163    Ttk_Padding (*ttk_MakePadding) (short l, short t, short r, short b); /* 23 */
164    Ttk_Padding (*ttk_UniformPadding) (short borderWidth); /* 24 */
165    Ttk_Padding (*ttk_AddPadding) (Ttk_Padding pad1, Ttk_Padding pad2); /* 25 */
166    Ttk_Padding (*ttk_RelievePadding) (Ttk_Padding padding, int relief, int n); /* 26 */
167    Ttk_Box (*ttk_MakeBox) (int x, int y, int width, int height); /* 27 */
168    int (*ttk_BoxContains) (Ttk_Box box, int x, int y); /* 28 */
169    Ttk_Box (*ttk_PackBox) (Ttk_Box *cavity, int w, int h, Ttk_Side side); /* 29 */
170    Ttk_Box (*ttk_StickBox) (Ttk_Box parcel, int w, int h, Ttk_Sticky sticky); /* 30 */
171    Ttk_Box (*ttk_AnchorBox) (Ttk_Box parcel, int w, int h, Tk_Anchor anchor); /* 31 */
172    Ttk_Box (*ttk_PadBox) (Ttk_Box b, Ttk_Padding p); /* 32 */
173    Ttk_Box (*ttk_ExpandBox) (Ttk_Box b, Ttk_Padding p); /* 33 */
174    Ttk_Box (*ttk_PlaceBox) (Ttk_Box *cavity, int w, int h, Ttk_Side side, Ttk_Sticky sticky); /* 34 */
175    Tcl_Obj * (*ttk_NewBoxObj) (Ttk_Box box); /* 35 */
176    void (*reserved36)(void);
177    void (*reserved37)(void);
178    void (*reserved38)(void);
179    void (*reserved39)(void);
180    int (*ttk_GetOrientFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, int *orient); /* 40 */
181} TtkStubs;
182
183#ifdef __cplusplus
184extern "C" {
185#endif
186extern const TtkStubs *ttkStubsPtr;
187#ifdef __cplusplus
188}
189#endif
190
191#if defined(USE_TTK_STUBS)
192
193/*
194 * Inline function declarations:
195 */
196
197#define Ttk_GetTheme \
198	(ttkStubsPtr->ttk_GetTheme) /* 0 */
199#define Ttk_GetDefaultTheme \
200	(ttkStubsPtr->ttk_GetDefaultTheme) /* 1 */
201#define Ttk_GetCurrentTheme \
202	(ttkStubsPtr->ttk_GetCurrentTheme) /* 2 */
203#define Ttk_CreateTheme \
204	(ttkStubsPtr->ttk_CreateTheme) /* 3 */
205#define Ttk_RegisterCleanup \
206	(ttkStubsPtr->ttk_RegisterCleanup) /* 4 */
207#define Ttk_RegisterElementSpec \
208	(ttkStubsPtr->ttk_RegisterElementSpec) /* 5 */
209#define Ttk_RegisterElement \
210	(ttkStubsPtr->ttk_RegisterElement) /* 6 */
211#define Ttk_RegisterElementFactory \
212	(ttkStubsPtr->ttk_RegisterElementFactory) /* 7 */
213#define Ttk_RegisterLayout \
214	(ttkStubsPtr->ttk_RegisterLayout) /* 8 */
215/* Slot 9 is reserved */
216#define Ttk_GetStateSpecFromObj \
217	(ttkStubsPtr->ttk_GetStateSpecFromObj) /* 10 */
218#define Ttk_NewStateSpecObj \
219	(ttkStubsPtr->ttk_NewStateSpecObj) /* 11 */
220#define Ttk_GetStateMapFromObj \
221	(ttkStubsPtr->ttk_GetStateMapFromObj) /* 12 */
222#define Ttk_StateMapLookup \
223	(ttkStubsPtr->ttk_StateMapLookup) /* 13 */
224#define Ttk_StateTableLookup \
225	(ttkStubsPtr->ttk_StateTableLookup) /* 14 */
226/* Slot 15 is reserved */
227/* Slot 16 is reserved */
228/* Slot 17 is reserved */
229/* Slot 18 is reserved */
230/* Slot 19 is reserved */
231#define Ttk_GetPaddingFromObj \
232	(ttkStubsPtr->ttk_GetPaddingFromObj) /* 20 */
233#define Ttk_GetBorderFromObj \
234	(ttkStubsPtr->ttk_GetBorderFromObj) /* 21 */
235#define Ttk_GetStickyFromObj \
236	(ttkStubsPtr->ttk_GetStickyFromObj) /* 22 */
237#define Ttk_MakePadding \
238	(ttkStubsPtr->ttk_MakePadding) /* 23 */
239#define Ttk_UniformPadding \
240	(ttkStubsPtr->ttk_UniformPadding) /* 24 */
241#define Ttk_AddPadding \
242	(ttkStubsPtr->ttk_AddPadding) /* 25 */
243#define Ttk_RelievePadding \
244	(ttkStubsPtr->ttk_RelievePadding) /* 26 */
245#define Ttk_MakeBox \
246	(ttkStubsPtr->ttk_MakeBox) /* 27 */
247#define Ttk_BoxContains \
248	(ttkStubsPtr->ttk_BoxContains) /* 28 */
249#define Ttk_PackBox \
250	(ttkStubsPtr->ttk_PackBox) /* 29 */
251#define Ttk_StickBox \
252	(ttkStubsPtr->ttk_StickBox) /* 30 */
253#define Ttk_AnchorBox \
254	(ttkStubsPtr->ttk_AnchorBox) /* 31 */
255#define Ttk_PadBox \
256	(ttkStubsPtr->ttk_PadBox) /* 32 */
257#define Ttk_ExpandBox \
258	(ttkStubsPtr->ttk_ExpandBox) /* 33 */
259#define Ttk_PlaceBox \
260	(ttkStubsPtr->ttk_PlaceBox) /* 34 */
261#define Ttk_NewBoxObj \
262	(ttkStubsPtr->ttk_NewBoxObj) /* 35 */
263/* Slot 36 is reserved */
264/* Slot 37 is reserved */
265/* Slot 38 is reserved */
266/* Slot 39 is reserved */
267#define Ttk_GetOrientFromObj \
268	(ttkStubsPtr->ttk_GetOrientFromObj) /* 40 */
269
270#endif /* defined(USE_TTK_STUBS) */
271
272/* !END!: Do not edit above this line. */
273
274#endif /* _TTKDECLS */
275