E_Output * eout;
E_Plane *ep;
- if (!ec->zone) return EINA_FALSE;
+ if (!ec->zone || !ec->zone->output_id) return EINA_FALSE;
eout = e_output_find(ec->zone->output_id);
EINA_LIST_FOREACH_SAFE(eout->planes, l, ll, ep)
{
Eina_Bool native : 1; // native
Eina_Bool nocomp : 1; // nocomp applied
- Eina_Bool nocomp_need_update : 1; // nocomp in effect, but this window updated while in nocomp mode
+ Eina_Bool hwc_need_update : 1; // this window updated while on e_plane to do hw composite
Eina_Bool real_hid : 1; // last hide was a real window unmap
Eina_Bool effect_set : 1; //effect_obj has a valid group
evas_object_smart_callback_call(obj, "damage", &rect);
if (e_comp->nocomp)
{
- cw->nocomp_need_update = EINA_TRUE;
+ cw->hwc_need_update = EINA_TRUE;
return;
}
+
+ if (e_comp_is_on_overlay(cw->ec))
+ {
+ cw->hwc_need_update = EINA_TRUE;
+ }
+
/* ignore overdraw */
if (cw->updates_full)
{
_e_comp_object_clear(cw);
}
+
+E_API Eina_Bool
+e_comp_object_hwc_update_exists(Evas_Object *obj)
+{
+ API_ENTRY EINA_FALSE;
+ return cw->hwc_need_update;
+}
\ No newline at end of file
E_API E_Client *e_comp_object_dim_client_get(void);
E_API void e_comp_object_clear(Evas_Object *obj);
+E_API Eina_Bool e_comp_object_hwc_update_exists(Evas_Object *obj);
+
#endif
#endif