ecore_imf/wayland: support input language mode in wayland text input

@feature
This commit is contained in:
Jihoon Kim 2015-05-28 13:13:25 +09:00
parent 7240a71d33
commit 15814ccccb
3 changed files with 16 additions and 1 deletions

View File

@ -907,6 +907,18 @@ wayland_im_context_input_hint_set(Ecore_IMF_Context *ctx,
imcontext->content_hint &= ~WL_TEXT_INPUT_CONTENT_HINT_SENSITIVE_DATA; 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 *wayland_im_context_new (struct wl_text_input_manager *text_input_manager)
{ {
WaylandIMContext *context = calloc(1, sizeof(WaylandIMContext)); WaylandIMContext *context = calloc(1, sizeof(WaylandIMContext));

View File

@ -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, EAPI void wayland_im_context_input_hint_set(Ecore_IMF_Context *ctx,
Ecore_IMF_Input_Hints input_hints); 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); WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager *text_input_manager);
extern int _ecore_imf_wayland_log_dom; extern int _ecore_imf_wayland_log_dom;

View File

@ -66,7 +66,7 @@ static Ecore_IMF_Context_Class wayland_imf_class =
NULL, /* control panel hide */ NULL, /* control panel hide */
wayland_im_context_input_panel_layout_set, /* input_panel_layout_set */ wayland_im_context_input_panel_layout_set, /* input_panel_layout_set */
NULL, /* input_panel_layout_get, */ 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, */ NULL, /* input_panel_language_get, */
wayland_im_context_cursor_location_set, /* cursor_location_set */ wayland_im_context_cursor_location_set, /* cursor_location_set */
NULL, /* input_panel_imdata_set */ NULL, /* input_panel_imdata_set */