ecore_imf/wayland: Add bidi_direction 70/59870/2
authorInHong Han <inhong1.han@samsung.com>
Fri, 19 Feb 2016 05:36:52 +0000 (14:36 +0900)
committerInHong Han <inhong1.han@samsung.com>
Fri, 19 Feb 2016 06:19:56 +0000 (15:19 +0900)
Change-Id: I2070af00e794bf56ab71db4d57c823080394e599
Signed-off-by: InHong Han <inhong1.han@samsung.com>
src/modules/ecore_imf/wayland/wayland_imcontext.c
src/modules/ecore_imf/wayland/wayland_imcontext.h
src/modules/ecore_imf/wayland/wayland_module.c

index d4f88c4..352f194 100755 (executable)
@@ -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));
index edec0ad..a2d67f0 100755 (executable)
@@ -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);
 
index 48feed0..025b6fe 100755 (executable)
@@ -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;