1/*
2 * tkimgDecls.h --
3 *
4 *  Declarations of functions in the platform independent public TKIMG API.
5 *
6 */
7
8#ifndef _TKIMGDECLS
9#define _TKIMGDECLS
10
11/*
12 * WARNING: The contents of this file is automatically generated by the
13 * genStubs.tcl script. Any modifications to the function declarations
14 * below should be made in the tkimg.decls script.
15 */
16
17#include <tk.h>
18
19#ifdef TKIMGAPI
20#   undef TCL_STORAGE_CLASS
21#   define TCL_STORAGE_CLASS DLLEXPORT
22#else
23#   define TKIMGAPI extern
24#   undef USE_TKIMG_STUBS
25#   define USE_TKIMG_STUBS 1
26#endif
27
28EXTERN int Tkimg_Init(Tcl_Interp *interp);
29EXTERN int Tkimg_SafeInit(Tcl_Interp *interp);
30
31typedef struct tkimg_MFile {
32	Tcl_DString *buffer; /* pointer to dynamical string */
33	char *data; /* mmencoded source string */
34	int c; /* bits left over from previous char */
35	int state; /* decoder state (0-4 or IMG_DONE) */
36	int length; /* length of physical line already written */
37} tkimg_MFile;
38
39/* !BEGIN!: Do not edit below this line. */
40
41/*
42 * Exported function declarations:
43 */
44
45/* 0 */
46TKIMGAPI Tcl_Channel	tkimg_OpenFileChannel(Tcl_Interp *interp,
47				const char *fileName, int permissions);
48/* 1 */
49TKIMGAPI int		tkimg_ReadInit(Tcl_Obj *data, int c,
50				tkimg_MFile *handle);
51/* 2 */
52TKIMGAPI void		tkimg_WriteInit(Tcl_DString *buffer,
53				tkimg_MFile *handle);
54/* 3 */
55TKIMGAPI int		tkimg_Getc(tkimg_MFile *handle);
56/* 4 */
57TKIMGAPI int		tkimg_Read(tkimg_MFile *handle, char *dst, int count);
58/* 5 */
59TKIMGAPI int		tkimg_Putc(int c, tkimg_MFile *handle);
60/* 6 */
61TKIMGAPI int		tkimg_Write(tkimg_MFile *handle, const char *src,
62				int count);
63/* 7 */
64TKIMGAPI void		tkimg_ReadBuffer(int onOff);
65/* Slot 8 is reserved */
66/* Slot 9 is reserved */
67/* 10 */
68TKIMGAPI int		tkimg_PhotoPutBlock(Tcl_Interp *interp,
69				Tk_PhotoHandle handle,
70				Tk_PhotoImageBlock *blockPtr, int x, int y,
71				int width, int height, int flags);
72/* 11 */
73TKIMGAPI int		tkimg_PhotoExpand(Tcl_Interp *interp,
74				Tk_PhotoHandle handle, int width, int height);
75/* 12 */
76TKIMGAPI int		tkimg_PhotoSetSize(Tcl_Interp *interp,
77				Tk_PhotoHandle handle, int width, int height);
78/* Slot 13 is reserved */
79/* Slot 14 is reserved */
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 */
86TKIMGAPI void		tkimg_FixChanMatchProc(Tcl_Interp **interp,
87				Tcl_Channel *chan, const char **file,
88				Tcl_Obj **format, int **width, int **height);
89/* 21 */
90TKIMGAPI void		tkimg_FixObjMatchProc(Tcl_Interp **interp,
91				Tcl_Obj **data, Tcl_Obj **format,
92				int **width, int **height);
93/* 22 */
94TKIMGAPI void		tkimg_FixStringWriteProc(Tcl_DString *data,
95				Tcl_Interp **interp, Tcl_DString **dataPtr,
96				Tcl_Obj **format,
97				Tk_PhotoImageBlock **blockPtr);
98/* Slot 23 is reserved */
99/* Slot 24 is reserved */
100/* Slot 25 is reserved */
101/* Slot 26 is reserved */
102/* Slot 27 is reserved */
103/* Slot 28 is reserved */
104/* Slot 29 is reserved */
105/* 30 */
106TKIMGAPI const char *	tkimg_GetStringFromObj(Tcl_Obj *objPtr,
107				int *lengthPtr);
108/* 31 */
109TKIMGAPI unsigned char * tkimg_GetByteArrayFromObj(Tcl_Obj *objPtr,
110				int *lengthPtr);
111/* 32 */
112TKIMGAPI int		tkimg_ListObjGetElements(Tcl_Interp *interp,
113				Tcl_Obj *objPtr, int *argc, Tcl_Obj ***argv);
114
115typedef struct TkimgStubs {
116    int magic;
117    const struct TkimgStubHooks *hooks;
118
119    Tcl_Channel (*tkimg_OpenFileChannelPtr) (Tcl_Interp *interp, const char *fileName, int permissions); /* 0 */
120    int (*tkimg_ReadInitPtr) (Tcl_Obj *data, int c, tkimg_MFile *handle); /* 1 */
121    void (*tkimg_WriteInitPtr) (Tcl_DString *buffer, tkimg_MFile *handle); /* 2 */
122    int (*tkimg_GetcPtr) (tkimg_MFile *handle); /* 3 */
123    int (*tkimg_ReadPtr) (tkimg_MFile *handle, char *dst, int count); /* 4 */
124    int (*tkimg_PutcPtr) (int c, tkimg_MFile *handle); /* 5 */
125    int (*tkimg_WritePtr) (tkimg_MFile *handle, const char *src, int count); /* 6 */
126    void (*tkimg_ReadBufferPtr) (int onOff); /* 7 */
127    void (*reserved8)(void);
128    void (*reserved9)(void);
129    int (*tkimg_PhotoPutBlockPtr) (Tcl_Interp *interp, Tk_PhotoHandle handle, Tk_PhotoImageBlock *blockPtr, int x, int y, int width, int height, int flags); /* 10 */
130    int (*tkimg_PhotoExpandPtr) (Tcl_Interp *interp, Tk_PhotoHandle handle, int width, int height); /* 11 */
131    int (*tkimg_PhotoSetSizePtr) (Tcl_Interp *interp, Tk_PhotoHandle handle, int width, int height); /* 12 */
132    void (*reserved13)(void);
133    void (*reserved14)(void);
134    void (*reserved15)(void);
135    void (*reserved16)(void);
136    void (*reserved17)(void);
137    void (*reserved18)(void);
138    void (*reserved19)(void);
139    void (*tkimg_FixChanMatchProcPtr) (Tcl_Interp **interp, Tcl_Channel *chan, const char **file, Tcl_Obj **format, int **width, int **height); /* 20 */
140    void (*tkimg_FixObjMatchProcPtr) (Tcl_Interp **interp, Tcl_Obj **data, Tcl_Obj **format, int **width, int **height); /* 21 */
141    void (*tkimg_FixStringWriteProcPtr) (Tcl_DString *data, Tcl_Interp **interp, Tcl_DString **dataPtr, Tcl_Obj **format, Tk_PhotoImageBlock **blockPtr); /* 22 */
142    void (*reserved23)(void);
143    void (*reserved24)(void);
144    void (*reserved25)(void);
145    void (*reserved26)(void);
146    void (*reserved27)(void);
147    void (*reserved28)(void);
148    void (*reserved29)(void);
149    const char * (*tkimg_GetStringFromObjPtr) (Tcl_Obj *objPtr, int *lengthPtr); /* 30 */
150    unsigned char * (*tkimg_GetByteArrayFromObjPtr) (Tcl_Obj *objPtr, int *lengthPtr); /* 31 */
151    int (*tkimg_ListObjGetElementsPtr) (Tcl_Interp *interp, Tcl_Obj *objPtr, int *argc, Tcl_Obj ***argv); /* 32 */
152} TkimgStubs;
153
154#ifdef __cplusplus
155extern "C" {
156#endif
157TKIMGAPI const TkimgStubs *tkimgStubsPtr;
158#ifdef __cplusplus
159}
160#endif
161
162#if defined(USE_TKIMG_STUBS)
163
164/*
165 * Inline function declarations:
166 */
167
168#define tkimg_OpenFileChannel \
169	(tkimgStubsPtr->tkimg_OpenFileChannelPtr) /* 0 */
170#define tkimg_ReadInit \
171	(tkimgStubsPtr->tkimg_ReadInitPtr) /* 1 */
172#define tkimg_WriteInit \
173	(tkimgStubsPtr->tkimg_WriteInitPtr) /* 2 */
174#define tkimg_Getc \
175	(tkimgStubsPtr->tkimg_GetcPtr) /* 3 */
176#define tkimg_Read \
177	(tkimgStubsPtr->tkimg_ReadPtr) /* 4 */
178#define tkimg_Putc \
179	(tkimgStubsPtr->tkimg_PutcPtr) /* 5 */
180#define tkimg_Write \
181	(tkimgStubsPtr->tkimg_WritePtr) /* 6 */
182#define tkimg_ReadBuffer \
183	(tkimgStubsPtr->tkimg_ReadBufferPtr) /* 7 */
184/* Slot 8 is reserved */
185/* Slot 9 is reserved */
186#define tkimg_PhotoPutBlock \
187	(tkimgStubsPtr->tkimg_PhotoPutBlockPtr) /* 10 */
188#define tkimg_PhotoExpand \
189	(tkimgStubsPtr->tkimg_PhotoExpandPtr) /* 11 */
190#define tkimg_PhotoSetSize \
191	(tkimgStubsPtr->tkimg_PhotoSetSizePtr) /* 12 */
192/* Slot 13 is reserved */
193/* Slot 14 is reserved */
194/* Slot 15 is reserved */
195/* Slot 16 is reserved */
196/* Slot 17 is reserved */
197/* Slot 18 is reserved */
198/* Slot 19 is reserved */
199#define tkimg_FixChanMatchProc \
200	(tkimgStubsPtr->tkimg_FixChanMatchProcPtr) /* 20 */
201#define tkimg_FixObjMatchProc \
202	(tkimgStubsPtr->tkimg_FixObjMatchProcPtr) /* 21 */
203#define tkimg_FixStringWriteProc \
204	(tkimgStubsPtr->tkimg_FixStringWriteProcPtr) /* 22 */
205/* Slot 23 is reserved */
206/* Slot 24 is reserved */
207/* Slot 25 is reserved */
208/* Slot 26 is reserved */
209/* Slot 27 is reserved */
210/* Slot 28 is reserved */
211/* Slot 29 is reserved */
212#define tkimg_GetStringFromObj \
213	(tkimgStubsPtr->tkimg_GetStringFromObjPtr) /* 30 */
214#define tkimg_GetByteArrayFromObj \
215	(tkimgStubsPtr->tkimg_GetByteArrayFromObjPtr) /* 31 */
216#define tkimg_ListObjGetElements \
217	(tkimgStubsPtr->tkimg_ListObjGetElementsPtr) /* 32 */
218
219#endif /* defined(USE_TKIMG_STUBS) */
220
221/* !END!: Do not edit above this line. */
222
223#undef TCL_STORAGE_CLASS
224#define TCL_STORAGE_CLASS DLLIMPORT
225
226#endif /* _TKIMGDECLS */
227