summaryrefslogtreecommitdiffstats
path: root/generic/tkInt.h
diff options
context:
space:
mode:
authorhobbs <hobbs>2002-04-05 08:41:07 (GMT)
committerhobbs <hobbs>2002-04-05 08:41:07 (GMT)
commit152c3ff975fe90f65cf10f081e7741aea3e0a6dc (patch)
tree406c959ae617e1855a29d8b178868bad86dcf996 /generic/tkInt.h
parent6f886ef6c778f6cc74c677cafddae7680fc5e548 (diff)
downloadtk-152c3ff975fe90f65cf10f081e7741aea3e0a6dc.zip
tk-152c3ff975fe90f65cf10f081e7741aea3e0a6dc.tar.gz
tk-152c3ff975fe90f65cf10f081e7741aea3e0a6dc.tar.bz2
* generic/tkInt.h: added TK_XIM_SPOT #define (default 1).
Added XFontSet attribute to TkDisplay when TK_XIM_SPOT is true. * generic/tkEvent.c (Tk_HandleEvent): made sure inputContexts are not getting created on DestroyNotify events (for dead windows). Added over-the-spot support if TK_XIM_SPOT is defined (default). The is the nicer XIM behavior, but uses a bit more memory.
Diffstat (limited to 'generic/tkInt.h')
-rw-r--r--generic/tkInt.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/generic/tkInt.h b/generic/tkInt.h
index 30772bc..44c9f67 100644
--- a/generic/tkInt.h
+++ b/generic/tkInt.h
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: $Id: tkInt.h,v 1.42 2002/02/22 02:41:16 hobbs Exp $
+ * RCS: $Id: tkInt.h,v 1.43 2002/04/05 08:41:07 hobbs Exp $
*/
#ifndef _TKINT
@@ -82,6 +82,16 @@ typedef struct TkCursor {
} TkCursor;
/*
+ * This defines whether we should try to use XIM over-the-spot style
+ * input. Allow users to override it. It is a much more elegant use
+ * of XIM, but uses a bit more memory.
+ */
+
+#ifndef TK_XIM_SPOT
+# define TK_XIM_SPOT 1
+#endif
+
+/*
* One of the following structures is maintained for each display
* containing a window managed by Tk. In part, the structure is
* used to store thread-specific data, since each thread will have
@@ -456,6 +466,9 @@ typedef struct TkDisplay {
#ifdef TK_USE_INPUT_METHODS
XIM inputMethod; /* Input method for this display */
+#if TK_XIM_SPOT
+ XFontSet inputXfs; /* XFontSet cached for over-the-spot XIM. */
+#endif
#endif /* TK_USE_INPUT_METHODS */
Tcl_HashTable winTable; /* Maps from X window ids to TkWindow ptrs. */
@@ -481,6 +494,7 @@ typedef struct TkDisplay {
long deletionEpoch; /* Incremented by window deletions */
} TkDisplay;
+
/*
* One of the following structures exists for each error handler
* created by a call to Tk_CreateErrorHandler. The structure
@@ -517,8 +531,6 @@ typedef struct TkErrorHandler {
} TkErrorHandler;
-
-
/*
* One of the following structures exists for each event handler
* created by calling Tk_CreateEventHandler. This information
@@ -700,7 +712,7 @@ typedef struct TkWindow {
* declared for this window, or
* NULL if none. */
#ifdef TK_USE_INPUT_METHODS
- XIC inputContext; /* Input context (for input methods). */
+ XIC inputContext; /* XIM input context. */
#endif /* TK_USE_INPUT_METHODS */
/*