forked from enlightenment/efl
evas: add function for norendering with updates
Summary: the same as norender, but useful Depends on D11581 Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11582
This commit is contained in:
parent
b37ebdad25
commit
8fe64fb70c
|
@ -533,6 +533,21 @@ EAPI void evas_focus_out(Evas_Canvas *obj);
|
|||
*/
|
||||
EAPI void evas_norender(Evas_Canvas *obj);
|
||||
|
||||
/**
|
||||
* @brief Update the canvas internal objects but not triggering immediate
|
||||
* renderization and producing update regions in post-render event.
|
||||
*
|
||||
* This function updates the canvas internal objects not triggering
|
||||
* renderization. To force renderization function @ref evas_render should be
|
||||
* used.
|
||||
* @param[in] obj The object.
|
||||
*
|
||||
* @since 1.24
|
||||
*
|
||||
* @ingroup Evas_Group
|
||||
*/
|
||||
EAPI void evas_norender_with_updates(Eo *eo_e);
|
||||
|
||||
/**
|
||||
* @brief Pop the nochange flag down 1.
|
||||
*
|
||||
|
|
|
@ -4104,6 +4104,23 @@ _evas_canvas_norender(Eo *eo_e, Evas_Public_Data *e)
|
|||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_norender_with_updates(Eo *eo_e)
|
||||
{
|
||||
Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
|
||||
Eina_List *ret;
|
||||
Render_Updates *ru;
|
||||
|
||||
evas_canvas_async_block(e);
|
||||
// if (!e->changed) return;
|
||||
ret = evas_render_updates_internal_wait(eo_e, 1, 0);
|
||||
EINA_LIST_FREE(ret, ru)
|
||||
{
|
||||
eina_rectangle_free(ru->area);
|
||||
free(ru);
|
||||
}
|
||||
}
|
||||
|
||||
EOLIAN void
|
||||
_evas_canvas_render_idle_flush(Eo *eo_e, Evas_Public_Data *evas)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue