Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / sun4-solaris / Tk / tkGlue.h
CommitLineData
86530b38
AT
1#ifndef _TKGLUE
2#define _TKGLUE
3
4#ifndef BASEEXT
5#define BASEEXT "Tk"
6#endif
7
8#ifndef _TKOPTION
9#include "pTk/tkOption.h"
10#include "pTk/tkOption_f.h"
11#endif
12
13typedef struct EventAndKeySym
14 {XEvent event;
15 KeySym keySym;
16 Tcl_Interp *interp;
17 Tk_Window tkwin;
18 SV *window;
19 } EventAndKeySym;
20
21typedef struct Lang_CmdInfo
22 {Tcl_CmdInfo Tk;
23 Tcl_Interp *interp;
24 Tk_Window tkwin;
25 SV *image;
26 Tk_Font tkfont;
27 } Lang_CmdInfo;
28
29#ifdef WIN32
30#define DECLARE_WIN32_VTABLES \
31TkwinVtab *TkwinVptr; \
32TkwinintVtab * TkwinintVptr;
33#else
34#define DECLARE_WIN32_VTABLES
35#endif
36
37#define DECLARE_VTABLES \
38TkoptionVtab *TkoptionVptr; \
39XlibVtab *XlibVptr ; \
40TkVtab *TkVptr ; \
41TkintVtab *TkintVptr ; \
42LangVtab *LangVptr ; \
43TkeventVtab *TkeventVptr ; \
44TkglueVtab *TkglueVptr
45
46#ifdef WIN32
47#define IMPORT_WIN32_VTABLES \
48do { \
49 TkwinVptr = (TkwinVtab *) SvIV(perl_get_sv("Tk::TkwinVtab",GV_ADDWARN|GV_ADD)); \
50 TkwinintVptr = (TkwinintVtab *) SvIV(perl_get_sv("Tk::TkwinintVtab",GV_ADDWARN|GV_ADD)); \
51 } while (0);
52#else
53#define IMPORT_WIN32_VTABLES
54#endif
55
56#define IMPORT_VTABLES \
57do { \
58 TkoptionVptr = (TkoptionVtab *) SvIV(perl_get_sv("Tk::TkoptionVtab",GV_ADDWARN|GV_ADD)); \
59 LangVptr = (LangVtab *) SvIV(perl_get_sv("Tk::LangVtab",GV_ADDWARN|GV_ADD)); \
60 TkeventVptr = (TkeventVtab *) SvIV(perl_get_sv("Tk::TkeventVtab",GV_ADDWARN|GV_ADD)); \
61 TkVptr = (TkVtab *) SvIV(perl_get_sv("Tk::TkVtab",GV_ADDWARN|GV_ADD)); \
62 TkintVptr = (TkintVtab *) SvIV(perl_get_sv("Tk::TkintVtab",GV_ADDWARN|GV_ADD)); \
63 TkglueVptr = (TkglueVtab *) SvIV(perl_get_sv("Tk::TkglueVtab",GV_ADDWARN|GV_ADD)); \
64 XlibVptr = (XlibVtab *) SvIV(perl_get_sv("Tk::XlibVtab",GV_ADDWARN|GV_ADD)); \
65 } while (0)
66
67#define VTABLE_INIT() IMPORT_VTABLES
68
69extern Lang_CmdInfo *WindowCommand _ANSI_ARGS_((SV *win,HV **hptr, int moan));
70extern Tk_Window SVtoWindow _ANSI_ARGS_((SV *win));
71extern Tk_Font SVtoFont _ANSI_ARGS_((SV *win));
72extern int Call_Tk _ANSI_ARGS_((Lang_CmdInfo *info,int argc, SV **args));
73extern HV *InterpHv _ANSI_ARGS_((Tcl_Interp *interp,int fatal));
74extern SV *WidgetRef _ANSI_ARGS_((Tcl_Interp *interp, char *path));
75extern SV *TkToWidget _ANSI_ARGS_((Tk_Window tkwin,Tcl_Interp **pinterp));
76extern SV *FindTkVarName _ANSI_ARGS_((char *varName,int flags));
77extern void EnterWidgetMethods _ANSI_ARGS_((char *package, ...));
78extern SV *MakeReference _ANSI_ARGS_((SV * sv));
79extern Tk_Window TkToMainWindow _ANSI_ARGS_((Tk_Window tkwin));
80extern void Lang_TkSubCommand _ANSI_ARGS_ ((char *name, Tcl_CmdProc *proc));
81extern void Lang_TkCommand _ANSI_ARGS_ ((char *name, Tcl_CmdProc *proc));
82extern SV *XEvent_Info _((EventAndKeySym *obj,char *s));
83extern EventAndKeySym *SVtoEventAndKeySym _((SV *arg));
84extern int XSTkCommand _ANSI_ARGS_((CV *cv, Tcl_CmdProc *proc, int items, SV **args));
85
86extern XS(XStoWidget);
87
88EXTERN void ClearErrorInfo _ANSI_ARGS_((SV *interp));
89EXTERN Tk_Window mainWindow;
90EXTERN void DumpStack _ANSI_ARGS_((void));
91EXTERN void Boot_Glue _ANSI_ARGS_((void));
92EXTERN void Boot_Tix _ANSI_ARGS_((void));
93EXTERN void install_vtab _ANSI_ARGS_((char *name, void *table, size_t size));
94extern SV *TagIt _((SV *sv, char *type));
95extern void Font_DESTROY _((SV *sv));
96struct pTkCheckChain;
97extern void Tk_CheckHash _((SV *sv,struct pTkCheckChain *chain));
98
99
100#ifndef WIN32
101#define HWND void *
102#endif
103EXTERN HWND SVtoHWND _ANSI_ARGS_((SV *win));
104
105#endif