From: Changyeon Lee Date: Tue, 5 Nov 2019 08:03:51 +0000 (+0900) Subject: e_hwc: add e_client_hwc_visible_skip_set X-Git-Tag: submit/tizen/20191106.050849^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=32860b96b02e6e16d419cc15681630a0bde4f8ce;p=platform%2Fupstream%2Fenlightenment.git e_hwc: add e_client_hwc_visible_skip_set Change-Id: I1c7394e928110b8e253c5aed1e5a8a1634fc0c97 --- diff --git a/src/bin/e_client.h b/src/bin/e_client.h index 73ab14d02d..d1dae4f264 100644 --- a/src/bin/e_client.h +++ b/src/bin/e_client.h @@ -995,6 +995,8 @@ struct E_Client E_Util_Transform *transform; E_Comp_Wl_Hook *hook_subsurf_create; } base_output_resolution; + + Eina_Bool hwc_visible_skip : 1; }; #define e_client_focus_policy_click(ec) \ diff --git a/src/bin/e_hwc.c b/src/bin/e_hwc.c index 057c3edcd1..56b48ffdc1 100644 --- a/src/bin/e_hwc.c +++ b/src/bin/e_hwc.c @@ -824,3 +824,13 @@ e_client_hwc_on_plane(E_Client *ec) return ret; } + +E_API Eina_Bool +e_client_hwc_visible_skip_set(E_Client *ec, Eina_Bool skip) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE); + + ec->hwc_visible_skip = skip; + + return EINA_TRUE; +} diff --git a/src/bin/e_hwc.h b/src/bin/e_hwc.h index 2e4622ac30..c6039f2b5d 100644 --- a/src/bin/e_hwc.h +++ b/src/bin/e_hwc.h @@ -175,6 +175,7 @@ E_API Eina_Bool e_client_hwc_property_get(E_Client *ec, unsigned i E_API Eina_Bool e_client_hwc_property_set(E_Client *ec, unsigned int id, hwc_value value); E_API Eina_Bool e_client_hwc_on_plane(E_Client *ec); +E_API Eina_Bool e_client_hwc_visible_skip_set(E_Client *ec, Eina_Bool skip); #endif #endif diff --git a/src/bin/e_hwc_windows.c b/src/bin/e_hwc_windows.c index 905ff40870..cbe9003b7d 100644 --- a/src/bin/e_hwc_windows.c +++ b/src/bin/e_hwc_windows.c @@ -613,7 +613,12 @@ _e_hwc_windows_visible_windows_list_get(E_Hwc *hwc) continue; } - // check clients to skip composite + if (ec->hwc_visible_skip) + { + e_hwc_window_state_set(hwc_window, E_HWC_WINDOW_STATE_NONE, EINA_TRUE); + continue; + } + if (!evas_object_visible_get(ec->frame)) { e_hwc_window_state_set(hwc_window, E_HWC_WINDOW_STATE_NONE, EINA_TRUE);