diff options
author | hobbs <hobbs> | 2002-04-05 08:41:07 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2002-04-05 08:41:07 (GMT) |
commit | 152c3ff975fe90f65cf10f081e7741aea3e0a6dc (patch) | |
tree | 406c959ae617e1855a29d8b178868bad86dcf996 /generic/tkInt.h | |
parent | 6f886ef6c778f6cc74c677cafddae7680fc5e548 (diff) | |
download | tk-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.h | 20 |
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 */ /* |