Modified to deliver valid geometry information to the IMMODULE 50/223450/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, 30 Jan 2020 01:42:25 +0000 (01:42 +0000)
Change-Id: I331b8f32a19c4ce8ffa16ace53d5a25dbc9d3903
(cherry picked from commit e11db9e8f9bc95782cb8bf5c2a707a83920dd39f)

src/e_mod_input_panel.c

index a77226d..4166be7 100644 (file)
@@ -1270,6 +1270,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;
@@ -1283,15 +1284,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;