Commit: 96722c26d7abd11f203793f814001a91cf9c654d
Author: Severin
Date:   Thu Dec 4 23:38:36 2014 +0100
Branches: input_method_editor_partial_support
https://developer.blender.org/rB96722c26d7abd11f203793f814001a91cf9c654d

IME: Cleanup wmIMEData struct

===================================================================

M       source/blender/editors/interface/interface_handlers.c
M       source/blender/editors/interface/interface_widgets.c
M       source/blender/windowmanager/WM_types.h
M       source/blender/windowmanager/intern/wm_event_system.c

===================================================================

diff --git a/source/blender/editors/interface/interface_handlers.c 
b/source/blender/editors/interface/interface_handlers.c
index 1046646..bcf95b8 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -2636,7 +2636,7 @@ static void ui_do_but_textedit(bContext *C, uiBlock 
*block, uiBut *but, uiHandle
 
        wmWindow *win = CTX_wm_window(C);
        wmIMEData *ime_data = win->ime_data;
-       bool is_ime_composing = ime_data && ime_data->is_ime_composite;
+       bool is_ime_composing = ime_data && ime_data->is_ime_composing;
 
        switch (event->type) {
                case MOUSEMOVE:
@@ -2887,7 +2887,7 @@ static void ui_do_but_textedit(bContext *C, uiBlock 
*block, uiBut *but, uiHandle
                        ui_textedit_delete_selection(but, data);
                if (event->type == WM_IME_COMPOSITE_EVENT && 
ime_data->result_len)
                        ui_textedit_type_buf(but, data,
-                                                                
ime_data->result,
+                                            ime_data->str_result,
                                                                 
ime_data->result_len);
        }
        else if (event->type == WM_IME_COMPOSITE_END) {
diff --git a/source/blender/editors/interface/interface_widgets.c 
b/source/blender/editors/interface/interface_widgets.c
index 2cb1b29..13d8cb8 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -1241,7 +1241,7 @@ static void widget_draw_text_ime_underline(uiFontStyle 
*fstyle, uiWidgetColors *
 {
        int ofs_x, width;
        int rect_x = BLI_rcti_size_x(rect);
-       int target_start = ime_data->target_start, target_end = 
ime_data->target_end;
+       int sel_start = ime_data->sel_start, sel_end = ime_data->sel_end;
 
        if (drawstr[0] != 0) {
                if (but->pos >= but->ofs) {
@@ -1258,19 +1258,19 @@ static void widget_draw_text_ime_underline(uiFontStyle 
*fstyle, uiWidgetColors *
                UI_text_draw_underline(rect->xmin + ofs_x, rect->ymin + 6 * 
U.pixelsize, min_ii(width, rect_x - 2) - ofs_x, 1);
 
                /* draw the thick line */
-               if (target_start != -1 && target_end != -1) {
-                       target_end -= target_start;
-                       target_start += but->pos;
+               if (sel_start != -1 && sel_end != -1) {
+                       sel_end -= sel_start;
+                       sel_start += but->pos;
 
-                       if (target_start >= but->ofs) {
-                               ofs_x = BLF_width(fstyle->uifont_id, drawstr + 
but->ofs, target_start - but->ofs);
+                       if (sel_start >= but->ofs) {
+                               ofs_x = BLF_width(fstyle->uifont_id, drawstr + 
but->ofs, sel_start - but->ofs);
                        }
                        else {
                                ofs_x = 0;
                        }
 
                        width = BLF_width(fstyle->uifont_id, drawstr + but->ofs,
-                                         target_end + target_start - but->ofs);
+                                         sel_end + sel_start - but->ofs);
 
                        UI_text_draw_underline(rect->xmin + ofs_x, rect->ymin + 
6 * U.pixelsize, min_ii(width, rect_x - 2) - ofs_x, 2);
                }
@@ -1321,7 +1321,7 @@ static void widget_draw_text(uiFontStyle *fstyle, 
uiWidgetColors *wcol, uiBut *b
                        if (ime_data && ime_data->composite_len) {
                                /* insert composite string into cursor pos */
                                BLI_snprintf(drawstr, UI_MAX_DRAW_STR, "%s%s%s",
-                                            but->editstr, ime_data->composite,
+                                            but->editstr, 
ime_data->str_composite,
                                             but->editstr + but->pos);
                        }
                        else
@@ -1364,8 +1364,8 @@ static void widget_draw_text(uiFontStyle *fstyle, 
uiWidgetColors *wcol, uiBut *b
 
 #ifdef WITH_INPUT_IME
                /* if is ime compositing, move the cursor */
-               if (ime_data && ime_data->composite_len && 
ime_data->cursor_position != -1) {
-                       vpos += ime_data->cursor_position;
+               if (ime_data && ime_data->composite_len && ime_data->cursor_pos 
!= -1) {
+                       vpos += ime_data->cursor_pos;
                }
 #endif
 
diff --git a/source/blender/windowmanager/WM_types.h 
b/source/blender/windowmanager/WM_types.h
index 47b110e..d04ce28 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -470,23 +470,6 @@ typedef struct wmTabletData {
        float Ytilt;            /* as above */
 } wmTabletData;
 
-/* similar to GHOST_TEventImeData */
-/* XXX - names, comments */
-typedef struct wmIMEData {
-       size_t result_len, composite_len;
-
-       char *result;           /* utf8 encoding */
-       char *composite;        /* utf8 encoding */
-
-       int cursor_position;    /* cursor position in the IME composition. */
-       int target_start;       /* position of the beginning of the selection */
-       int target_end;         /* position of the end of the selection */
-       int cursor_xy[2];       /* text cursor position */
-       int cursor_pos_text;    /* cursor pos in text (console space only) */
-       
-       bool is_ime_composite;  /* for uiBut only */
-} wmIMEData;
-
 typedef enum {  /* motion progress, for modal handlers */
        P_NOT_STARTED,
        P_STARTING,    /* <-- */
@@ -587,6 +570,22 @@ typedef struct wmOperatorType {
 
 } wmOperatorType;
 
+/* *********** Input Method Editor (IME) *********** */
+
+/* similar to GHOST_TEventImeData */
+typedef struct wmIMEData {
+       size_t result_len, composite_len;
+
+       char *str_result;           /* utf8 encoding */
+       char *str_composite;        /* utf8 encoding */
+
+       int cursor_pos;             /* cursor position in the IME composition. 
*/
+       int sel_start;              /* beginning of the selection */
+       int sel_end;                /* end of the selection */
+
+       bool is_ime_composing;
+} wmIMEData;
+
 /* **************** Paint Cursor ******************* */
 
 typedef void (*wmPaintCursorDraw)(struct bContext *C, int, int, void 
*customdata);
diff --git a/source/blender/windowmanager/intern/wm_event_system.c 
b/source/blender/windowmanager/intern/wm_event_system.c
index 5eec18d..a42f97b 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -3378,7 +3378,7 @@ void wm_event_add_ghostevent(wmWindowManager *wm, 
wmWindow *win, int type, int U
                {
                        event.val = KM_PRESS;
                        win->ime_data = customdata;
-                       win->ime_data->is_ime_composite = true;
+                       win->ime_data->is_ime_composing = true;
                        event.type = WM_IME_COMPOSITE_START;
                        wm_event_add(win, &event);
                        break;
@@ -3393,7 +3393,7 @@ void wm_event_add_ghostevent(wmWindowManager *wm, 
wmWindow *win, int type, int U
                case GHOST_kEventImeCompositionEnd:
                {
                        event.val = KM_PRESS;
-                       win->ime_data->is_ime_composite = false;
+                       win->ime_data->is_ime_composing = false;
                        event.type = WM_IME_COMPOSITE_END;
                        wm_event_add(win, &event);
                        break;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to