From: SooChan Lim Date: Thu, 6 Jul 2023 05:58:22 +0000 (+0900) Subject: e_policy: add E_EVENT_CLIENT_ZONE_SET callback function X-Git-Tag: accepted/tizen/unified/20230713.143510~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=799682abe67a7aa06f467145c016cf9baf35a88b;p=platform%2Fupstream%2Fenlightenment.git e_policy: add E_EVENT_CLIENT_ZONE_SET callback function In that function, pc->zone can be changed. Change-Id: Ia046f2dd0c0f718880649a543745fd1024ce8478 --- diff --git a/src/bin/e_policy.c b/src/bin/e_policy.c index 4862a02..d81b9b1 100644 --- a/src/bin/e_policy.c +++ b/src/bin/e_policy.c @@ -1387,6 +1387,34 @@ _e_policy_cb_client_hide(void *data EINA_UNUSED, int type EINA_UNUSED, void *eve } static Eina_Bool +_e_policy_cb_client_zone_set(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) +{ + E_Event_Client_Zone_Set *ev; + E_Policy_Client *pc; + + ev = event; + + pc = eina_hash_find(hash_policy_clients, &ev->ec); + if (!pc) + goto end; + + if (pc->ec != ev->ec) + goto end; + + if (pc->zone == ev->zone) + goto end; + + ELOGF("CBHM", "Change Zone | e_policy %p old(%p) new(%p)", + ev->ec, pc, pc->zone, ev->zone); + + pc->zone = ev->zone; + +end: + return ECORE_CALLBACK_PASS_ON; +} + + +static Eina_Bool _e_policy_cb_idle_enterer(void *data EINA_UNUSED) { E_Zone *zone; @@ -2299,6 +2327,7 @@ e_policy_init(void) E_LIST_HANDLER_APPEND(handlers, E_EVENT_CLIENT_VISIBILITY_CHANGE, _e_policy_cb_client_vis_change, NULL); E_LIST_HANDLER_APPEND(handlers, E_EVENT_CLIENT_SHOW, _e_policy_cb_client_show, NULL); E_LIST_HANDLER_APPEND(handlers, E_EVENT_CLIENT_HIDE, _e_policy_cb_client_hide, NULL); + E_LIST_HANDLER_APPEND(handlers, E_EVENT_CLIENT_ZONE_SET, _e_policy_cb_client_zone_set, NULL); E_CLIENT_HOOK_APPEND(hooks_ec, E_CLIENT_HOOK_NEW_CLIENT_POST, _e_policy_cb_hook_client_new_post, NULL); E_CLIENT_HOOK_APPEND(hooks_ec, E_CLIENT_HOOK_DEL, _e_policy_cb_hook_client_del, NULL);