jihoon pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=15814ccccbd30a28ae64ef661efbd5ca0418aaf2

commit 15814ccccbd30a28ae64ef661efbd5ca0418aaf2
Author: Jihoon Kim <jihoon48....@samsung.com>
Date:   Thu May 28 13:13:25 2015 +0900

    ecore_imf/wayland: support input language mode in wayland text input
    
    @feature
---
 src/modules/ecore_imf/wayland/wayland_imcontext.c | 12 ++++++++++++
 src/modules/ecore_imf/wayland/wayland_imcontext.h |  3 +++
 src/modules/ecore_imf/wayland/wayland_module.c    |  2 +-
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/modules/ecore_imf/wayland/wayland_imcontext.c 
b/src/modules/ecore_imf/wayland/wayland_imcontext.c
index 29bb554..c47e647 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,
      imcontext->content_hint &= ~WL_TEXT_INPUT_CONTENT_HINT_SENSITIVE_DATA;
 }
 
+EAPI void
+wayland_im_context_input_panel_language_set(Ecore_IMF_Context *ctx,
+                                            Ecore_IMF_Input_Panel_Lang lang)
+{
+   WaylandIMContext *imcontext = (WaylandIMContext 
*)ecore_imf_context_data_get(ctx);
+
+   if (lang == ECORE_IMF_INPUT_PANEL_LANG_ALPHABET)
+     imcontext->content_hint |= WL_TEXT_INPUT_CONTENT_HINT_LATIN;
+   else
+     imcontext->content_hint &= ~WL_TEXT_INPUT_CONTENT_HINT_LATIN;
+}
+
 WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager 
*text_input_manager)
 {
    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 3b004ee..a105c78 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,
 EAPI void wayland_im_context_input_hint_set(Ecore_IMF_Context *ctx,
                                             Ecore_IMF_Input_Hints input_hints);
 
+EAPI void wayland_im_context_input_panel_language_set(Ecore_IMF_Context *ctx,
+                                                      
Ecore_IMF_Input_Panel_Lang lang);
+
 WaylandIMContext *wayland_im_context_new        (struct wl_text_input_manager 
*text_input_manager);
 
 extern 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 c65ff8a..d5dfbc2 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 =
    NULL,                                      /* control panel hide */
    wayland_im_context_input_panel_layout_set, /* input_panel_layout_set */
    NULL,                                      /* input_panel_layout_get, */
-   NULL,                                      /* input_panel_language_set, */
+   wayland_im_context_input_panel_language_set,/* input_panel_language_set, */
    NULL,                                      /* input_panel_language_get, */
    wayland_im_context_cursor_location_set,    /* cursor_location_set */
    NULL,                                      /* input_panel_imdata_set */

-- 


Reply via email to