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
This commit is contained in:
subhransu mohanty 2018-01-08 19:16:59 +09:00 committed by Jean-Philippe Andre
parent 830d915ad6
commit d838220d56
2 changed files with 3 additions and 32 deletions

View File

@ -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);

View File

@ -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)