diff options
author | Cedric BAIL <cedric@osg.samsung.com> | 2017-05-12 15:03:05 -0700 |
---|---|---|
committer | Cedric BAIL <cedric@osg.samsung.com> | 2017-05-12 15:24:45 -0700 |
commit | 35e54acc4678dd50bafbb86a015892b2937a97c7 (patch) | |
tree | 8fc8fd31202d53fdabee21b8d1763c41a9c9fbb8 /src/lib/evas/canvas/evas_filter_mixin.c | |
parent | ad2ba804c69e38cc925e80ace843fe400e303319 (diff) | |
download | efl-35e54acc4678dd50bafbb86a015892b2937a97c7.tar.gz |
evas: stat introducing a concept of engine and output in the backend.
Diffstat (limited to 'src/lib/evas/canvas/evas_filter_mixin.c')
-rw-r--r-- | src/lib/evas/canvas/evas_filter_mixin.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/lib/evas/canvas/evas_filter_mixin.c b/src/lib/evas/canvas/evas_filter_mixin.c index 4d837d3fa2..ab9a8191d0 100644 --- a/src/lib/evas/canvas/evas_filter_mixin.c +++ b/src/lib/evas/canvas/evas_filter_mixin.c @@ -241,7 +241,7 @@ _evas_filter_obscured_region_changed(Evas_Filter_Data *pd) Eina_Bool evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj, - void *output, void *context, void *surface, + void *engine, void *output, void *context, void *surface, int x, int y, Eina_Bool do_async, Eina_Bool alpha) { Evas_Filter_Data *pd = efl_data_scope_get(eo_obj, MY_CLASS); @@ -263,26 +263,26 @@ evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj, Y = obj->cur->geometry.y; // Prepare color multiplier - ENFN->context_color_set(output, context, + ENFN->context_color_set(engine, context, obj->cur->cache.clip.r, obj->cur->cache.clip.g, obj->cur->cache.clip.b, obj->cur->cache.clip.a); if (obj->cur->clipper) - ENFN->context_multiplier_set(output, context, + ENFN->context_multiplier_set(engine, context, obj->cur->clipper->cur->cache.clip.r, obj->cur->clipper->cur->cache.clip.g, obj->cur->clipper->cur->cache.clip.b, obj->cur->clipper->cur->cache.clip.a); else - ENFN->context_multiplier_unset(output, context); + ENFN->context_multiplier_unset(engine, context); if (obj->map->cur.usemap && obj->map->cur.map && (obj->map->cur.map->count >= 4)) { int iw, ih; use_map = EINA_TRUE; - ENFN->image_size_get(ENC, previous, &iw, &ih); + ENFN->image_size_get(engine, previous, &iw, &ih); evas_object_map_update(eo_obj, x, y, iw, ih, iw, ih); } @@ -348,12 +348,12 @@ evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj, // Render this image only if (use_map) { - ENFN->image_map_draw(ENDT, context, surface, previous, + ENFN->image_map_draw(engine, output, context, surface, previous, obj->map->spans, EINA_TRUE, 0, do_async); } else { - ENFN->image_draw(ENDT, context, + ENFN->image_draw(engine, output, context, surface, previous, 0, 0, W, H, // src X + x, Y + y, W, H, // dst @@ -415,8 +415,8 @@ evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj, evas_filter_context_proxy_render_all(filter, eo_obj, EINA_FALSE); // Draw Context - drawctx = ENFN->context_new(ENDT); - ENFN->context_color_set(ENDT, drawctx, 255, 255, 255, 255); + drawctx = ENFN->context_new(engine); + ENFN->context_color_set(engine, drawctx, 255, 255, 255, 255); // Set obscured region evas_filter_context_obscured_region_set(filter, pd->data->obscured); @@ -428,10 +428,11 @@ evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj, // Request rendering from the object itself (child class) evas_filter_program_padding_get(pd->data->chain, &pad, NULL); - ok = evas_filter_input_render(eo_obj, filter, drawctx, NULL, pad.l, pad.r, pad.t, pad.b, 0, 0, do_async); + ok = evas_filter_input_render(eo_obj, filter, engine, output, drawctx, NULL, + pad.l, pad.r, pad.t, pad.b, 0, 0, do_async); if (!ok) ERR("Filter input render failed."); - ENFN->context_free(ENDT, drawctx); + ENFN->context_free(engine, drawctx); // Add post-run callback and run filter evas_filter_context_post_run_callback_set(filter, _filter_cb, pd); |