From c41b95e47931d45e7f7a06a8537b629a998c1dca Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Thu, 26 May 2016 18:00:05 +0900 Subject: [PATCH] e_client: added visibility skip flag and set API Change-Id: I1bd5af7e5db2bcc834687e8257ab7a8a5ce97725 Signed-off-by: MinJeong Kim --- src/bin/e_client.c | 8 ++++++++ src/bin/e_client.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 88bbf3e..e85384b 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -2678,6 +2678,7 @@ _e_client_visibility_zone_calculate(E_Zone *zone) if (e_client_util_ignored_get(ec)) continue; if (ec->zone != zone) continue; if (!ec->frame) continue; + if (ec->visibility.skip) continue; #ifdef HAVE_WAYLAND_ONLY /* if ec is subsurface, skip this */ cdata = (E_Comp_Wl_Client_Data *)ec->comp_data; @@ -3051,6 +3052,12 @@ e_client_visibility_calculate(void) } E_API void +e_client_visibility_skip_set(E_Client *ec, Eina_Bool skip) +{ + ec->visibility.skip = skip; +} + +E_API void e_client_post_raise_lower_set(E_Client *ec, Eina_Bool raise_set, Eina_Bool lower_set) { if (!ec) return; @@ -3369,6 +3376,7 @@ e_client_new(E_Pixmap *cp, int first_map, int internal) ec->visibility.obscured = E_VISIBILITY_UNKNOWN; ec->visibility.opaque = -1; ec->visibility.changed = 0; + ec->visibility.skip = 0; ec->transform.zoom = 1.0; ec->transform.angle = 0.0; diff --git a/src/bin/e_client.h b/src/bin/e_client.h index 44ba01f..a7535c3 100644 --- a/src/bin/e_client.h +++ b/src/bin/e_client.h @@ -674,6 +674,7 @@ struct E_Client int opaque; int obscured; unsigned char changed : 1; + Eina_Bool skip : 1; } visibility; struct @@ -1004,6 +1005,7 @@ E_API Eina_Bool e_client_desk_window_profile_available_check(E_Client *ec, const E_API void e_client_desk_window_profile_wait_desk_set(E_Client *ec, E_Desk *desk); E_API void e_client_layout_cb_set(E_Client_Layout_Cb cb); E_API void e_client_visibility_calculate(void); +E_API void e_client_visibility_skip_set(E_Client *ec, Eina_Bool skip); E_API void e_client_post_raise_lower_set(E_Client *ec, Eina_Bool raise_set, Eina_Bool lower_set); E_API Eina_Bool e_client_first_mapped_get(E_Client *ec); -- 2.7.4