forked from enlightenment/efl
parent
1f4e4934b2
commit
c303f04048
|
@ -421,7 +421,8 @@ extern "C" {
|
|||
EAPI void evas_render_updates_free (Evas_List *updates);
|
||||
EAPI void evas_render (Evas *e);
|
||||
EAPI void evas_norender (Evas *e);
|
||||
|
||||
EAPI void evas_render_idle_flush (Evas *e);
|
||||
|
||||
/* rectangle objects */
|
||||
EAPI Evas_Object *evas_object_rectangle_add (Evas *e);
|
||||
|
||||
|
|
|
@ -67,7 +67,6 @@ evas_obscured_clear(Evas *e)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Evas_List **active_objects, Evas_List **restack_objects, Evas_List **delete_objects, int restack)
|
||||
{
|
||||
|
@ -501,3 +500,20 @@ evas_norender(Evas *e)
|
|||
evas_render_updates_internal(e, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* To be documented.
|
||||
*
|
||||
* FIXME: To be fixed.
|
||||
*
|
||||
*/
|
||||
EAPI void
|
||||
evas_render_idle_flush(Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
|
||||
if ((e->engine.func) && (e->engine.func->output_idle_flush) &&
|
||||
(e->engine.data.output))
|
||||
e->engine.func->output_idle_flush(e->engine.data.output);
|
||||
}
|
||||
|
|
|
@ -530,6 +530,7 @@ struct _Evas_Func
|
|||
void *(*output_redraws_next_update_get) (void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
|
||||
void (*output_redraws_next_update_push) (void *data, void *surface, int x, int y, int w, int h);
|
||||
void (*output_flush) (void *data);
|
||||
void (*output_idle_flush) (void *data);
|
||||
|
||||
void *(*context_new) (void *data);
|
||||
void (*context_free) (void *data, void *context);
|
||||
|
|
|
@ -308,6 +308,14 @@ eng_output_flush(void *data)
|
|||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
/* module advertising code */
|
||||
EAPI int
|
||||
module_open(Evas_Module *em)
|
||||
|
@ -331,6 +339,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
/* now advertise out own api */
|
||||
em->functions = (void *)(&func);
|
||||
return 1;
|
||||
|
|
|
@ -15,6 +15,7 @@ static Evas_Func evas_engine_directfb_func = {
|
|||
evas_engine_directfb_output_redraws_next_update_get,
|
||||
evas_engine_directfb_output_redraws_next_update_push,
|
||||
evas_engine_directfb_output_flush,
|
||||
evas_engine_directfb_output_idle_flush,
|
||||
/* draw context virtual methods */
|
||||
evas_engine_directfb_context_new,
|
||||
evas_engine_directfb_context_free,
|
||||
|
@ -391,6 +392,14 @@ evas_engine_directfb_output_flush(void *data)
|
|||
re = (Render_Engine *) data;
|
||||
}
|
||||
|
||||
void
|
||||
evas_engine_directfb_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *) data;
|
||||
}
|
||||
|
||||
void *
|
||||
evas_engine_directfb_context_new(void *data)
|
||||
{
|
||||
|
|
|
@ -59,6 +59,7 @@ void evas_engine_directfb_output_redraws_next_update_push(void
|
|||
int w,
|
||||
int h);
|
||||
void evas_engine_directfb_output_flush(void *data);
|
||||
void evas_engine_directfb_output_idle_flush(void *data);
|
||||
void *evas_engine_directfb_context_new(void *data);
|
||||
void evas_engine_directfb_context_free(void *data,
|
||||
void *context);
|
||||
|
|
|
@ -33,6 +33,7 @@ static void eng_output_redraws_clear(void *data);
|
|||
static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
|
||||
static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
|
||||
static void eng_output_flush(void *data);
|
||||
static void eng_output_idle_flush(void *data);
|
||||
|
||||
/* internal engine routines */
|
||||
static void *
|
||||
|
@ -232,6 +233,14 @@ eng_output_flush(void *data)
|
|||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
/* module advertising code */
|
||||
EAPI int
|
||||
module_open(Evas_Module *em)
|
||||
|
@ -255,6 +264,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
/* now advertise out own api */
|
||||
em->functions = (void *)(&func);
|
||||
return 1;
|
||||
|
|
|
@ -294,6 +294,14 @@ eng_output_flush(void *data)
|
|||
// printf("SYNC! %i\n", fr++);
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
static void
|
||||
eng_context_cutout_add(void *data, void *context, int x, int y, int w, int h)
|
||||
{
|
||||
|
@ -958,6 +966,7 @@ module_open(Evas_Module *em)
|
|||
ORD(context_cutout_add);
|
||||
ORD(context_cutout_clear);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
ORD(rectangle_draw);
|
||||
ORD(line_draw);
|
||||
ORD(polygon_point_add);
|
||||
|
|
|
@ -45,6 +45,7 @@ static void eng_output_redraws_clear(void *data);
|
|||
static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
|
||||
static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
|
||||
static void eng_output_flush(void *data);
|
||||
static void eng_output_idle_flush(void *data);
|
||||
|
||||
static void eng_rectangle_draw(void *data, void *context, void *surface, int x, int y, int w, int h);
|
||||
|
||||
|
@ -339,6 +340,14 @@ eng_output_flush(void *data)
|
|||
// _xr_image_info_pool_flush(re->xinf, 0, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
static void
|
||||
eng_rectangle_draw(void *data, void *context, void *surface, int x, int y, int w, int h)
|
||||
{
|
||||
|
@ -599,6 +608,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
ORD(rectangle_draw);
|
||||
ORD(line_draw);
|
||||
ORD(polygon_draw);
|
||||
|
|
|
@ -632,6 +632,7 @@ static Evas_Func func =
|
|||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
/* draw context virtual methods */
|
||||
eng_context_new,
|
||||
eng_context_free,
|
||||
|
|
|
@ -38,6 +38,7 @@ static void eng_output_redraws_clear(void *data);
|
|||
static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
|
||||
static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
|
||||
static void eng_output_flush(void *data);
|
||||
static void eng_output_idle_flush(void *data);
|
||||
|
||||
/* engine api this module provides */
|
||||
static void *
|
||||
|
@ -291,6 +292,16 @@ eng_output_flush(void *data)
|
|||
// evas_software_x11_outbuf_flush(re->ob);
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
/* FIXME: clean up any resources kept around between renders in case
|
||||
* we are animating a lot and want high fps */
|
||||
}
|
||||
|
||||
|
||||
/* module advertising code */
|
||||
EAPI int
|
||||
|
@ -315,6 +326,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
/* now advertise out own api */
|
||||
em->functions = (void *)(&func);
|
||||
return 1;
|
||||
|
|
|
@ -315,6 +315,14 @@ eng_output_flush(void *data)
|
|||
evas_software_ddraw_outbuf_flush(re->ob);
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
/* module advertising code */
|
||||
EAPI int
|
||||
module_open(Evas_Module *em)
|
||||
|
@ -338,6 +346,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
/* now advertise out own api */
|
||||
em->functions = (void *)(&func);
|
||||
return 1;
|
||||
|
|
|
@ -925,6 +925,7 @@ static Evas_Func func =
|
|||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
/* draw context virtual methods */
|
||||
eng_context_new,
|
||||
eng_context_free,
|
||||
|
|
|
@ -33,6 +33,7 @@ static void eng_output_redraws_clear(void *data);
|
|||
static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
|
||||
static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
|
||||
static void eng_output_flush(void *data);
|
||||
static void eng_output_idle_flush(void *data);
|
||||
|
||||
/* internal engine routines */
|
||||
static void *
|
||||
|
@ -247,6 +248,14 @@ eng_output_flush(void *data)
|
|||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
/* module advertising code */
|
||||
EAPI int
|
||||
module_open(Evas_Module *em)
|
||||
|
@ -270,6 +279,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
/* now advertise out own api */
|
||||
em->functions = (void *)(&func);
|
||||
return 1;
|
||||
|
|
|
@ -43,6 +43,7 @@ static void eng_output_redraws_clear(void *data);
|
|||
static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
|
||||
static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
|
||||
static void eng_output_flush(void *data);
|
||||
static void eng_output_idle_flush(void *data);
|
||||
|
||||
/* internal engine routines */
|
||||
static void *
|
||||
|
@ -374,6 +375,15 @@ eng_output_flush(void *data)
|
|||
evas_software_x11_outbuf_flush(re->ob);
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
evas_software_x11_outbuf_flush(re->ob);
|
||||
}
|
||||
|
||||
|
||||
/* module advertising code */
|
||||
EAPI int
|
||||
|
@ -398,6 +408,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
/* now advertise out own api */
|
||||
em->functions = (void *)(&func);
|
||||
return 1;
|
||||
|
|
|
@ -44,6 +44,7 @@ static void eng_output_redraws_clear(void *data);
|
|||
static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
|
||||
static void eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h);
|
||||
static void eng_output_flush(void *data);
|
||||
static void eng_output_idle_flush(void *data);
|
||||
|
||||
static void *
|
||||
_output_setup(int w,
|
||||
|
@ -447,6 +448,14 @@ eng_output_flush(void *data)
|
|||
evas_software_xcb_outbuf_flush(re->ob);
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
/* module advertising code */
|
||||
EAPI int
|
||||
module_open(Evas_Module *em)
|
||||
|
@ -470,6 +479,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
/* now advertise out own api */
|
||||
em->functions = (void *)(&func);
|
||||
return 1;
|
||||
|
|
|
@ -311,6 +311,14 @@ eng_output_flush(void *data)
|
|||
_xr_image_info_pool_flush(re->xinf, 0, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
eng_output_idle_flush(void *data)
|
||||
{
|
||||
Render_Engine *re;
|
||||
|
||||
re = (Render_Engine *)data;
|
||||
}
|
||||
|
||||
static void
|
||||
eng_rectangle_draw(void *data, void *context, void *surface, int x, int y, int w, int h)
|
||||
{
|
||||
|
@ -878,6 +886,7 @@ module_open(Evas_Module *em)
|
|||
ORD(output_redraws_next_update_get);
|
||||
ORD(output_redraws_next_update_push);
|
||||
ORD(output_flush);
|
||||
ORD(output_idle_flush);
|
||||
ORD(rectangle_draw);
|
||||
ORD(line_draw);
|
||||
ORD(polygon_draw);
|
||||
|
|
Loading…
Reference in New Issue