Eina_List *l;
EINA_LIST_FOREACH(e->outputs, l, output)
- output->info = e->engine.func->info(eo_e);
+ if (!output->info) output->info = e->engine.func->info();
}
// Wayland/drm already handles seats.
// right away to setup the info structure
if (e->engine.func->info)
{
- r->info = e->engine.func->info(canvas);
+ r->info = e->engine.func->info();
}
return r;
output->ector);
e->engine.func->output_free(_evas_engine_context(e),
output->output);
- e->engine.func->info_free(output->canvas, output->info);
+ e->engine.func->info_free(output->info);
}
e->outputs = eina_list_remove(e->outputs, output);
struct _Evas_Func
{
- void *(*info) (Evas *e);
- void (*info_free) (Evas *e, void *info);
+ void *(*info) (void);
+ void (*info_free) (void *info);
void *(*setup) (void *engine, void *info, unsigned int w, unsigned int h);
int (*update) (void *engine, void *data, void *info, unsigned int w, unsigned int h);
/* prototypes we will use here */
static void *_output_setup(int w, int h, void *dest_buffer, int dest_buffer_row_bytes, int depth_type, int use_color_key, int alpha_threshold, int color_key_r, int color_key_g, int color_key_b, void *(*new_update_region) (int x, int y, int w, int h, int *row_bytes), void (*free_update_region) (int x, int y, int w, int h, void *data), void *(*switch_buffer) (void *data, void *dest_buffer), void *switch_data);
-static void *eng_info(Evas *eo_e EINA_UNUSED);
-static void eng_info_free(Evas *eo_e EINA_UNUSED, void *info);
+static void *eng_info(void);
+static void eng_info_free(void *info);
static void eng_output_free(void *engine EINA_UNUSED, void *data);
/* internal engine routines */
/* engine api this module provides */
static void *
-eng_info(Evas *eo_e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_Buffer *info;
info = calloc(1, sizeof(Evas_Engine_Info_Buffer));
}
static void
-eng_info_free(Evas *eo_e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_Buffer *in;
in = (Evas_Engine_Info_Buffer *)info;
}
static void *
-eng_info(Evas *evas EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_Drm *info;
}
static void
-eng_info_free(Evas *evas EINA_UNUSED, void *einfo)
+eng_info_free(void *einfo)
{
Evas_Engine_Info_Drm *info;
/* engine specific override functions */
static void *
-eng_info(Evas *eo_e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_Eglfs *info;
}
static void
-eng_info_free(Evas *eo_e EINA_UNUSED, void *in)
+eng_info_free(void *in)
{
Evas_Engine_Info_Eglfs *info;
/* engine api this module provides */
static void *
-eng_info(Evas *eo_e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_FB *info;
info = calloc(1, sizeof(Evas_Engine_Info_FB));
}
static void
-eng_info_free(Evas *eo_e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_FB *in;
in = (Evas_Engine_Info_FB *)info;
static void *
-eng_info(Evas *e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_GL_Cocoa *info;
}
static void
-eng_info_free(Evas *e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_GL_Cocoa *const in = info;
free(in);
/* engine specific override functions */
static void *
-eng_info(Evas *eo_e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_GL_Drm *info;
}
static void
-eng_info_free(Evas *eo_e EINA_UNUSED, void *in)
+eng_info_free(void *in)
{
Evas_Engine_Info_GL_Drm *info;
static void *
-eng_info(Evas *e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_GL_SDL *info;
}
static void
-eng_info_free(Evas *e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_GL_SDL *in;
in = (Evas_Engine_Info_GL_SDL *)info;
static Evas_Func func, pfunc;
static void *
-eng_info(Evas *eo_e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_GL_X11 *info;
}
static void
-eng_info_free(Evas *eo_e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_GL_X11 *in;
// dont free! why bother? its not worth it
/* engine api this module provides */
static void *
-eng_info(Evas *e)
+eng_info(void)
{
Evas_Engine_Info_PSL1GHT *info;
}
static void
-eng_info_free(Evas *e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_PSL1GHT *in;
/* engine api this module provides */
static void *
-eng_info(Evas *e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_Software_DDraw *info;
}
static void
-eng_info_free(Evas *e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_Software_DDraw *in;
/* engine api this module provides */
static void *
-eng_info(Evas *e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_Software_Gdi *info;
info = calloc(1, sizeof(Evas_Engine_Info_Software_Gdi));
}
static void
-eng_info_free(Evas *e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_Software_Gdi *in;
in = (Evas_Engine_Info_Software_Gdi *)info;
/* engine api this module provides */
static void *
-eng_info(Evas *eo_e EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_Software_X11 *info;
}
static void
-eng_info_free(Evas *eo_e EINA_UNUSED, void *info)
+eng_info_free(void *info)
{
Evas_Engine_Info_Software_X11 *in;
/* engine functions */
static void *
-eng_info(Evas *evas EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_Wayland *info;
/* ENGINE API FUNCTIONS WE PROVIDE */
static void *
-eng_info(Evas *eo_evas EINA_UNUSED)
+eng_info(void)
{
Evas_Engine_Info_Wayland *einfo;
return einfo;
}
-static void
-eng_info_free(Evas *eo_evas EINA_UNUSED, void *info)
+static void
+eng_info_free(void *info)
{
Evas_Engine_Info_Wayland *einfo;