Refactoring code to check rotation size 27/276827/2
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 24 Jun 2022 12:21:48 +0000 (21:21 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 28 Jun 2022 00:48:17 +0000 (09:48 +0900)
Change-Id: Id3111c46e63bd0e6cc8f7f371abe887d6da073cf
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/e_mod_input_panel.c

index 2a3b8fb..cba7bae 100644 (file)
@@ -737,13 +737,31 @@ end:
    return ECORE_CALLBACK_PASS_ON;
 }
 
+static bool check_rotation_size(E_Client *ec, int angle, int w, int h)
+{
+   int i;
+   switch (angle)
+     {
+      case 0:   i = 0; break;
+      case 90:  i = 1; break;
+      case 180: i = 2; break;
+      case 270: i = 3; break;
+      default:  i = 0; break;
+     }
+
+   if ((w != ec->e.state.rot.geom[i].w) ||
+       (h != ec->e.state.rot.geom[i].h))
+      return false;
+   else
+      return true;
+}
+
 static Eina_Bool
 _e_input_panel_client_cb_rotation_geometry_set(void *data, int type, void *event)
 {
    E_Client *ec;
    E_Input_Panel_Surface *ips = data;
    E_Event_Client_Rotation_Geometry_Set *ev = event;
-   int i;
    int w, h;
 
    ec = ev->ec;
@@ -761,17 +779,7 @@ _e_input_panel_client_cb_rotation_geometry_set(void *data, int type, void *event
 
    evas_object_geometry_get(ec->frame, NULL, NULL, &w, &h);
 
-   switch (ev->angle)
-     {
-      case 0:   i = 0; break;
-      case 90:  i = 1; break;
-      case 180: i = 2; break;
-      case 270: i = 3; break;
-      default:  i = 0; break;
-     }
-
-   if ((w != ec->e.state.rot.geom[i].w) ||
-       (h != ec->e.state.rot.geom[i].h))
+   if (!check_rotation_size(ec, ev->angle, w, h))
      {
         LOGI("Resizing by Rotation Geometry. Pending Drawing");
         _e_input_panel_stop_drawing(ips);
@@ -927,7 +935,6 @@ static void
 _e_input_panel_rotation_geometry_set(void *data, E_Client *ec)
 {
    E_Input_Panel_Surface *ips;
-   int i;
    int w, h;
    int cur_angle;
 
@@ -943,17 +950,8 @@ _e_input_panel_rotation_geometry_set(void *data, E_Client *ec)
    evas_object_geometry_get(ec->frame, NULL, NULL, &w, &h);
 
    cur_angle = ec->e.state.rot.ang.curr;
-   switch (cur_angle)
-     {
-      case 0:   i = 0; break;
-      case 90:  i = 1; break;
-      case 180: i = 2; break;
-      case 270: i = 3; break;
-      default:  i = 0; break;
-     }
 
-   if ((w != ec->e.state.rot.geom[i].w) ||
-       (h != ec->e.state.rot.geom[i].h))
+   if (!check_rotation_size(ec, cur_angle, w, h))
      {
         LOGI("Resizing by Rotation Geometry. Pending Drawing...");
         _e_input_panel_stop_drawing(ips);