summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJihoon Kim <jihoon48.kim@samsung.com>2015-05-28 13:13:25 +0900
committerJihoon Kim <jihoon48.kim@samsung.com>2015-05-28 13:13:25 +0900
commit15814ccccbd30a28ae64ef661efbd5ca0418aaf2 (patch)
tree0e705274540fc2c97dff82e0a9395186d22522f6 /src
parent7240a71d333274a0d6b2d999a9c1d18d634d607a (diff)
ecore_imf/wayland: support input language mode in wayland text input
@feature
Diffstat (limited to 'src')
-rw-r--r--src/modules/ecore_imf/wayland/wayland_imcontext.c12
-rw-r--r--src/modules/ecore_imf/wayland/wayland_imcontext.h3
-rw-r--r--src/modules/ecore_imf/wayland/wayland_module.c2
3 files changed, 16 insertions, 1 deletions
diff --git a/src/modules/ecore_imf/wayland/wayland_imcontext.c b/src/modules/ecore_imf/wayland/wayland_imcontext.c
index 29bb554116..c47e647c41 100644
--- a/src/modules/ecore_imf/wayland/wayland_imcontext.c
+++ b/src/modules/ecore_imf/wayland/wayland_imcontext.c
@@ -907,6 +907,18 @@ wayland_im_context_input_hint_set(Ecore_IMF_Context *ctx,
907 imcontext->content_hint &= ~WL_TEXT_INPUT_CONTENT_HINT_SENSITIVE_DATA; 907 imcontext->content_hint &= ~WL_TEXT_INPUT_CONTENT_HINT_SENSITIVE_DATA;
908} 908}
909 909
910EAPI void
911wayland_im_context_input_panel_language_set(Ecore_IMF_Context *ctx,
912 Ecore_IMF_Input_Panel_Lang lang)
913{
914 WaylandIMContext *imcontext = (WaylandIMContext *)ecore_imf_context_data_get(ctx);
915
916 if (lang == ECORE_IMF_INPUT_PANEL_LANG_ALPHABET)
917 imcontext->content_hint |= WL_TEXT_INPUT_CONTENT_HINT_LATIN;
918 else
919 imcontext->content_hint &= ~WL_TEXT_INPUT_CONTENT_HINT_LATIN;
920}
921
910WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager *text_input_manager) 922WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager *text_input_manager)
911{ 923{
912 WaylandIMContext *context = calloc(1, sizeof(WaylandIMContext)); 924 WaylandIMContext *context = calloc(1, sizeof(WaylandIMContext));
diff --git a/src/modules/ecore_imf/wayland/wayland_imcontext.h b/src/modules/ecore_imf/wayland/wayland_imcontext.h
index 3b004eec77..a105c78a96 100644
--- a/src/modules/ecore_imf/wayland/wayland_imcontext.h
+++ b/src/modules/ecore_imf/wayland/wayland_imcontext.h
@@ -72,6 +72,9 @@ EAPI void wayland_im_context_input_mode_set(Ecore_IMF_Context *ctx,
72EAPI void wayland_im_context_input_hint_set(Ecore_IMF_Context *ctx, 72EAPI void wayland_im_context_input_hint_set(Ecore_IMF_Context *ctx,
73 Ecore_IMF_Input_Hints input_hints); 73 Ecore_IMF_Input_Hints input_hints);
74 74
75EAPI void wayland_im_context_input_panel_language_set(Ecore_IMF_Context *ctx,
76 Ecore_IMF_Input_Panel_Lang lang);
77
75WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager *text_input_manager); 78WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager *text_input_manager);
76 79
77extern int _ecore_imf_wayland_log_dom; 80extern int _ecore_imf_wayland_log_dom;
diff --git a/src/modules/ecore_imf/wayland/wayland_module.c b/src/modules/ecore_imf/wayland/wayland_module.c
index c65ff8a09b..d5dfbc277e 100644
--- a/src/modules/ecore_imf/wayland/wayland_module.c
+++ b/src/modules/ecore_imf/wayland/wayland_module.c
@@ -66,7 +66,7 @@ static Ecore_IMF_Context_Class wayland_imf_class =
66 NULL, /* control panel hide */ 66 NULL, /* control panel hide */
67 wayland_im_context_input_panel_layout_set, /* input_panel_layout_set */ 67 wayland_im_context_input_panel_layout_set, /* input_panel_layout_set */
68 NULL, /* input_panel_layout_get, */ 68 NULL, /* input_panel_layout_get, */
69 NULL, /* input_panel_language_set, */ 69 wayland_im_context_input_panel_language_set,/* input_panel_language_set, */
70 NULL, /* input_panel_language_get, */ 70 NULL, /* input_panel_language_get, */
71 wayland_im_context_cursor_location_set, /* cursor_location_set */ 71 wayland_im_context_cursor_location_set, /* cursor_location_set */
72 NULL, /* input_panel_imdata_set */ 72 NULL, /* input_panel_imdata_set */