evas_buffer_outbuf_buf_free_region_for_update,
NULL,
evas_buffer_outbuf_buf_switch_buffer,
+ NULL,
evas_buffer_outbuf_buf_free,
w, h))
goto on_error;
_outbuf_update_region_free,
NULL,
_outbuf_flush,
+ NULL,
_outbuf_free,
ob->w, ob->h))
goto init_err;
evas_outbuf_update_region_free,
NULL,
evas_outbuf_flush,
+ NULL,
evas_outbuf_free,
evas_outbuf_use,
evas_outbuf_gl_context_get,
evas_fb_outbuf_fb_free_region_for_update,
NULL,
NULL,
+ NULL,
evas_fb_outbuf_fb_free,
evas_fb_outbuf_fb_get_width(ob),
evas_fb_outbuf_fb_get_height(ob)))
evas_outbuf_update_region_free,
NULL,
evas_outbuf_flush,
+ NULL,
evas_outbuf_free,
evas_outbuf_use,
evas_outbuf_gl_context_get,
evas_outbuf_update_region_free,
NULL,
evas_outbuf_flush,
+ NULL,
evas_outbuf_free,
evas_outbuf_use,
evas_outbuf_gl_context_get,
Outbuf_Free_Region_For_Update outbuf_free_region_for_update,
Outbuf_Idle_Flush outbuf_idle_flush,
Outbuf_Flush outbuf_flush,
+ Outbuf_Redraws_Clear outbuf_redraws_clear,
Outbuf_Free outbuf_free,
Window_Use window_use,
Window_GL_Context_Get window_gl_context_get,
outbuf_free_region_for_update,
outbuf_idle_flush,
outbuf_flush,
+ outbuf_redraws_clear,
outbuf_free,
w, h))
return EINA_FALSE;
_outbuf_free_region_for_update,
NULL,
_outbuf_flush,
+ NULL,
_outbuf_free,
_window_use,
_window_gl_context_get,
eng_outbuf_push_free_region_for_update,
eng_outbuf_idle_flush,
eng_outbuf_flush,
+ NULL,
eng_window_free,
eng_window_use,
eng_outbuf_gl_context_get,
evas_software_ddraw_outbuf_free_region_for_update,
evas_software_ddraw_outbuf_idle_flush,
evas_software_ddraw_outbuf_flush,
+ NULL,
evas_software_ddraw_outbuf_free,
width, height))
goto on_error;
evas_software_gdi_outbuf_free_region_for_update,
evas_software_gdi_outbuf_idle_flush,
evas_software_gdi_outbuf_flush,
+ NULL,
evas_software_gdi_outbuf_free,
width, height))
goto on_error;
typedef void (*Outbuf_Free)(Outbuf *ob);
typedef int (*Outbuf_Get_Rot)(Outbuf *ob);
typedef void (*Outbuf_Flush)(Outbuf *ob, Tilebuf_Rect *rects, Evas_Render_Mode render_mode);
+typedef void (*Outbuf_Redraws_Clear)(Outbuf *ob);
struct _Render_Engine_Software_Generic
{
Outbuf_Free_Region_For_Update outbuf_free_region_for_update;
Outbuf_Free outbuf_free;
Outbuf_Flush outbuf_flush;
+ Outbuf_Redraws_Clear outbuf_redraws_clear;
unsigned int w, h;
Outbuf_Free_Region_For_Update outbuf_free_region_for_update,
Outbuf_Idle_Flush outbuf_idle_flush,
Outbuf_Flush outbuf_flush,
+ Outbuf_Redraws_Clear outbuf_redraws_clear,
Outbuf_Free outbuf_free,
int w, int h)
{
re->outbuf_free_region_for_update = outbuf_free_region_for_update;
re->outbuf_free = outbuf_free;
re->outbuf_flush = outbuf_flush;
+ re->outbuf_redraws_clear = outbuf_redraws_clear;
re->rects = NULL;
for (i = 0; i < 4; i++)
re = (Render_Engine_Software_Generic *)data;
evas_common_tilebuf_clear(re->tb);
+ if (re->outbuf_redraws_clear) re->outbuf_redraws_clear(re->ob);
}
static Tilebuf_Rect *
evas_software_xlib_outbuf_free_region_for_update,
evas_software_xlib_outbuf_idle_flush,
evas_software_xlib_outbuf_flush,
+ NULL,
evas_software_xlib_outbuf_free,
w, h))
goto on_error;
evas_software_xlib_swapbuf_free_region_for_update,
evas_software_xlib_swapbuf_idle_flush,
evas_software_xlib_swapbuf_flush,
+ NULL,
evas_software_xlib_swapbuf_free,
w, h))
goto on_error;
evas_software_xcb_outbuf_free_region_for_update,
evas_software_xcb_outbuf_idle_flush,
evas_software_xcb_outbuf_flush,
+ NULL,
evas_software_xcb_outbuf_free,
w, h))
goto on_error;
eng_outbuf_update_region_free,
NULL,
eng_outbuf_flush,
+ NULL,
eng_window_free,
eng_window_use,
eng_outbuf_gl_context_get,
_evas_outbuf_update_region_free,
_evas_outbuf_idle_flush,
_evas_outbuf_flush,
+ NULL,
_evas_outbuf_free,
w, h))
goto err;