From: Seunghun Lee Date: Fri, 25 Apr 2025 02:01:35 +0000 (+0900) Subject: hints: Use E_Client for aux hint X-Git-Tag: accepted/tizen/unified/20250429.071401~51 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F71%2F323271%2F1;p=platform%2Fupstream%2Fenlightenment.git hints: Use E_Client for aux hint This patch replaces the use of E_Pixmap with E_Client for managing auxiliary hints. The previous implementation used E_Pixmap because wl_surface was once mapped to E_Pixmap. However, since E_Client is the corresponding object of wl_surface, E_Pixmap is no longer the appropriate object for managing aux hints. Change-Id: Id9d32de6fc2130a94f6af96132cea46f0141b69e --- diff --git a/src/bin/windowmgr/e_hints.c b/src/bin/windowmgr/e_hints.c index 8766336fe7..84e6687b32 100644 --- a/src/bin/windowmgr/e_hints.c +++ b/src/bin/windowmgr/e_hints.c @@ -9,15 +9,14 @@ static Eina_List *aux_hints_supported = NULL; static Eina_Bool -_e_hints_aux_hint_add_with_pixmap(E_Pixmap *cp, int32_t id, const char *name, const char *val) +_e_hints_aux_hint_add(E_Client *ec, int32_t id, const char *name, const char *val) { E_Comp_Wl_Client_Data *cdata; Eina_Bool found = EINA_FALSE; E_Comp_Wl_Aux_Hint *hint; Eina_List *l; - if (!cp) return EINA_FALSE; - cdata = (E_Comp_Wl_Client_Data*)e_pixmap_cdata_get(cp); + cdata = e_client_cdata_get(ec); if (!cdata) return EINA_FALSE; EINA_LIST_FOREACH(cdata->aux_hint.hints, l, hint) @@ -28,9 +27,8 @@ _e_hints_aux_hint_add_with_pixmap(E_Pixmap *cp, int32_t id, const char *name, co { if (strcmp(hint->val, val) != 0) { - ELOGF("COMP", "AUX_HINT |Change [pixmap] [%d:%s:%s -> %s]", - e_pixmap_client_get(cp), - id, hint->hint, hint->val, val); + ELOGF("COMP", "AUX_HINT |Change [%d:%s:%s -> %s]", + ec, id, hint->hint, hint->val, val); eina_stringshare_del(hint->val); hint->val = eina_stringshare_add(val); @@ -44,9 +42,8 @@ _e_hints_aux_hint_add_with_pixmap(E_Pixmap *cp, int32_t id, const char *name, co // hint's name is not same, // replace hint's name and value - ELOGF("COMP", "AUX_HINT |Replace [pixmap] [%d:%s:%s -> %s:%s]", - e_pixmap_client_get(cp), - id, hint->hint, hint->val, name, val); + ELOGF("COMP", "AUX_HINT |Replace [%d:%s:%s -> %s:%s]", + ec, id, hint->hint, hint->val, name, val); eina_stringshare_del(hint->hint); eina_stringshare_del(hint->val); @@ -75,23 +72,21 @@ _e_hints_aux_hint_add_with_pixmap(E_Pixmap *cp, int32_t id, const char *name, co hint->deleted = EINA_FALSE; cdata->aux_hint.hints = eina_list_append(cdata->aux_hint.hints, hint); cdata->aux_hint.changed = 1; - ELOGF("COMP", "AUX_HINT |Add [%d:%s:%s]", e_pixmap_client_get(cp), - id, hint->hint, hint->val); + ELOGF("COMP", "AUX_HINT |Add [%d:%s:%s]", ec, id, hint->hint, hint->val); } return EINA_TRUE; } -E_API Eina_Bool -e_hints_aux_hint_change_with_pixmap(E_Pixmap *cp, int32_t id, const char *val) +static Eina_Bool +_e_hints_aux_hint_change(E_Client *ec, int32_t id, const char *val) { E_Comp_Wl_Client_Data *cdata; Eina_List *l; E_Comp_Wl_Aux_Hint *hint; Eina_Bool found = EINA_FALSE; - if (!cp) return EINA_FALSE; - cdata = (E_Comp_Wl_Client_Data*)e_pixmap_cdata_get(cp); + cdata = e_client_cdata_get(ec); if (!cdata) return EINA_FALSE; EINA_LIST_FOREACH(cdata->aux_hint.hints, l, hint) @@ -100,7 +95,7 @@ e_hints_aux_hint_change_with_pixmap(E_Pixmap *cp, int32_t id, const char *val) { if ((hint->val) && (strcmp(hint->val, val) != 0)) { - ELOGF("COMP", "AUX_HINT |Change [%d:%s:%s -> %s]", e_pixmap_client_get(cp), + ELOGF("COMP", "AUX_HINT |Change [%d:%s:%s -> %s]", ec, id, hint->hint, hint->val, val); eina_stringshare_del(hint->val); hint->val = eina_stringshare_add(val); @@ -122,23 +117,33 @@ e_hints_aux_hint_change_with_pixmap(E_Pixmap *cp, int32_t id, const char *val) return EINA_FALSE; } +E_API Eina_Bool +e_hints_aux_hint_change_with_pixmap(E_Pixmap *cp, int32_t id, const char *val) +{ + E_Client *ec; + + ec = e_pixmap_client_get(cp); + if (!ec) return EINA_FALSE; + + return _e_hints_aux_hint_change(ec, id, val); +} + static Eina_Bool -_e_hints_aux_hint_del_with_pixmap(E_Pixmap *cp, int32_t id) +_e_hints_aux_hint_del(E_Client *ec, int32_t id) { E_Comp_Wl_Client_Data *cdata; Eina_List *l, *ll; E_Comp_Wl_Aux_Hint *hint; int res = -1; - if (!cp) return EINA_FALSE; - cdata = (E_Comp_Wl_Client_Data*)e_pixmap_cdata_get(cp); + cdata = e_client_cdata_get(ec); if (!cdata) return EINA_FALSE; EINA_LIST_FOREACH_SAFE(cdata->aux_hint.hints, l, ll, hint) { if (hint->id == id) { - ELOGF("COMP", "AUX_HINT |Del (pending) [%d:%s:%s]", e_pixmap_client_get(cp), id, hint->hint, hint->val); + ELOGF("COMP", "AUX_HINT |Del (pending) [%d:%s:%s]", ec, id, hint->hint, hint->val); hint->changed = EINA_TRUE; hint->deleted = EINA_TRUE; cdata->aux_hint.changed = 1; @@ -154,15 +159,14 @@ _e_hints_aux_hint_del_with_pixmap(E_Pixmap *cp, int32_t id) } static const char * -_e_hints_aux_hint_value_get_with_pixmap(E_Pixmap *cp, const char *name) +_e_hints_aux_hint_value_get(E_Client *ec, const char *name) { E_Comp_Wl_Client_Data *cdata; Eina_List *l; E_Comp_Wl_Aux_Hint *hint; const char *res = NULL; - if (!cp) return NULL; - cdata = (E_Comp_Wl_Client_Data*)e_pixmap_cdata_get(cp); + cdata = e_client_cdata_get(ec); if (!cdata) return NULL; EINA_LIST_REVERSE_FOREACH(cdata->aux_hint.hints, l, hint) @@ -240,26 +244,26 @@ E_API Eina_Bool e_hints_aux_hint_add(E_Client *ec, int32_t id, const char *name, const char *val) { if (!ec) return EINA_FALSE; - return _e_hints_aux_hint_add_with_pixmap(ec->pixmap, id, name, val); + return _e_hints_aux_hint_add(ec, id, name, val); } EINTERN Eina_Bool e_hints_aux_hint_change(E_Client *ec, int32_t id, const char *val) { if (!ec) return EINA_FALSE; - return e_hints_aux_hint_change_with_pixmap(ec->pixmap, id, val); + return _e_hints_aux_hint_change(ec, id, val); } E_API Eina_Bool e_hints_aux_hint_del(E_Client *ec, int32_t id) { if (!ec) return EINA_FALSE; - return _e_hints_aux_hint_del_with_pixmap(ec->pixmap, id); + return _e_hints_aux_hint_del(ec, id); } E_API const char * e_hints_aux_hint_value_get(E_Client *ec, const char *name) { if (!ec) return NULL; - return _e_hints_aux_hint_value_get_with_pixmap(ec->pixmap, name); + return _e_hints_aux_hint_value_get(ec, name); }