e_mod_main: Modified to set window angle consider both of transform and rotation... 85/265885/4
authorJunseok, Kim <juns.kim@samsung.com>
Mon, 1 Nov 2021 08:33:13 +0000 (17:33 +0900)
committerJunseok, Kim <juns.kim@samsung.com>
Tue, 2 Nov 2021 07:09:50 +0000 (16:09 +0900)
Change-Id: I3c1179fa67741e2645ebce3bf62d64349141206e

src/e_mod_main.c

index 49f8f9de1a63f3ac5ef9db4af02314265da92e1d..279e3bc567bda1a0975a54a2b0f2c1b7c0826502 100644 (file)
@@ -1536,9 +1536,13 @@ _e_text_input_cb_input_panel_show(struct wl_client *client, struct wl_resource *
                   Eina_Bool transformEnabled = e_client_transform_core_enable_get(client_surface_ec);
 
                   if (transformEnabled && transform != 0)
-                    e_util_transform_rotation_round_get(transform, NULL, NULL, &angle);
-                  else
-                    angle = client_surface_ec->e.state.rot.ang.curr;
+                    {
+                       e_util_transform_rotation_round_get(transform, NULL, NULL, &angle);
+                       /* transformed angle and window rotation angle are diametrically opposite
+                        * when they're showing on display. so, adjust transformed angle to window rotation angle */
+                       angle = (360 - angle) % 360;
+                    }
+                  angle += client_surface_ec->e.state.rot.ang.curr;
                }
 
              wl_input_method_send_show_input_panel(input_method->resource, input_method->context->resource, angle);