00001
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef TCLSADIE_H
00029
00030 #define TCLSADIE_H 1
00031 #include <tcl.h>
00032 #include <tk.h>
00033 #include <sadie.h>
00034 #include "project_utilities.h"
00035
00036 BEGIN_C_DECLARATIONS
00037
00046 #define SADIEVAR_ARRAYNAME "SadieVar"
00047
00048 #define DEFAULT_IN_IMAGE_ADDR_INDEX "inimg,addr"
00049
00050 #define DEFAULT_OUT_IMAGE_NAME_INDEX "outname"
00051
00052 #define DEFAULT_MESSAGE_INDEX "message"
00053
00054 #define DEFAULT_ERR_POPUP ".dlg"
00055
00056 #define DEFAULT_SESSION_LOG_CANVAS ".sessionlog.canvas"
00057
00058 #define DEFAULT_SESSION_LOG_POS_INDEX "sessionlog,pos"
00059
00060 #define DEFAULT_SESSION_LOG_REFRESH "update_sessionlog_view"
00061
00062 #define DEFAULT_TCL_ARRAY_TITLE "arrayname"
00063
00066 typedef struct Tclsadie_app_data * tclsadie_app_datap_t;
00068 typedef struct Tclsadie_cmd_skel * tclsadie_cmd_skelp_t;
00069
00071 struct Tclsadie_cmd_skel
00072 {
00073 int len;
00074 Tcl_Obj ** cmd;
00075 };
00076
00078 struct Tclsadie_app_data
00079 {
00080 Tcl_Interp * main_interp;
00081 Tcl_Obj * sessionlog_canvas;
00082 Tcl_Obj * sadievar;
00083 tclsadie_cmd_skelp_t log_refresh;
00084 tclsadie_cmd_skelp_t err_popup;
00085 };
00086
00087 extern int tclsadie_private_data_init (Tcl_Interp * interp);
00088
00089 extern int tclsadie_app_init (void);
00090
00091 extern int ProgMeter_Create (const char * title, void * data);
00092
00093 extern int ProgMeter_Update (int gaugenum, double value, void * data);
00094
00095 extern int ProgMeter_Destroy (int gaugenum, void * data);
00096
00097 extern Tcl_Obj * NewSadieImageObj (IMAGE * img);
00098
00099 extern Tcl_Obj * NewSadieImageObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00100 const char * ixname, IMAGE * imagePtr);
00101 extern int SetSadieNamedImageResult (Tcl_Interp * interp, IMAGE * imagePtr,
00102 Tcl_Obj * nameobjPtr);
00103 extern int GetSadieImageFromObj (Tcl_Obj * objPtr, IMAGE ** imagehandle);
00104
00105 extern int GetSadieDkeyFromObj (Tcl_Obj * objPtr, const char ** dkeyhandle);
00106
00107 extern int GetSadieImageFromObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00108 const char * ixname, IMAGE ** imagehandle);
00109 extern int SetSadieImageObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00110 const char * ixname, IMAGE * imagePtr);
00111 extern int SetSadieComponentObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00112 const char ** ixname, IMAGE ** comp_image);
00113 extern int GetSadiePixelFromObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00114 const char * ixname, PIXEL * pixelPtr);
00115 extern int GetSadieUintFromObj (Tcl_Interp * interp, Tcl_Obj * objPtr,
00116 uint32_t * uintPtr);
00117 extern int GetSadieUint64FromObj (Tcl_Interp * interp, Tcl_Obj * objPtr,
00118 uint64_t * uintPtr);
00119 extern int GetSadieUintFromObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00120 const char * ixname, uint32_t * uintPtr);
00121 extern int GetSadieIntFromObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00122 const char * ixname, int * intPtr);
00123 extern int GetSadieDoubleFromObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00124 const char * ixname, double * doublePtr);
00125 extern int GetSadieBooleanFromObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00126 const char * ixname, int * boolPtr);
00127 extern int GetSadieDkeyFromObj (Tcl_Obj * objPtr, const char ** dkeyhandle);
00128
00129 extern int GetSadieDkeyFromObj2 (Tcl_Interp * interp, Tcl_Obj * arrayobjPtr,
00130 const char * ixname,
00131 const char ** dkeyhandle);
00132 END_C_DECLARATIONS
00133
00134 #endif