{
ec->comp_override = 0;
e_comp_render_queue();
+
+ if (ec->hwc_window)
+ e_hwc_window_comp_override_set(ec->hwc_window, EINA_FALSE);
}
}
ec->comp_override++;
if (ec->comp_override > 0)
- e_comp_hwc_client_end(ec, __FUNCTION__);
+ {
+ if (ec->hwc_window)
+ e_hwc_window_comp_override_set(ec->hwc_window, EINA_TRUE);
+
+ e_comp_hwc_client_end(ec, __FUNCTION__);
+ }
}
EINTERN E_Comp *
EHWINF("Unset below_transparent_obj", hwc_window->ec, hwc_window->hwc, hwc_window);
}
}
+
+EINTERN Eina_Bool
+e_hwc_window_comp_override_set(E_Hwc_Window *hwc_window, Eina_Bool set)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window, EINA_FALSE);
+
+ if (hwc_window->comp_override == set) return EINA_TRUE;
+
+ hwc_window->comp_override = set;
+
+ return EINA_TRUE;
+}
EINTERN void e_hwc_window_below_transparent_obj_set(E_Hwc_Window *hwc_window, Eina_Bool set);
+EINTERN Eina_Bool e_hwc_window_comp_override_set(E_Hwc_Window *hwc_window, Eina_Bool set);
+
#endif
Evas_Object *below_transparent_obj;
Eina_Bool queue_unset_waiting;
+
+ Eina_Bool comp_override;
};
struct _E_Hwc_Window_Target