From d838220d5671875eaef1dcea9dd024cc126360e0 Mon Sep 17 00:00:00 2001 From: subhransu mohanty Date: Mon, 8 Jan 2018 19:16:59 +0900 Subject: [PATCH] evas/vg: Use always blending op while drawing the vector. Summary: The default backend overrides this operation depending on the fill color but the cairo backend dosen't hence cairo will always use bled mode while drwaing the vector. Reviewers: jpeg Subscribers: vtorri, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5724 --- .../evas/engines/gl_generic/evas_engine.c | 16 +--------------- .../engines/software_generic/evas_engine.c | 19 ++----------------- 2 files changed, 3 insertions(+), 32 deletions(-) diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c index 0829e7a0b4..d5c8544fda 100644 --- a/src/modules/evas/engines/gl_generic/evas_engine.c +++ b/src/modules/evas/engines/gl_generic/evas_engine.c @@ -2546,20 +2546,6 @@ eng_ector_buffer_new(void *engine, Evas *evas, int w, int h, evas_ector_gl_buffer_prepare(efl_added, engine, w, h, cspace, flags)); } -static Efl_Gfx_Render_Op -_evas_render_op_to_ector_rop(Evas_Render_Op op) -{ - switch (op) - { - case EVAS_RENDER_BLEND: - return EFL_GFX_RENDER_OP_BLEND; - case EVAS_RENDER_COPY: - return EFL_GFX_RENDER_OP_COPY; - default: - return EFL_GFX_RENDER_OP_BLEND; - } -} - static void eng_ector_renderer_draw(void *engine EINA_UNUSED, void *output, void *context EINA_UNUSED, void *surface EINA_UNUSED, @@ -2575,7 +2561,7 @@ eng_ector_renderer_draw(void *engine EINA_UNUSED, void *output, eng_image_size_get(engine, glimg, &w, &h); eina_array_push(c, eina_rectangle_new(0, 0, w, h)); - ector_renderer_draw(renderer, _evas_render_op_to_ector_rop(EVAS_RENDER_COPY), c, 0xffffffff); + ector_renderer_draw(renderer, EFL_GFX_RENDER_OP_BLEND, c, 0xffffffff); while ((r = eina_array_pop(c))) eina_rectangle_free(r); diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 016179da2f..139ccc1a1c 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -4420,20 +4420,6 @@ eng_ector_buffer_new(void *data EINA_UNUSED, Evas *evas, int width, int height, return buf; } -static Efl_Gfx_Render_Op -_evas_render_op_to_ector_rop(Evas_Render_Op op) -{ - switch (op) - { - case EVAS_RENDER_BLEND: - return EFL_GFX_RENDER_OP_BLEND; - case EVAS_RENDER_COPY: - return EFL_GFX_RENDER_OP_COPY; - default: - return EFL_GFX_RENDER_OP_BLEND; - } -} - static void _draw_thread_ector_cleanup(Evas_Thread_Command_Ector *ector) { @@ -4518,9 +4504,8 @@ eng_ector_renderer_draw(void *engine EINA_UNUSED, void *surface, ector.r = renderer; // This has already been refcounted by Evas_Object_VG ector.clips = c; - ector.render_op = _evas_render_op_to_ector_rop(dc->render_op); - ector.mul_col = ector_color_multiply(dc->mul.use ? dc->mul.col : 0xffffffff, - dc->col.col);; + ector.render_op = EFL_GFX_RENDER_OP_BLEND; + ector.mul_col = 0xffffffff; ector.free_it = EINA_FALSE; if (do_async)