00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _ITKDECLS
00013 #define _ITKDECLS
00014
00015 #ifdef BUILD_itk
00016 #undef TCL_STORAGE_CLASS
00017 #define TCL_STORAGE_CLASS DLLEXPORT
00018 #endif
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef Itk_Init_TCL_DECLARED
00033 #define Itk_Init_TCL_DECLARED
00034
00035 TCL_EXTERN(int) Itk_Init _ANSI_ARGS_((Tcl_Interp * interp));
00036 #endif
00037 #ifndef Itk_SafeInit_TCL_DECLARED
00038 #define Itk_SafeInit_TCL_DECLARED
00039
00040 TCL_EXTERN(int) Itk_SafeInit _ANSI_ARGS_((Tcl_Interp * interp));
00041 #endif
00042 #ifndef Itk_ConfigBodyCmd_TCL_DECLARED
00043 #define Itk_ConfigBodyCmd_TCL_DECLARED
00044
00045 TCL_EXTERN(int) Itk_ConfigBodyCmd _ANSI_ARGS_((ClientData cdata,
00046 Tcl_Interp * interp, int objc,
00047 Tcl_Obj *CONST objv[]));
00048 #endif
00049 #ifndef Itk_UsualCmd_TCL_DECLARED
00050 #define Itk_UsualCmd_TCL_DECLARED
00051
00052 TCL_EXTERN(int) Itk_UsualCmd _ANSI_ARGS_((ClientData cdata,
00053 Tcl_Interp * interp, int objc,
00054 Tcl_Obj *CONST objv[]));
00055 #endif
00056 #ifndef Itk_ClassOptionDefineCmd_TCL_DECLARED
00057 #define Itk_ClassOptionDefineCmd_TCL_DECLARED
00058
00059 TCL_EXTERN(int) Itk_ClassOptionDefineCmd _ANSI_ARGS_((
00060 ClientData cdata, Tcl_Interp * interp,
00061 int objc, Tcl_Obj *CONST objv[]));
00062 #endif
00063 #ifndef Itk_ClassOptionIllegalCmd_TCL_DECLARED
00064 #define Itk_ClassOptionIllegalCmd_TCL_DECLARED
00065
00066 TCL_EXTERN(int) Itk_ClassOptionIllegalCmd _ANSI_ARGS_((
00067 ClientData cdata, Tcl_Interp * interp,
00068 int objc, Tcl_Obj *CONST objv[]));
00069 #endif
00070 #ifndef Itk_ConfigClassOption_TCL_DECLARED
00071 #define Itk_ConfigClassOption_TCL_DECLARED
00072
00073 TCL_EXTERN(int) Itk_ConfigClassOption _ANSI_ARGS_((
00074 Tcl_Interp * interp, ItclObject * contextObj,
00075 ClientData cdata, CONST char* newVal));
00076 #endif
00077 #ifndef Itk_CreateClassOptTable_TCL_DECLARED
00078 #define Itk_CreateClassOptTable_TCL_DECLARED
00079
00080 TCL_EXTERN(ItkClassOptTable*) Itk_CreateClassOptTable _ANSI_ARGS_((
00081 Tcl_Interp * interp, ItclClass * cdefn));
00082 #endif
00083 #ifndef Itk_FindClassOptTable_TCL_DECLARED
00084 #define Itk_FindClassOptTable_TCL_DECLARED
00085
00086 TCL_EXTERN(ItkClassOptTable*) Itk_FindClassOptTable _ANSI_ARGS_((
00087 ItclClass * cdefn));
00088 #endif
00089
00090 #ifndef Itk_CreateClassOption_TCL_DECLARED
00091 #define Itk_CreateClassOption_TCL_DECLARED
00092
00093 TCL_EXTERN(int) Itk_CreateClassOption _ANSI_ARGS_((
00094 Tcl_Interp * interp, ItclClass * cdefn,
00095 char * switchName, char * resName,
00096 char * resClass, char * defVal,
00097 char * config, ItkClassOption ** optPtr));
00098 #endif
00099 #ifndef Itk_FindClassOption_TCL_DECLARED
00100 #define Itk_FindClassOption_TCL_DECLARED
00101
00102 TCL_EXTERN(ItkClassOption*) Itk_FindClassOption _ANSI_ARGS_((
00103 ItclClass * cdefn, char * switchName));
00104 #endif
00105 #ifndef Itk_DelClassOption_TCL_DECLARED
00106 #define Itk_DelClassOption_TCL_DECLARED
00107
00108 TCL_EXTERN(void) Itk_DelClassOption _ANSI_ARGS_((ItkClassOption * opt));
00109 #endif
00110 #ifndef Itk_ArchetypeInit_TCL_DECLARED
00111 #define Itk_ArchetypeInit_TCL_DECLARED
00112
00113 TCL_EXTERN(int) Itk_ArchetypeInit _ANSI_ARGS_((Tcl_Interp* interp));
00114 #endif
00115 #ifndef Itk_OptListInit_TCL_DECLARED
00116 #define Itk_OptListInit_TCL_DECLARED
00117
00118 TCL_EXTERN(void) Itk_OptListInit _ANSI_ARGS_((ItkOptList* olist,
00119 Tcl_HashTable * options));
00120 #endif
00121 #ifndef Itk_OptListFree_TCL_DECLARED
00122 #define Itk_OptListFree_TCL_DECLARED
00123
00124 TCL_EXTERN(void) Itk_OptListFree _ANSI_ARGS_((ItkOptList* olist));
00125 #endif
00126 #ifndef Itk_OptListAdd_TCL_DECLARED
00127 #define Itk_OptListAdd_TCL_DECLARED
00128
00129 TCL_EXTERN(void) Itk_OptListAdd _ANSI_ARGS_((ItkOptList* olist,
00130 Tcl_HashEntry * entry));
00131 #endif
00132 #ifndef Itk_OptListRemove_TCL_DECLARED
00133 #define Itk_OptListRemove_TCL_DECLARED
00134
00135 TCL_EXTERN(void) Itk_OptListRemove _ANSI_ARGS_((ItkOptList* olist,
00136 Tcl_HashEntry * entry));
00137 #endif
00138
00139 typedef struct ItkStubs {
00140 int magic;
00141 struct ItkStubHooks *hooks;
00142
00143 int (*itk_Init) _ANSI_ARGS_((Tcl_Interp * interp));
00144 int (*itk_SafeInit) _ANSI_ARGS_((Tcl_Interp * interp));
00145 int (*itk_ConfigBodyCmd) _ANSI_ARGS_((ClientData cdata, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[]));
00146 int (*itk_UsualCmd) _ANSI_ARGS_((ClientData cdata, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[]));
00147 int (*itk_ClassOptionDefineCmd) _ANSI_ARGS_((ClientData cdata, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[]));
00148 int (*itk_ClassOptionIllegalCmd) _ANSI_ARGS_((ClientData cdata, Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[]));
00149 int (*itk_ConfigClassOption) _ANSI_ARGS_((Tcl_Interp * interp, ItclObject * contextObj, ClientData cdata, CONST char* newVal));
00150 ItkClassOptTable* (*itk_CreateClassOptTable) _ANSI_ARGS_((Tcl_Interp * interp, ItclClass * cdefn));
00151 ItkClassOptTable* (*itk_FindClassOptTable) _ANSI_ARGS_((ItclClass * cdefn));
00152 void *reserved9;
00153 int (*itk_CreateClassOption) _ANSI_ARGS_((Tcl_Interp * interp, ItclClass * cdefn, char * switchName, char * resName, char * resClass, char * defVal, char * config, ItkClassOption ** optPtr));
00154 ItkClassOption* (*itk_FindClassOption) _ANSI_ARGS_((ItclClass * cdefn, char * switchName));
00155 void (*itk_DelClassOption) _ANSI_ARGS_((ItkClassOption * opt));
00156 int (*itk_ArchetypeInit) _ANSI_ARGS_((Tcl_Interp* interp));
00157 void (*itk_OptListInit) _ANSI_ARGS_((ItkOptList* olist, Tcl_HashTable * options));
00158 void (*itk_OptListFree) _ANSI_ARGS_((ItkOptList* olist));
00159 void (*itk_OptListAdd) _ANSI_ARGS_((ItkOptList* olist, Tcl_HashEntry * entry));
00160 void (*itk_OptListRemove) _ANSI_ARGS_((ItkOptList* olist, Tcl_HashEntry * entry));
00161 } ItkStubs;
00162
00163 TCL_EXTERNC ItkStubs *itkStubsPtr;
00164
00165 #if defined(USE_ITK_STUBS) && !defined(USE_ITK_STUB_PROCS)
00166
00167
00168
00169
00170
00171 #ifndef Itk_Init
00172 #define Itk_Init \
00173 (itkStubsPtr->itk_Init)
00174 #endif
00175 #ifndef Itk_SafeInit
00176 #define Itk_SafeInit \
00177 (itkStubsPtr->itk_SafeInit)
00178 #endif
00179 #ifndef Itk_ConfigBodyCmd
00180 #define Itk_ConfigBodyCmd \
00181 (itkStubsPtr->itk_ConfigBodyCmd)
00182 #endif
00183 #ifndef Itk_UsualCmd
00184 #define Itk_UsualCmd \
00185 (itkStubsPtr->itk_UsualCmd)
00186 #endif
00187 #ifndef Itk_ClassOptionDefineCmd
00188 #define Itk_ClassOptionDefineCmd \
00189 (itkStubsPtr->itk_ClassOptionDefineCmd)
00190 #endif
00191 #ifndef Itk_ClassOptionIllegalCmd
00192 #define Itk_ClassOptionIllegalCmd \
00193 (itkStubsPtr->itk_ClassOptionIllegalCmd)
00194 #endif
00195 #ifndef Itk_ConfigClassOption
00196 #define Itk_ConfigClassOption \
00197 (itkStubsPtr->itk_ConfigClassOption)
00198 #endif
00199 #ifndef Itk_CreateClassOptTable
00200 #define Itk_CreateClassOptTable \
00201 (itkStubsPtr->itk_CreateClassOptTable)
00202 #endif
00203 #ifndef Itk_FindClassOptTable
00204 #define Itk_FindClassOptTable \
00205 (itkStubsPtr->itk_FindClassOptTable)
00206 #endif
00207
00208 #ifndef Itk_CreateClassOption
00209 #define Itk_CreateClassOption \
00210 (itkStubsPtr->itk_CreateClassOption)
00211 #endif
00212 #ifndef Itk_FindClassOption
00213 #define Itk_FindClassOption \
00214 (itkStubsPtr->itk_FindClassOption)
00215 #endif
00216 #ifndef Itk_DelClassOption
00217 #define Itk_DelClassOption \
00218 (itkStubsPtr->itk_DelClassOption)
00219 #endif
00220 #ifndef Itk_ArchetypeInit
00221 #define Itk_ArchetypeInit \
00222 (itkStubsPtr->itk_ArchetypeInit)
00223 #endif
00224 #ifndef Itk_OptListInit
00225 #define Itk_OptListInit \
00226 (itkStubsPtr->itk_OptListInit)
00227 #endif
00228 #ifndef Itk_OptListFree
00229 #define Itk_OptListFree \
00230 (itkStubsPtr->itk_OptListFree)
00231 #endif
00232 #ifndef Itk_OptListAdd
00233 #define Itk_OptListAdd \
00234 (itkStubsPtr->itk_OptListAdd)
00235 #endif
00236 #ifndef Itk_OptListRemove
00237 #define Itk_OptListRemove \
00238 (itkStubsPtr->itk_OptListRemove)
00239 #endif
00240
00241 #endif
00242
00243
00244
00245 #undef TCL_STORAGE_CLASS
00246 #define TCL_STORAGE_CLASS DLLIMPORT
00247
00248 #endif
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259