Modified to deliver valid geometry information to the IMMODULE 26/223126/1
authorInHong Han <inhong1.han@samsung.com>
Thu, 23 Jan 2020 05:38:20 +0000 (14:38 +0900)
committerInHong Han <inhong1.han@samsung.com>
Thu, 23 Jan 2020 05:38:20 +0000 (14:38 +0900)
Change-Id: I331b8f32a19c4ce8ffa16ace53d5a25dbc9d3903

src/e_mod_input_panel.c

index 059c3bb11bdd5a55b6e2dd018defefd441381cc7..cd6e42a738f23737d2f67bdd70f291f4859a2791 100644 (file)
@@ -1272,6 +1272,7 @@ e_input_panel_client_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h)
     E_Input_Panel_Surface *ips;
     Eina_List *l;
     int angle = 0;
+    int zx, zy, zw, zh;
 
     if (!g_input_panel) return EINA_FALSE;
     if (!x || !y || !w || !h) return EINA_FALSE;
@@ -1285,15 +1286,28 @@ e_input_panel_client_geometry_get(E_Client *ec, int *x, int *y, int *w, int *h)
                     ips->ec->e.state.rot.ang.curr :
                     ips->ec->e.state.rot.ang.next;
 
+            e_client_base_output_resolution_useful_geometry_get(ips->ec, &zx, &zy, &zw, &zh);
             switch (angle)
               {
                case 90:
+                  *x = zh - ips->ec->y - ips->ec->client.h;
+                  *y = ips->ec->x;
+                  *w = ips->ec->h;
+                  *h = ips->ec->w;
+                  break;
+               case 180:
+                  *x = zh - ips->ec->y - ips->ec->client.h;
+                  *y = zw - ips->ec->x - ips->ec->client.w;
+                  *w = ips->ec->w;
+                  *h = ips->ec->h;
+                  break;
                case 270:
                   *x = ips->ec->y;
-                  *y = ips->ec->x;
+                  *y = zw - ips->ec->x - ips->ec->client.w;
                   *w = ips->ec->h;
                   *h = ips->ec->w;
                   break;
+               case 0:
                default:
                   *x = ips->ec->x;
                   *y = ips->ec->y;