home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Editores / Perl5 / perl / lib / site / Tk / tkGlue.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-08-10  |  2.1 KB  |  58 lines

  1. #ifndef _TKGLUE
  2. #define _TKGLUE
  3.  
  4. #ifndef _TKOPTION
  5. #include "pTk/tkOption.h"
  6. #include "pTk/tkOption_f.h"
  7. #endif
  8.  
  9.  
  10. typedef struct Lang_CmdInfo 
  11.  {Tcl_CmdInfo Tk;
  12.   Tcl_Interp  *interp;
  13.   Tk_Window   tkwin;
  14.   SV          *image; 
  15.  } Lang_CmdInfo;
  16.  
  17. #define DECLARE_VTABLES   \
  18. TkoptionVtab   *TkoptionVptr   ;  \
  19. XlibVtab   *XlibVptr   ;  \
  20. TkVtab     *TkVptr     ;  \
  21. TkintVtab  *TkintVptr  ;  \
  22. LangVtab   *LangVptr   ;  \
  23. TkglueVtab *TkglueVptr 
  24.  
  25. #define IMPORT_VTABLES                                                \
  26. do {                                                                  \
  27.   TkoptionVptr   =   (TkoptionVtab *) SvIV(perl_get_sv("Tk::TkoptionVtab",5));    \
  28.   LangVptr   =   (LangVtab *) SvIV(perl_get_sv("Tk::LangVtab",5));    \
  29.   TkVptr     =     (TkVtab *) SvIV(perl_get_sv("Tk::TkVtab",5));      \
  30.   TkintVptr  =  (TkintVtab *) SvIV(perl_get_sv("Tk::TkintVtab",5));   \
  31.   TkglueVptr = (TkglueVtab *) SvIV(perl_get_sv("Tk::TkglueVtab",5));  \
  32.   XlibVptr   =   (XlibVtab *) SvIV(perl_get_sv("Tk::XlibVtab",5));    \
  33.  } while (0)
  34.  
  35. extern Lang_CmdInfo *WindowCommand _ANSI_ARGS_((SV *win,HV **hptr, int moan));
  36. extern Tk_Window SVtoWindow _ANSI_ARGS_((SV *win));
  37. extern int Call_Tk _ANSI_ARGS_((Lang_CmdInfo *info,int argc, SV **args));
  38. extern HV *InterpHv _ANSI_ARGS_((Tcl_Interp *interp,int fatal));
  39. extern SV *WidgetRef _ANSI_ARGS_((Tcl_Interp *interp, char *path));
  40. extern SV *TkToWidget _ANSI_ARGS_((Tk_Window tkwin,Tcl_Interp **pinterp));
  41. extern SV *FindTkVarName _ANSI_ARGS_((char *varName,int flags));
  42. extern void EnterWidgetMethods _ANSI_ARGS_((char *package, ...));
  43. extern void XStoWidget _ANSI_ARGS_((CV * cv));
  44. extern SV *MakeReference _ANSI_ARGS_((SV * sv));
  45. extern void Lang_TkCommand _ANSI_ARGS_ ((char *name, Tcl_CmdProc *proc));
  46. extern Tk_Window TkToMainWindow _ANSI_ARGS_((Tk_Window tkwin));
  47.  
  48. EXTERN void ClearErrorInfo _ANSI_ARGS_((SV *interp));
  49. EXTERN Tk_Window mainWindow;
  50. EXTERN void Dump_vec _ANSI_ARGS_((char *who,int count,SV **data));
  51. EXTERN void DumpStack _ANSI_ARGS_((void));
  52. EXTERN void  Boot_Glue _ANSI_ARGS_((void));
  53. EXTERN void  Boot_Tix  _ANSI_ARGS_((void));
  54. EXTERN void install_vtab _((char *name, void *table, size_t size));
  55.  
  56.  
  57. #endif
  58.