From: InHong Han Date: Fri, 19 Feb 2016 05:36:52 +0000 (+0900) Subject: ecore_imf/wayland: Add bidi_direction X-Git-Tag: accepted/tizen/common/20160224.090714^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bdff0ddad031921d0f43f19cc7ba1c5a58023072;p=platform%2Fupstream%2Fefl.git ecore_imf/wayland: Add bidi_direction Change-Id: I2070af00e794bf56ab71db4d57c823080394e599 Signed-off-by: InHong Han --- diff --git a/src/modules/ecore_imf/wayland/wayland_imcontext.c b/src/modules/ecore_imf/wayland/wayland_imcontext.c index d4f88c4..352f194 100755 --- a/src/modules/ecore_imf/wayland/wayland_imcontext.c +++ b/src/modules/ecore_imf/wayland/wayland_imcontext.c @@ -104,6 +104,8 @@ struct _WaylandIMContext void *imdata; uint32_t imdata_size; + + uint32_t bidi_direction; // }; @@ -1441,6 +1443,19 @@ wayland_im_context_input_panel_imdata_set(Ecore_IMF_Context *ctx, const void *da } // +// TIZEN_ONLY(20160218): Support BiDi direction +EAPI void +wayland_im_context_bidi_direction_set(Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction bidi_direction) +{ + WaylandIMContext *imcontext = (WaylandIMContext *)ecore_imf_context_data_get(ctx); + + imcontext->bidi_direction = bidi_direction; + + if (imcontext->text_input) + wl_text_input_bidi_direction(imcontext->text_input, imcontext->bidi_direction); +} +// + 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 edec0ad..a2d67f0 100755 --- a/src/modules/ecore_imf/wayland/wayland_imcontext.h +++ b/src/modules/ecore_imf/wayland/wayland_imcontext.h @@ -112,6 +112,10 @@ wayland_im_context_input_panel_geometry_get(Ecore_IMF_Context *ctx, EAPI void wayland_im_context_input_panel_imdata_set(Ecore_IMF_Context *ctx, const void *data, int length); // +// TIZEN_ONLY(20160218): Support BiDi direction +EAPI void +wayland_im_context_bidi_direction_set(Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction bidi_direction); +// WaylandIMContext *wayland_im_context_new (struct wl_text_input_manager *text_input_manager); diff --git a/src/modules/ecore_imf/wayland/wayland_module.c b/src/modules/ecore_imf/wayland/wayland_module.c index 48feed0..025b6fe 100755 --- a/src/modules/ecore_imf/wayland/wayland_module.c +++ b/src/modules/ecore_imf/wayland/wayland_module.c @@ -81,7 +81,7 @@ static Ecore_IMF_Context_Class wayland_imf_class = wayland_im_context_input_panel_language_locale_get, /* input_panel_language_locale_get */ NULL, /* candidate_window_geometry_get */ wayland_im_context_input_hint_set, /* input_hint_set */ - NULL /* bidi_direction_set */ + wayland_im_context_bidi_direction_set /* bidi_direction_set */ }; static struct wl_text_input_manager *text_input_manager = NULL;