e_info_server: added transformed info to topvwins of ECs 20/208520/6
authorJunseok, Kim <juns.kim@samsung.com>
Tue, 25 Jun 2019 11:33:31 +0000 (20:33 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 8 Jul 2019 01:13:02 +0000 (01:13 +0000)
Change-Id: I7b9e18ed38ab180968080a876d4a2934cf3cb9d7
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_info_client.c
src/bin/e_info_server.c

index 4dfdf22298577f93beb6d8155d06fecc58a96f4e..cf3fa2429659d51c93f007572f0c0475b2be13d4 100644 (file)
@@ -59,6 +59,7 @@ typedef struct _E_Win_Info
    Ecore_Window parent_id;
    const char  *layer_name; // layer name
    Eina_Bool has_input_region;
+   Eina_Bool    transformed;
 } E_Win_Info;
 
 typedef struct output_mode_info
@@ -88,7 +89,7 @@ typedef struct _E_Fps_Info
    double fps;
 } E_Fps_Info;
 
-#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiiibbiiusb"
+#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiiibbiiusbb"
 #define VALUE_TYPE_REQUEST_RESLIST "ui"
 #define VALUE_TYPE_REPLY_RESLIST "ssi"
 #define VALUE_TYPE_FOR_INPUTDEV "ssi"
@@ -369,7 +370,7 @@ _e_get_windows(int mode, char *value)
 }
 
 static E_Win_Info *
-_e_win_info_new(Ecore_Window id, uint32_t res_id, int pid, Eina_Bool alpha, int opaque, const char *name, int x, int y, int w, int h, int layer, int visible, int mapped, int visibility, int iconic, int frame_visible, int focused, int hwc, int pl_zpos, Ecore_Window parent_id, const char *layer_name, Eina_Bool has_input_region)
+_e_win_info_new(Ecore_Window id, uint32_t res_id, int pid, Eina_Bool alpha, int opaque, const char *name, int x, int y, int w, int h, int layer, int visible, int mapped, int visibility, int iconic, int frame_visible, int focused, int hwc, int pl_zpos, Ecore_Window parent_id, const char *layer_name, Eina_Bool has_input_region, Eina_Bool transformed)
 {
    E_Win_Info *win = NULL;
 
@@ -398,6 +399,7 @@ _e_win_info_new(Ecore_Window id, uint32_t res_id, int pid, Eina_Bool alpha, int
    win->parent_id = parent_id;
    win->layer_name = eina_stringshare_add(layer_name);
    win->has_input_region = has_input_region;
+   win->transformed = transformed;
 
    return win;
 }
@@ -427,7 +429,7 @@ _e_win_info_make_array(Eldbus_Message_Iter *array)
         const char *win_name;
         const char *layer_name;
         int x, y, w, h, layer, visibility, opaque, hwc, pl_zpos;
-        Eina_Bool visible, mapped, alpha, iconic, focused, frame_visible;
+        Eina_Bool visible, mapped, alpha, iconic, focused, frame_visible, transformed;
         Ecore_Window id, parent_id;
         uint32_t res_id;
         int pid;
@@ -456,14 +458,15 @@ _e_win_info_make_array(Eldbus_Message_Iter *array)
                                                 &pl_zpos,
                                                 &parent_id,
                                                 &layer_name,
-                                                &has_input_region);
+                                                &has_input_region,
+                                                &transformed);
         if (!res)
           {
              printf("Failed to get win info\n");
              continue;
           }
 
-        win = _e_win_info_new(id, res_id, pid, alpha, opaque, win_name, x, y, w, h, layer, visible, mapped, visibility, iconic, frame_visible, focused, hwc, pl_zpos, parent_id, layer_name, has_input_region);
+        win = _e_win_info_new(id, res_id, pid, alpha, opaque, win_name, x, y, w, h, layer, visible, mapped, visibility, iconic, frame_visible, focused, hwc, pl_zpos, parent_id, layer_name, has_input_region, transformed);
         e_info_client.win_list = eina_list_append(e_info_client.win_list, win);
      }
 }
@@ -1016,9 +1019,9 @@ _e_info_client_proc_ec_list_info(void)
      return;
 
    printf("\n\n%d Top level windows in EC list\n", eina_list_count(e_info_client.win_list));
-   printf("--------------------------------------[ topvwins ]----------------------------------------------------------------------------------\n");
-   printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos  Parent     Title\n");
-   printf("------------------------------------------------------------------------------------------------------------------------------------\n");
+   printf("--------------------------------------------[ topvwins ]------------------------------------------------------------------------------\n");
+   printf(" No   Win_ID    RcsID    PID     w     h       x      y  Foc InReg Dep Opaq Vsbt Icon Vis Map  Frame  PL@ZPos  Parent     Title\n");
+   printf("--------------------------------------------------------------------------------------------------------------------------------------\n");
 
    if (!e_info_client.win_list)
      {
@@ -1034,7 +1037,7 @@ _e_info_client_proc_ec_list_info(void)
         if (win->layer != prev_layer)
           {
              if (prev_layer != -1)
-                printf("------------------------------------------------------------------------------------------------------------------------------------[%s]\n",
+                printf("--------------------------------------------------------------------------------------------------------------------------------------[%s]\n",
                        prev_layer_name ? prev_layer_name : " ");
              prev_layer = win->layer;
              prev_layer_name = win->layer_name;
@@ -1061,12 +1064,12 @@ _e_info_client_proc_ec_list_info(void)
              snprintf(tmp, sizeof(tmp), " - ");
           }
 
-        printf("%3d 0x%08zx  %5d  %5d  %5d %5d %6d %6d   %c    %c   %3d  %2d   ", i, win->id, win->res_id, win->pid, win->w, win->h, win->x, win->y, win->focused ? 'O':' ', win->has_input_region?'C':' ', win->alpha? 32:24, win->opaque);
+        printf("%3d 0x%08zx  %5d  %5d  %c %5d %5d %6d %6d   %c    %c   %3d  %2d   ", i, win->id, win->res_id, win->pid, win->transformed ? 'O':' ', win->w, win->h, win->x, win->y, win->focused ? 'O':' ', win->has_input_region?'C':' ', win->alpha? 32:24, win->opaque);
         printf("%2d    %d   %d   %s   %3d    %-8s %-8zx   %s\n", win->visibility, win->iconic, win->vis, win->mapped? "V":"N", win->frame_visible, tmp, win->parent_id, win->name?:"No Name");
      }
 
    if (prev_layer_name)
-      printf("------------------------------------------------------------------------------------------------------------------------------------[%s]\n",
+      printf("--------------------------------------------------------------------------------------------------------------------------------------[%s]\n",
              prev_layer_name ? prev_layer_name : " ");
 
    if(hwc_off)
index 16dc267acfcb5f5c6f76b034da1975c4d84c5a87..63cd82ce78bcf6269344220f8fff680e9a0bf25a 100644 (file)
@@ -74,7 +74,7 @@ static Eina_List *module_hook = NULL;
    str_r -= str_l; \
 } while(0)
 
-#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiiibbiiusb"
+#define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiiibbiiusbb"
 #define VALUE_TYPE_REQUEST_RESLIST "ui"
 #define VALUE_TYPE_REPLY_RESLIST "ssi"
 #define VALUE_TYPE_FOR_INPUTDEV "ssi"
@@ -245,6 +245,7 @@ _msg_ecs_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
         Eina_Bool has_input_region = EINA_FALSE;
         Eina_List *list_input_region = NULL;
         Eina_Bool mapped = EINA_FALSE;
+        Eina_Bool transformed = EINA_FALSE;
         int x = 0, y = 0, w = 0, h = 0;
 
         if (is_visible && e_client_util_ignored_get(ec)) continue;
@@ -291,6 +292,8 @@ _msg_ecs_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
           }
         e_client_geometry_get(ec, &x, &y, &w, &h);
 
+        transformed = e_client_transform_core_enable_get(ec);
+
         eldbus_message_iter_arguments_append(array_of_ec, "("VALUE_TYPE_FOR_TOPVWINS")", &struct_of_ec);
 
         eldbus_message_iter_arguments_append
@@ -301,7 +304,7 @@ _msg_ecs_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
             e_client_util_name_get(ec) ?: "NO NAME",
             x, y, w, h, ec->layer,
             ec->visible, mapped, ec->argb, ec->visibility.opaque, ec->visibility.obscured, iconified,
-            evas_object_visible_get(ec->frame), ec->focused, hwc, pl_zpos, pwin, layer_name, has_input_region);
+            evas_object_visible_get(ec->frame), ec->focused, hwc, pl_zpos, pwin, layer_name, has_input_region, transformed);
 
         eldbus_message_iter_container_close(array_of_ec, struct_of_ec);
      }
@@ -332,6 +335,7 @@ _msg_clients_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
         Eina_Bool has_input_region = EINA_FALSE;
         Eina_List *list_input_region = NULL;
         Eina_Bool mapped = EINA_FALSE;
+        Eina_Bool transformed = EINA_FALSE;
 
         ec = evas_object_data_get(o, "E_Client");
         if (!ec) continue;
@@ -378,6 +382,8 @@ _msg_clients_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
              list_input_region = eina_list_free(list_input_region);
           }
 
+        transformed = e_client_transform_core_enable_get(ec);
+
         eldbus_message_iter_arguments_append(array_of_ec, "("VALUE_TYPE_FOR_TOPVWINS")", &struct_of_ec);
 
         eldbus_message_iter_arguments_append
@@ -388,7 +394,7 @@ _msg_clients_append(Eldbus_Message_Iter *iter, Eina_Bool is_visible)
             e_client_util_name_get(ec) ?: "NO NAME",
             ec->x, ec->y, ec->w, ec->h, ec->layer,
             ec->visible, mapped, ec->argb, ec->visibility.opaque, ec->visibility.obscured, iconified,
-            evas_object_visible_get(ec->frame), ec->focused, hwc, pl_zpos, pwin, layer_name, has_input_region);
+            evas_object_visible_get(ec->frame), ec->focused, hwc, pl_zpos, pwin, layer_name, has_input_region, transformed);
 
         eldbus_message_iter_container_close(array_of_ec, struct_of_ec);
      }