{
Evas_VG_Data *vd = type_private_data;
Ector_Surface *ector = evas_ector_get(obj->layer->evas);
- // FIXME: Set context (that should affect Ector_Surface) and
- // then call Ector_Renderer render from bottom to top. Get the
- // Ector_Surface that match the output from Evas engine API.
- // It is a requirement that you can reparent an Ector_Renderer
- // to another Ector_Surface as long as that Ector_Surface is a
- // child of the main Ector_Surface (necessary for Evas_Map).
+
+ obj->layer->evas->engine.func->ector_output_set(engine, surface, output);
if (!vd->engine_data)
vd->engine_data = obj->layer->evas->engine.func->ector_new(engine, context, ector, surface);
void *(*texture_image_get) (void *engine, void *texture);
Ector_Surface *(*ector_create) (void *engine);
+ void (*ector_output_set) (void *engine, Ector_Surface *surface, void *output);
void (*ector_destroy) (void *engine, Ector_Surface *surface);
Ector_Buffer *(*ector_buffer_wrap) (void *engine, Evas *e, void *engine_image);
Ector_Buffer *(*ector_buffer_new) (void *engine, Evas *e, int width, int height, Efl_Gfx_Colorspace cspace, Ector_Buffer_Flag flags);
}
static void
+eng_ector_output_set(void *engine EINA_UNUSED,
+ Ector_Surface *surface EINA_UNUSED,
+ void *output EINA_UNUSED)
+{
+ // To be useful for GL backend only.
+}
+
+static void
eng_ector_destroy(void *data EINA_UNUSED, Ector_Surface *ector)
{
if (ector) efl_del(ector);
NULL, // eng_texture_image_set
NULL, // eng_texture_image_get
eng_ector_create,
+ eng_ector_output_set,
eng_ector_destroy,
eng_ector_buffer_wrap,
eng_ector_buffer_new,