From: Doyoun Kang Date: Mon, 17 Apr 2023 06:16:43 +0000 (+0900) Subject: e_info: add zone's angle information in topvwins X-Git-Tag: accepted/tizen/7.0/unified/20230418.093704^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F82%2F291482%2F1;p=platform%2Fupstream%2Fenlightenment.git e_info: add zone's angle information in topvwins Change-Id: I6b669405289521fcb5ffc9c4cb865b901ccab981 --- diff --git a/src/bin/e_info_client.c b/src/bin/e_info_client.c index d86f3d4b6c..cdef58b025 100644 --- a/src/bin/e_info_client.c +++ b/src/bin/e_info_client.c @@ -45,6 +45,8 @@ typedef struct _E_Zone_Info int display_state; int x, y, w, h; Eina_Bool is_current; + int angle_cur; + int angle_active; } E_Zone_Info; typedef struct _E_Win_Info @@ -102,7 +104,7 @@ typedef struct _E_Fps_Info double fps; } E_Fps_Info; -#define VALUE_TYPE_FOR_ZONE "iiiiiib" +#define VALUE_TYPE_FOR_ZONE "iiiiiibii" #define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbbii" #define VALUE_TYPE_REQUEST_RESLIST "ui" #define VALUE_TYPE_REPLY_RESLIST "ssu" @@ -384,7 +386,7 @@ _e_get_windows(int mode, char *value) } static E_Zone_Info * -_e_zone_info_new(int id, int display_state, int x, int y, int w, int h, Eina_Bool is_current) +_e_zone_info_new(int id, int display_state, int x, int y, int w, int h, Eina_Bool is_current, int angle_cur, int angle_active) { E_Zone_Info *zone_info = NULL; @@ -398,6 +400,8 @@ _e_zone_info_new(int id, int display_state, int x, int y, int w, int h, Eina_Boo zone_info->w = w; zone_info->h = h; zone_info->is_current = is_current; + zone_info->angle_cur = angle_cur; + zone_info->angle_active = angle_active; return zone_info; } @@ -415,14 +419,17 @@ _e_zone_info_make_array(Eldbus_Message_Iter *zone_array) int display_state; int x, y, w, h; Eina_Bool is_current; - res = eldbus_message_iter_arguments_get(zone, VALUE_TYPE_FOR_ZONE, &id, &display_state, &x, &y, &w, &h, &is_current); + int angle_cur; + int angle_active; + + res = eldbus_message_iter_arguments_get(zone, VALUE_TYPE_FOR_ZONE, &id, &display_state, &x, &y, &w, &h, &is_current, &angle_cur, &angle_active); if (!res) { printf("Failed to get win info\n"); continue; } - zone_info = _e_zone_info_new(id, display_state, x, y, w, h, is_current); + zone_info = _e_zone_info_new(id, display_state, x, y, w, h, is_current, angle_cur, angle_active); e_info_client.zone_list = eina_list_append(e_info_client.zone_list, zone_info); } @@ -1277,6 +1284,7 @@ _e_info_client_proc_topvwins_info(int argc, char **argv) printf("Display State: %s\n", "On"); else printf("Display State: %s\n", "Unknown"); + printf("Angle: Cur(%d), Active(%d)\n", zone_info->angle_cur, zone_info->angle_active); printf("------------------------------------------------------------------------------------------------------------------------------------\n"); printf("%d Top level windows in evas object list\n", eina_list_count(e_info_client.win_list)); diff --git a/src/bin/e_info_server.c b/src/bin/e_info_server.c index 958aee142c..87886805f3 100644 --- a/src/bin/e_info_server.c +++ b/src/bin/e_info_server.c @@ -80,7 +80,7 @@ static Eina_List *module_hook = NULL; str_r -= str_l; \ } while(0) -#define VALUE_TYPE_FOR_ZONE "iiiiiib" +#define VALUE_TYPE_FOR_ZONE "iiiiiibii" #define VALUE_TYPE_FOR_TOPVWINS "uuisiiiiibbbiibibbiiiusbbii" #define VALUE_TYPE_REQUEST_RESLIST "ui" #define VALUE_TYPE_REPLY_RESLIST "ssu" @@ -245,6 +245,8 @@ _e_info_server_cb_zone_info_get(const Eldbus_Service_Interface *iface EINA_UNUSE int zone_id = -1; int disp_state = -1; Eina_Bool is_current_zone = EINA_FALSE; + int angle_cur = 0; + int angle_active = 0; eldbus_message_iter_arguments_append(iter, "("VALUE_TYPE_FOR_ZONE")", &array_of_zone); @@ -259,8 +261,11 @@ _e_info_server_cb_zone_info_get(const Eldbus_Service_Interface *iface EINA_UNUSE else is_current_zone = EINA_FALSE; + angle_cur = zone->rot.curr; + angle_active = zone->rot.act; + eldbus_message_iter_arguments_append(array_of_zone, "("VALUE_TYPE_FOR_ZONE")", &struct_of_zone); - eldbus_message_iter_arguments_append(struct_of_zone, VALUE_TYPE_FOR_ZONE, zone_id, disp_state, zone->x, zone->y, zone->w, zone->h, is_current_zone); + eldbus_message_iter_arguments_append(struct_of_zone, VALUE_TYPE_FOR_ZONE, zone_id, disp_state, zone->x, zone->y, zone->w, zone->h, is_current_zone, angle_cur, angle_active); eldbus_message_iter_container_close(array_of_zone, struct_of_zone); }