From: Chris Michael Date: Thu, 15 Jun 2017 14:53:08 +0000 (-0400) Subject: ecore-wl2: Add API to set window role X-Git-Tag: upstream/1.20.0~531 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bdcf798dba4df1ac45aa4b26313fcf5769c8b77b;p=platform%2Fupstream%2Fefl.git ecore-wl2: Add API to set window role Small patch to add support for setting a window role on a given window "#divergence" @feature Signed-off-by: Chris Michael --- diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h index 999d2da..3992663 100644 --- a/src/lib/ecore_wl2/Ecore_Wl2.h +++ b/src/lib/ecore_wl2/Ecore_Wl2.h @@ -1206,6 +1206,17 @@ EAPI void ecore_wl2_window_focus_skip_set(Ecore_Wl2_Window *window, Eina_Bool fo EAPI Eina_Bool ecore_wl2_window_focus_skip_get(Ecore_Wl2_Window *window); /** + * Set the role of a given window + * + * @param window + * @param role + * + * @ingroup Ecore_Wl2_Window_Group + * @since 1.20 + */ +EAPI void ecore_wl2_window_role_set(Ecore_Wl2_Window *window, const char *role); + +/** * @defgroup Ecore_Wl2_Input_Group Wayland Library Input Functions * @ingroup Ecore_Wl2_Group * diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h b/src/lib/ecore_wl2/ecore_wl2_private.h index 8c7c8d5..172daa8 100644 --- a/src/lib/ecore_wl2/ecore_wl2_private.h +++ b/src/lib/ecore_wl2/ecore_wl2_private.h @@ -153,6 +153,7 @@ struct _Ecore_Wl2_Window int id, rotation, surface_id; const char *title; const char *class; + const char *role; struct wl_surface *surface; struct xdg_surface *xdg_surface; diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c b/src/lib/ecore_wl2/ecore_wl2_window.c index 97db1a3..1a3b284 100644 --- a/src/lib/ecore_wl2/ecore_wl2_window.c +++ b/src/lib/ecore_wl2/ecore_wl2_window.c @@ -666,6 +666,7 @@ ecore_wl2_window_free(Ecore_Wl2_Window *window) if (window->title) eina_stringshare_del(window->title); if (window->class) eina_stringshare_del(window->class); + if (window->role) eina_stringshare_del(window->role); display->windows = eina_inlist_remove(display->windows, EINA_INLIST_GET(window)); @@ -1469,3 +1470,10 @@ ecore_wl2_window_focus_skip_get(Ecore_Wl2_Window *window) EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE); return window->focus_skip; } + +EAPI void +ecore_wl2_window_role_set(Ecore_Wl2_Window *window, const char *role) +{ + EINA_SAFETY_ON_NULL_RETURN(window); + eina_stringshare_replace(&window->role, role); +}