Add angle information in IseContext 89/247289/2
authorJi-hoon Lee <dalton.lee@samsung.com>
Tue, 28 Apr 2020 12:35:29 +0000 (21:35 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Wed, 11 Nov 2020 02:32:31 +0000 (11:32 +0900)
Change-Id: I86f3618a806d3d1145820d0882a1423d61e7cfa7

ism/modules/panelagent/wayland/isf_wsc_context.h
ism/modules/panelagent/wayland/isf_wsc_control_ui.cpp
ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp
ism/src/ise_context.h

index c6106f9..241125b 100644 (file)
@@ -106,6 +106,7 @@ struct _WSCContextISF {
     uint32_t return_key_type;
     uint32_t bidi_direction;
     uint32_t caps_mode;
+    uint32_t angle;
 
     Eina_Bool layout_initialized;
     Eina_Bool prediction_allow_initialized;
@@ -137,6 +138,7 @@ struct _WSCContextISF {
                        return_key_type(0),
                        bidi_direction(0),
                        caps_mode(0),
+                       angle(0),
                        layout_initialized(EINA_FALSE),
                        prediction_allow_initialized(EINA_FALSE),
                        autocapital_type_initialized(EINA_FALSE),
index 0b56ca8..48feebc 100644 (file)
@@ -122,6 +122,9 @@ void isf_wsc_context_input_panel_show (WSCContextISF* wsc_ctx)
     /* set layout in ise context info */
     iseContext.layout = wsc_context_input_panel_layout_get (wsc_ctx);
 
+    /* set angle*/
+    iseContext.angle = (wsc_ctx ? wsc_ctx->angle : 0);
+
     /* set layout variation in ise context info */
     iseContext.layout_variation = wsc_context_input_panel_layout_variation_get (wsc_ctx);
 
index b5a0e9c..9c9c8f1 100644 (file)
@@ -895,11 +895,12 @@ _wsc_im_destroy (void *data, struct wl_input_method *input_method, struct wl_inp
 }
 
 static void
-_wsc_im_show_input_panel (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx)
+_wsc_im_show_input_panel (void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx, uint32_t angle)
 {
     struct weescim *wsc = (weescim*)data;
     if (!wsc || !wsc->wsc_ctx) return;
 
+    wsc->wsc_ctx->angle = angle;
     isf_wsc_context_input_panel_show (wsc->wsc_ctx);
     wsc->wsc_ctx->input_panel_shown_once = EINA_TRUE;
 
index 9e892a7..ff5df0c 100644 (file)
@@ -39,11 +39,12 @@ typedef struct {
     Eina_Bool prediction_allow;
     Eina_Bool password_mode;
     Eina_Bool caps_mode;
+    int angle;
     int layout_variation;
     Ecore_IMF_Autocapital_Type autocapital_type;
     Ecore_IMF_Input_Hints input_hint;
     Ecore_IMF_BiDi_Direction bidi_direction;
-    int reserved[245];
+    int reserved[244];
 } Ise_Context;
 
 #endif  /* __ISE_CONTEXT_H */