From e81d077c852f43b635f10972479e36909a66d60c Mon Sep 17 00:00:00 2001 From: Severin Date: Sun, 7 Dec 2014 00:58:17 +0100 Subject: Input Method Editor (IME) support for text buttons Original patch by @random (D765) with some minor work done by @campbell and me. At this place, I'd like call out a number of people who were involved and deserve a big "Thank you!": * At the first place @randon who developed and submitted the patch * The Blendercn community which helped a lot with testing - espacially * @yuzukyo, @leon_cheung and @kjym3 * @campbellbarton, @mont29 and @sergey for their help and advises during * review * @ton who realized the importance of this early on and asked me for * reviewing We are still not finished, as this is only the first part of the implementaion, but there's more to come! --- source/blender/makesdna/DNA_windowmanager_types.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'source/blender/makesdna/DNA_windowmanager_types.h') diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index 73a70b48712..1a0562ae8c5 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -165,6 +165,13 @@ enum { WM_INIT_KEYMAP = (1<<1), }; +/* IME is win32 only! */ +#ifndef WIN32 +# ifdef __GNUC__ +# define ime_data ime_data __attribute__ ((deprecated)) +# endif +#endif + /* the savable part, rest of data is local in ghostwinlay */ typedef struct wmWindow { struct wmWindow *next, *prev; @@ -197,6 +204,10 @@ typedef struct wmWindow { struct wmGesture *tweak; /* internal for wm_operators.c */ + /* Input Method Editor data - complex character input (esp. for asian character input) + * Currently WIN32, runtime-only data */ + struct wmIMEData *ime_data; + int drawmethod, drawfail; /* internal for wm_draw.c only */ void *drawdata; /* internal for wm_draw.c only */ @@ -208,6 +219,10 @@ typedef struct wmWindow { ListBase gesture; /* gesture stuff */ } wmWindow; +#ifdef ime_data +# undef ime_data +#endif + /* These two Lines with # tell makesdna this struct can be excluded. */ /* should be something like DNA_EXCLUDE * but the preprocessor first removes all comments, spaces etc */ -- cgit v1.2.3