summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Tk/pTk/Lang.h
blob: 4598291f8724042cff92b74b9d456730cefa7700 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
#ifndef _LANG
#define _LANG

#define STATIC_BUILD


#ifdef bool
#undef bool
#endif

#include "tkConfig.h"
#define TCL_NO_DEPRECATED

#if !defined(WIN32) && defined(USE_XFT_FONTS)
#ifndef TCL_UTF_MAX
#define TCL_UTF_MAX 13
#endif
#endif

#define USE_TCLALLOC 1
#define TCL_MEM_DEBUG
#define USE_COMPAT_CONST
#include "tcl.h"

#if !defined(__GNUC__) && !defined(_AIX)
#ifdef __STDC__
#ifndef STRINGIFY
#define STRINGIFY(x)        STRINGIFY1(x)
#define STRINGIFY1(x)       #x
#endif	/* STRINGIFY */
#define __FUNCTION__ __FILE__ ":" STRINGIFY(__LINE__)
#else 	/* STDC */
#define __FUNCTION__ ""
#endif	/* STDC */
#endif	/* GNUC or AIX */

EXTERN int	Tcl_DStringLength _ANSI_ARGS_((Tcl_DString *dString));
EXTERN char *	Tcl_DStringValue _ANSI_ARGS_((Tcl_DString *dString));

EXTERN void	Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr));
EXTERN void	Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr));
EXTERN int	Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr));

EXTERN Tcl_ObjType *	TclObjGetType _ANSI_ARGS_((Tcl_Obj *objPtr));
EXTERN int		TclObjLength  _ANSI_ARGS_((Tcl_Obj *objPtr));
EXTERN void		TclObjSetType _ANSI_ARGS_((Tcl_Obj *objPtr,Tcl_ObjType *newType));
EXTERN Tcl_InternalRep *	TclObjInternal _ANSI_ARGS_((Tcl_Obj *objPtr));

#if defined(TCL_EVENT_IMPLEMENT) && !defined(Var)
#include "mTk/tclGeneric/tclInt.h"
#endif
#if !defined(TCL_EVENT_IMPLEMENT) || defined(Var)
#define _TCLINT
typedef void *TclHandle;
extern Tcl_ObjType	tclIntType;
#endif

#ifndef Var
#define Var Tcl_Obj *
#endif
#ifndef LangCallback
#define LangCallback Tcl_Obj
#endif
#define LangStringArg(x) Tcl_NewStringObj(x,-1)

#define XFree_arg_t void

EXTERN void LangSetString _ANSI_ARGS_((Tcl_Obj **,CONST char *));
EXTERN void LangSetDefault _ANSI_ARGS_((Tcl_Obj **,CONST char *));
EXTERN void LangSetInt _ANSI_ARGS_((Tcl_Obj **,int));
EXTERN void LangSetDouble _ANSI_ARGS_((Tcl_Obj **,double));
EXTERN void LangSetObj _ANSI_ARGS_((Tcl_Obj **,Tcl_Obj *));
EXTERN void LangSetVar _ANSI_ARGS_((Tcl_Obj **,Var));

EXTERN int  LangCmpArg  _ANSI_ARGS_((CONST Tcl_Obj *,CONST Tcl_Obj *));
EXTERN int  LangCmpOpt  _ANSI_ARGS_((CONST char *opt,CONST char *arg,size_t length));


/* FIXME:
   Tk will set freeProc as for Tcl e.g. NULL for statics & UIDs
   and to "free" for Tcl_Merge etc.
   Non Tk users *may* be able to use it as a guide,
   but it is more likely that they will have to use
   their own ref counts.
   Perhaps Tcl_Merge should set freeProc and/or Tcl's
   LangSetString() deliberately malloc() a copy of the string so we don't need
   the freeProc
*/
EXTERN void LangFreeArg _ANSI_ARGS_((Tcl_Obj *,Tcl_FreeProc *freeProc));
EXTERN Tcl_Obj *LangCopyArg _ANSI_ARGS_((Tcl_Obj *));

EXTERN int  LangNull _ANSI_ARGS_((Tcl_Obj *));

EXTERN void		TclpGetTime  _ANSI_ARGS_((Tcl_Time *time));
EXTERN void		TclpAsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async));

EXTERN void Lang_SetErrorCode _ANSI_ARGS_((Tcl_Interp *interp,char *code));
EXTERN char *Lang_GetErrorCode _ANSI_ARGS_((Tcl_Interp *interp));
EXTERN char *Lang_GetErrorInfo _ANSI_ARGS_((Tcl_Interp *interp));

/* Old-config handler for variables */
EXTERN int LangSaveVar _ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,Var *,int type));
EXTERN void LangFreeVar _ANSI_ARGS_((Var));

/* New-config handler for objects, variables and callbacks */
EXTERN int LangConfigObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj **save,
				      Tcl_Obj *obj, int type));

EXTERN int LangEventHook _ANSI_ARGS_((int flags));
EXTERN void Lang_BuildInImages _ANSI_ARGS_((void));
EXTERN void *	TclCalloc _ANSI_ARGS_((size_t n,size_t s));
EXTERN void LangDebug _ANSI_ARGS_((CONST char *fmt,...));
EXTERN void LangDumpVec _ANSI_ARGS_((CONST char *tag, int argc, Tcl_Obj **vec));

EXTERN void Lang_DeleteObject _ANSI_ARGS_((Tcl_Interp *,Tcl_Command));
EXTERN Tcl_Command	Lang_CreateObject _ANSI_ARGS_((Tcl_Interp *interp,
			    char *cmdName, Tcl_ObjCmdProc *proc,
			    ClientData clientData,
			    Tcl_CmdDeleteProc *deleteProc));

EXTERN int Lang_CallWithArgs _ANSI_ARGS_ ((Tcl_Interp *interp,
					char *sub, int argc, Tcl_Obj *CONST *argv));

EXTERN void		Tcl_IntResults _ANSI_ARGS_((Tcl_Interp *interp,int,int,...));
EXTERN void		Tcl_DoubleResults _ANSI_ARGS_((Tcl_Interp *interp,int,int,...));
EXTERN void		Tcl_SprintfResult _ANSI_ARGS_((Tcl_Interp *,char *,...));



EXTERN int LangDoCallback _ANSI_ARGS_((Tcl_Interp *,LangCallback *,int result,int argc,...));
EXTERN int LangMethodCall _ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *,char *,int result,int argc,...));

EXTERN char *LangLibraryDir _ANSI_ARGS_((void));
EXTERN void Lang_SetBinaryResult _ANSI_ARGS_((Tcl_Interp *interp,
			    char *string, int len, Tcl_FreeProc *freeProc));
EXTERN Tcl_ObjCmdProc *LangOptionCommand;

typedef char *(Lang_VarTraceProc) _ANSI_ARGS_((ClientData clientData,
	Tcl_Interp *interp, Tcl_Obj *part1, CONST char *part2, int flags));

EXTERN Tcl_Encoding	Lang_CreateEncoding _ANSI_ARGS_((
    CONST char *encodingName,
    Tcl_EncodingConvertProc *toUtfProc,
    Tcl_EncodingConvertProc *fromUtfProc,
    Tcl_EncodingFreeProc *freeProc,
    ClientData clientData,
    int nullSize));

EXTERN int		Tcl_AfterObjCmd _ANSI_ARGS_((ClientData clientData,
			    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));


EXTERN int		Lang_TraceVar _ANSI_ARGS_((Tcl_Interp * interp,
				Tcl_Obj *varRef, int flags,
				Lang_VarTraceProc * proc,
				ClientData clientData));

EXTERN void		Lang_UntraceVar _ANSI_ARGS_((Tcl_Interp * interp,
				Tcl_Obj * varRef, int flags,
				Lang_VarTraceProc * proc,
				ClientData clientData));

EXTERN int		Tk_PropertyCmd _ANSI_ARGS_((ClientData clientData,
			    Tcl_Interp *interp, int argc, Tcl_Obj **objv));

struct TkFontAttributes;

EXTERN unsigned int     LangFontRank _ANSI_ARGS_((unsigned int suggested,
			    int ch, CONST char *gotName,
			    CONST char *wantFoundary,
			    CONST struct TkFontAttributes *wantAttrib,
			    CONST char *wantEncoding,
			    CONST char *gotFoundary,
			    CONST struct TkFontAttributes *gotAttrib,
			    CONST char *gotEncoding));

EXTERN void		Lang_FreeRegExp _ANSI_ARGS_((Tcl_RegExp re));

EXTERN long Lang_OSHandle _ANSI_ARGS_((int fd));
#define TK_LIBRARY LangLibraryDir()

#ifdef WIN32
#ifdef __BORLANDC__
#pragma warn -par	/* "parameter 'foo' is never used" */
#pragma warn -aus	/* "'foo' is assigned a value that is never used" */
#pragma warn -use	/* "'foo' is declared but never used" */
#endif

#ifdef _MSC_VER
#pragma warning(disable:4101 4102 4244 4018)
#pragma warning(disable:4133) /* init incompatible for xlib */
#endif
#endif

#ifndef RC_INVOKED
#include "tkEvent.h"
#if !defined(TCL_EVENT_IMPLEMENT)
#include "tkEvent.m"
#endif
#endif

#endif /* _LANG */