From 7d50f3c638ae8cac3e979ff55e251b5f32fb6bc7 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Mon, 4 Mar 2024 11:22:28 +0900 Subject: [PATCH] e_client: add visibility get/set functions The visibiliy.obscured value of e_client is set and gets through thease functions. Change-Id: I4a155a626a35e5438fee73b4de3bd0d672d4a6fc --- src/bin/e_client.c | 18 ++++++++++++++++++ src/bin/e_client_intern.h | 8 +++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index b0caf6c..509764b 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -2637,6 +2637,24 @@ e_client_visibility_end_notify(void) _e_client_hook_call(E_CLIENT_HOOK_EVAL_VISIBILITY_END, NULL); } +EINTERN E_Visibility +e_client_visibility_get(E_Client *ec) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(ec, E_VISIBILITY_UNKNOWN); + + return ec->visibility.obscured; +} + +EINTERN void +e_client_visibility_set(E_Client *ec, E_Visibility visibility) +{ + EINA_SAFETY_ON_NULL_RETURN(ec); + + if (ec->visibility.obscured == visibility) return; + + ec->visibility.obscured = visibility; +} + static Eina_Bool _e_client_transform_core_check_change(E_Client *ec) { diff --git a/src/bin/e_client_intern.h b/src/bin/e_client_intern.h index cac1a90..768f531 100644 --- a/src/bin/e_client_intern.h +++ b/src/bin/e_client_intern.h @@ -188,9 +188,11 @@ EINTERN Eina_Bool e_client_explicit_sync_acquire_fence_fd_set(E_Client *ec, int EINTERN void e_client_focus_calculate(E_Zone *zone); -EINTERN Eina_Bool e_client_visibility_touched_check(E_Client *ec); -EINTERN void e_client_visibility_change_notify(E_Client *ec); -EINTERN void e_client_visibility_end_notify(void); +EINTERN Eina_Bool e_client_visibility_touched_check(E_Client *ec); +EINTERN void e_client_visibility_change_notify(E_Client *ec); +EINTERN void e_client_visibility_end_notify(void); +EINTERN E_Visibility e_client_visibility_get(E_Client *ec); +EINTERN void e_client_visibility_set(E_Client *ec, E_Visibility visibility); EINTERN Eina_Bool e_client_intercept_hook_focus_revert_call(E_Client *ec); EINTERN Eina_Bool e_client_intercept_hook_auto_placement_call(E_Client *ec); -- 2.7.4