e_comp: add e_comp_visibility_calculation_set/get functions 65/296165/1
authorSooChan Lim <sc1.lim@samsung.com>
Thu, 20 Jul 2023 04:43:00 +0000 (13:43 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 21 Jul 2023 01:20:44 +0000 (10:20 +0900)
This functions set or get the flag for calculating the visibilility
of the compositor at the idle handler.

Change-Id: I57a80991d11011c5a74bdde6f038d3fc0e269547

src/bin/e_comp.c
src/bin/e_comp.h

index e9ff124..21d3cd8 100644 (file)
@@ -37,6 +37,8 @@ static int _e_comp_log_dom = -1;
 static int _e_comp_hooks_delete = 0;
 static int _e_comp_hooks_walking = 0;
 
+static Eina_Bool _e_calc_visibility = EINA_FALSE;
+
 static Eina_Inlist *_e_comp_hooks[] =
 {
    [E_COMP_HOOK_PREPARE_PLANE] = NULL,
@@ -1448,3 +1450,16 @@ e_comp_idler_before(void)
    // TODO: call e_zone_idle_before() for each zone
    e_client_idler_before();
 }
+
+EINTERN void
+e_comp_visibility_calculation_set(Eina_Bool set)
+{
+   if (_e_calc_visibility != set)
+      _e_calc_visibility = set;
+}
+
+EINTERN Eina_Bool
+e_comp_visibility_calculation_get(void)
+{
+   return _e_calc_visibility;
+}
index aa41e53..e3a7cc3 100644 (file)
@@ -268,6 +268,8 @@ E_API E_Comp_Image_Filter e_comp_image_filter_get(void);
 EINTERN E_Zone *e_comp_zone_find_by_ec(E_Client *ec);
 EINTERN Eina_Bool e_comp_client_zone_is_displaying(E_Client *ec);
 EINTERN void e_comp_idler_before(void);
+EINTERN void e_comp_visibility_calculation_set(Eina_Bool set);
+EINTERN Eina_Bool e_comp_visibility_calculation_get(void);
 
 #endif
 #endif