e->engine.module = em;
evas_module_ref(em);
/* get the engine info struct */
- if (e->engine.func->info)
+ if (e->engine.func->output_info)
{
Efl_Canvas_Output *output;
Eina_List *l;
EINA_LIST_FOREACH(e->outputs, l, output)
- if (!output->info) output->info = e->engine.func->info();
+ if (!output->info) output->info = e->engine.func->output_info();
}
// Wayland/drm already handles seats.
// The engine is already initialized, use it
// right away to setup the info structure
- if (e->engine.func->info)
+ if (e->engine.func->output_info)
{
- r->info = e->engine.func->info();
+ r->info = e->engine.func->output_info();
}
return r;
output->ector);
e->engine.func->output_free(_evas_engine_context(e),
output->output);
- e->engine.func->info_free(output->info);
+ e->engine.func->output_info_free(output->info);
}
e->outputs = eina_list_remove(e->outputs, output);
if (output->output)
{
- if (e->engine.func->update)
+ if (e->engine.func->output_update)
{
- e->engine.func->update(_evas_engine_context(e), output->output, info,
- e->output.w, e->output.h);
+ e->engine.func->output_update(_evas_engine_context(e), output->output, info,
+ e->output.w, e->output.h);
}
else
{
}
setup:
- output->output = e->engine.func->setup(_evas_engine_context(e), info,
- e->output.w, e->output.h);
+ output->output = e->engine.func->output_setup(_evas_engine_context(e), info,
+ e->output.w, e->output.h);
}
return !!output->output;
struct _Evas_Func
{
- 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);
+ void *(*output_info) (void);
+ void (*output_info_free) (void *info);
+ void *(*output_setup) (void *engine, void *info, unsigned int w, unsigned int h);
+ int (*output_update) (void *engine, void *data, void *info, unsigned int w, unsigned int h);
void (*output_free) (void *engine, void *data);
void (*output_resize) (void *engine, void *data, int w, 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(void);
-static void eng_info_free(void *info);
+static void *eng_output_info(void);
+static void eng_output_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(void)
+eng_output_info(void)
{
Evas_Engine_Info_Buffer *info;
info = calloc(1, sizeof(Evas_Engine_Info_Buffer));
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_Buffer *in;
in = (Evas_Engine_Info_Buffer *)info;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Buffer *info = in;
func = pfunc;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
ORD(canvas_alpha_get);
ORD(output_free);
/* now advertise out own api */
}
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_Drm *info;
}
static void
-eng_info_free(void *einfo)
+eng_output_info_free(void *einfo)
{
Evas_Engine_Info_Drm *info;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *einfo, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *einfo, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Drm *info = einfo;
}
static int
-eng_update(void *engine EINA_UNUSED, void *data, void *einfo, unsigned int w, unsigned int h)
+eng_output_update(void *engine EINA_UNUSED, void *data, void *einfo, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Drm *info = einfo;
Render_Engine *re = data;
func = pfunc;
/* override the methods we provide */
- EVAS_API_OVERRIDE(info, &func, eng_);
- EVAS_API_OVERRIDE(info_free, &func, eng_);
- EVAS_API_OVERRIDE(setup, &func, eng_);
- EVAS_API_OVERRIDE(update, &func, eng_);
+ EVAS_API_OVERRIDE(output_info, &func, eng_);
+ EVAS_API_OVERRIDE(output_info_free, &func, eng_);
+ EVAS_API_OVERRIDE(output_setup, &func, eng_);
+ EVAS_API_OVERRIDE(output_update, &func, eng_);
EVAS_API_OVERRIDE(output_free, &func, eng_);
EVAS_API_OVERRIDE(image_plane_assign, &func, eng_);
EVAS_API_OVERRIDE(image_plane_release, &func, eng_);
/* engine specific override functions */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_Eglfs *info;
}
static void
-eng_info_free(void *in)
+eng_output_info_free(void *in)
{
Evas_Engine_Info_Eglfs *info;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Eglfs *info = in;
Render_Engine *re = NULL;
}
static int
-eng_update(void *engine EINA_UNUSED, void *data, void *info, unsigned int w, unsigned int h)
+eng_output_update(void *engine EINA_UNUSED, void *data, void *info, unsigned int w, unsigned int h)
{
Render_Engine *re = data;
func = pfunc;
/* now to override methods */
- EVAS_API_OVERRIDE(info, &func, eng_);
- EVAS_API_OVERRIDE(info_free, &func, eng_);
- EVAS_API_OVERRIDE(setup, &func, eng_);
- EVAS_API_OVERRIDE(update, &func, eng_);
+ EVAS_API_OVERRIDE(output_info, &func, eng_);
+ EVAS_API_OVERRIDE(output_info_free, &func, eng_);
+ EVAS_API_OVERRIDE(output_setup, &func, eng_);
+ EVAS_API_OVERRIDE(output_update, &func, eng_);
EVAS_API_OVERRIDE(canvas_alpha_get, &func, eng_);
EVAS_API_OVERRIDE(output_free, &func, eng_);
EVAS_API_OVERRIDE(output_dump, &func, eng_);
/* engine api this module provides */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_FB *info;
info = calloc(1, sizeof(Evas_Engine_Info_FB));
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_FB *in;
in = (Evas_Engine_Info_FB *)info;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_FB *info = in;
func = pfunc;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
ORD(canvas_alpha_get);
ORD(output_free);
/* now advertise out own api */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_GL_Cocoa *info;
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_GL_Cocoa *const in = info;
free(in);
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_GL_Cocoa *const info = in;
Render_Engine *re;
}
static int
-eng_update(void *engine EINA_UNUSED,
- void *data EINA_UNUSED,
- void *info EINA_UNUSED,
- unsigned int w EINA_UNUSED,
- unsigned int h EINA_UNUSED)
+eng_output_update(void *engine EINA_UNUSED,
+ void *data EINA_UNUSED,
+ void *info EINA_UNUSED,
+ unsigned int w EINA_UNUSED,
+ unsigned int h EINA_UNUSED)
{
//Evas_Engine_Info_GL_Cocoa *const info = info;
//Render_Engine *re = data;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
- ORD(update);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
+ ORD(output_update);
ORD(canvas_alpha_get);
ORD(output_free);
/* engine specific override functions */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_GL_Drm *info;
}
static void
-eng_info_free(void *in)
+eng_output_info_free(void *in)
{
Evas_Engine_Info_GL_Drm *info;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_GL_Drm *info = in;
Render_Engine *re = NULL;
}
static int
-eng_update(void *engine EINA_UNUSED, void *data, void *in, unsigned int w, unsigned int h)
+eng_output_update(void *engine EINA_UNUSED, void *data, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_GL_Drm *info = (Evas_Engine_Info_GL_Drm *)in;
Render_Engine *re = data;
func = pfunc;
/* now to override methods */
- EVAS_API_OVERRIDE(info, &func, eng_);
- EVAS_API_OVERRIDE(info_free, &func, eng_);
- EVAS_API_OVERRIDE(setup, &func, eng_);
- EVAS_API_OVERRIDE(update, &func, eng_);
+ EVAS_API_OVERRIDE(output_info, &func, eng_);
+ EVAS_API_OVERRIDE(output_info_free, &func, eng_);
+ EVAS_API_OVERRIDE(output_setup, &func, eng_);
+ EVAS_API_OVERRIDE(output_update, &func, eng_);
EVAS_API_OVERRIDE(canvas_alpha_get, &func, eng_);
EVAS_API_OVERRIDE(output_free, &func, eng_);
EVAS_API_OVERRIDE(output_dump, &func, eng_);
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_GL_SDL *info;
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_GL_SDL *in;
in = (Evas_Engine_Info_GL_SDL *)info;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Render_Engine *re = NULL;
Outbuf *ob = NULL;
func = pfunc;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
ORD(canvas_alpha_get);
ORD(output_free);
ORD(output_dump);
static Evas_Func func, pfunc;
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_GL_X11 *info;
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_GL_X11 *in;
// dont free! why bother? its not worth it
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_GL_X11 *info = in;
Render_Engine *re = NULL;
}
static int
-eng_update(void *engine EINA_UNUSED, void *data, void *in, unsigned int w, unsigned int h)
+eng_output_update(void *engine EINA_UNUSED, void *data, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_GL_X11 *info = in;
Render_Engine *re = data;
func = pfunc;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
- ORD(update);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
+ ORD(output_update);
ORD(canvas_alpha_get);
ORD(output_free);
ORD(output_dump);
/* engine api this module provides */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_PSL1GHT *info;
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_PSL1GHT *in;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_PSL1GHT *info = in;
func = pfunc;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
ORD(canvas_alpha_get);
ORD(output_free);
ORD(output_resize);
/* engine api this module provides */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_Software_DDraw *info;
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_Software_DDraw *in;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Software_DDraw *info = in;
func = pfunc;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
ORD(canvas_alpha_get);
ORD(output_free);
/* now advertise out own api */
/* engine api this module provides */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_Software_Gdi *info;
info = calloc(1, sizeof(Evas_Engine_Info_Software_Gdi));
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_Software_Gdi *in;
in = (Evas_Engine_Info_Software_Gdi *)info;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Software_Gdi *info;
}
static int
-eng_update(void *engine EINA_UNUSED, void *data, void *in, unsigned int w, unsigned int h)
+eng_output_update(void *engine EINA_UNUSED, void *data, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Software_Gdi *info;
Render_Engine *re = data;
func = pfunc;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
- ORD(update);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
+ ORD(output_update);
ORD(canvas_alpha_get);
ORD(output_free);
/* now advertise out own api */
/* engine api this module provides */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_Software_X11 *info;
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_Software_X11 *in;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Software_X11 *info = in;
Render_Engine *re = NULL;
}
static int
-eng_update(void *engine EINA_UNUSED, void *data, void *in, unsigned int w, unsigned int h)
+eng_output_update(void *engine EINA_UNUSED, void *data, void *in, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Software_X11 *info = in;
Render_Engine *re = data;
/* now to override methods */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
- ORD(update);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
+ ORD(output_update);
ORD(canvas_alpha_get);
ORD(output_free);
ORD(image_native_init);
/* engine functions */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_Wayland *info;
}
static void
-eng_info_free(Evas *evas EINA_UNUSED, void *info)
+eng_output_info_free(Evas *evas EINA_UNUSED, void *info)
{
Evas_Engine_Info_Wayland *inf;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *info, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *info, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Wayland *inf = info;
Render_Engine *re;
}
static int
-eng_update(void *engine EINA_UNUSED, void *data, void *info, unsigned int w, unsigned int h)
+eng_output_update(void *engine EINA_UNUSED, void *data, void *info, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Wayland *inf = info;
struct wl_surface *wls;
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
- ORD(update);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
+ ORD(output_update);
ORD(canvas_alpha_get);
ORD(output_free);
/* ENGINE API FUNCTIONS WE PROVIDE */
static void *
-eng_info(void)
+eng_output_info(void)
{
Evas_Engine_Info_Wayland *einfo;
}
static void
-eng_info_free(void *info)
+eng_output_info_free(void *info)
{
Evas_Engine_Info_Wayland *einfo;
}
static void *
-eng_setup(void *engine EINA_UNUSED, void *info, unsigned int w, unsigned int h)
+eng_output_setup(void *engine EINA_UNUSED, void *info, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Wayland *einfo = info;
}
static int
-eng_update(void *engine, void *data, void *info, unsigned int w, unsigned int h)
+eng_output_update(void *engine, void *data, void *info, unsigned int w, unsigned int h)
{
Evas_Engine_Info_Wayland *einfo = info;
Render_Engine *re = data;
/* override engine specific functions */
#define ORD(f) EVAS_API_OVERRIDE(f, &func, eng_)
- ORD(info);
- ORD(info_free);
- ORD(setup);
- ORD(update);
+ ORD(output_info);
+ ORD(output_info_free);
+ ORD(output_setup);
+ ORD(output_update);
ORD(output_free);
ORD(output_resize);
ORD(image_native_set);