aboutsummaryrefslogtreecommitdiffstats
path: root/chinese/tk83/files/patch-al
blob: d7560ddafa09df8ab8f0b7a8ba39e92f6f96107d (plain) (blame)
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
--- ../generic/tkInt.h.orig	Fri Jan 21 03:54:41 2000
+++ ../generic/tkInt.h	Wed Feb 21 21:27:44 2001
@@ -499,6 +499,24 @@
     int warpX;
     int warpY;
     int useInputMethods;	/* Whether to use input methods */
+#ifdef TK_USE_INPUT_METHODS
+#ifdef I18N_IMPROVE
+    Tcl_Encoding imEncoding;	/* Tcl encoding when the first Tcl
+				 * interp was created.
+				 * For encoding conversion from
+				 * XmbLookupString() to UTF.
+				 */
+    XIC lastFocusedIC;		/* The last focused input context on
+				 * the display.
+				 */
+    int isComposed;             /* 1 if the latest KeyPress event is a
+                                 * "Compose message" from IM server,
+                                 * otherwise 0. */
+#ifdef XNDestroyCallback
+    XIMCallback destroyCallback;
+#endif /* XNDestroyCallback */
+#endif /* I18N_IMPROVE */
+#endif /* TK_USE_INPUT_METHODS */
 } TkDisplay;
 
 /*
@@ -790,6 +808,13 @@
      */
 
     struct TkWindowPrivate *privatePtr;
+#ifdef TK_USE_INPUT_METHODS
+#ifdef I18N_IMPROVE
+    Tcl_DString composedDStr;	/* To prepare successive "%A" in bind
+				 * script, save a string from IM
+				 * server. */
+#endif /* I18N_IMPROVE */
+#endif /* TK_USE_INPUT_METHODS */
 } TkWindow;
 
 /*
@@ -999,9 +1024,6 @@
 EXTERN int		Tk_WmCmd _ANSI_ARGS_((ClientData clientData,
 			    Tcl_Interp *interp, int argc, char **argv));
 
-void	TkConsolePrint _ANSI_ARGS_((Tcl_Interp *interp,
-			    int devId, char *buffer, long size));
-
 EXTERN void		TkEventInit _ANSI_ARGS_((void));
 
 EXTERN int		TkCreateMenuCmd _ANSI_ARGS_((Tcl_Interp *interp));
@@ -1080,6 +1102,21 @@
  */
 EXTERN int		TkUnsupported1Cmd _ANSI_ARGS_((ClientData clientData,
 			    Tcl_Interp *interp, int argc, char **argv));
+
+#if defined(TK_USE_INPUT_METHODS) && defined(I18N_IMPROVE)
+EXTERN XIC		TkpCreateIC _ANSI_ARGS_((TkWindow *winPtr));
+EXTERN void		TkpDestroyIC _ANSI_ARGS_((TkWindow *winPtr, int needDestroy));
+EXTERN int		Tk_ImconfigureObjCmd _ANSI_ARGS_((ClientData clientData,
+			    Tcl_Interp *interp, int objc,
+			    Tcl_Obj *CONST objv[]));
+#endif /* TK_USE_INPUT_METHODS && I18N_IMPROVE */
+
+# undef TCL_STORAGE_CLASS
+# define TCL_STORAGE_CLASS
+
+EXTERN int	TkConsoleInit _ANSI_ARGS_((Tcl_Interp *interp));
+EXTERN void	TkConsolePrint _ANSI_ARGS_((Tcl_Interp *interp,
+			    int devId, char *buffer, long size));
 
 # undef TCL_STORAGE_CLASS
 # define TCL_STORAGE_CLASS DLLIMPORT