summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsubhransu mohanty <sub.mohanty@samsung.com>2018-01-08 19:16:59 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2018-01-08 19:16:59 +0900
commitd838220d5671875eaef1dcea9dd024cc126360e0 (patch)
tree8c1801dca894ea7e27af8f241629a38ce041d780
parent830d915ad64c3648db11fe09ec994f77713b410e (diff)
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
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c16
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c19
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,
2546 evas_ector_gl_buffer_prepare(efl_added, engine, w, h, cspace, flags)); 2546 evas_ector_gl_buffer_prepare(efl_added, engine, w, h, cspace, flags));
2547} 2547}
2548 2548
2549static Efl_Gfx_Render_Op
2550_evas_render_op_to_ector_rop(Evas_Render_Op op)
2551{
2552 switch (op)
2553 {
2554 case EVAS_RENDER_BLEND:
2555 return EFL_GFX_RENDER_OP_BLEND;
2556 case EVAS_RENDER_COPY:
2557 return EFL_GFX_RENDER_OP_COPY;
2558 default:
2559 return EFL_GFX_RENDER_OP_BLEND;
2560 }
2561}
2562
2563static void 2549static void
2564eng_ector_renderer_draw(void *engine EINA_UNUSED, void *output, 2550eng_ector_renderer_draw(void *engine EINA_UNUSED, void *output,
2565 void *context EINA_UNUSED, void *surface EINA_UNUSED, 2551 void *context EINA_UNUSED, void *surface EINA_UNUSED,
@@ -2575,7 +2561,7 @@ eng_ector_renderer_draw(void *engine EINA_UNUSED, void *output,
2575 eng_image_size_get(engine, glimg, &w, &h); 2561 eng_image_size_get(engine, glimg, &w, &h);
2576 eina_array_push(c, eina_rectangle_new(0, 0, w, h)); 2562 eina_array_push(c, eina_rectangle_new(0, 0, w, h));
2577 2563
2578 ector_renderer_draw(renderer, _evas_render_op_to_ector_rop(EVAS_RENDER_COPY), c, 0xffffffff); 2564 ector_renderer_draw(renderer, EFL_GFX_RENDER_OP_BLEND, c, 0xffffffff);
2579 2565
2580 while ((r = eina_array_pop(c))) 2566 while ((r = eina_array_pop(c)))
2581 eina_rectangle_free(r); 2567 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,
4420 return buf; 4420 return buf;
4421} 4421}
4422 4422
4423static Efl_Gfx_Render_Op
4424_evas_render_op_to_ector_rop(Evas_Render_Op op)
4425{
4426 switch (op)
4427 {
4428 case EVAS_RENDER_BLEND:
4429 return EFL_GFX_RENDER_OP_BLEND;
4430 case EVAS_RENDER_COPY:
4431 return EFL_GFX_RENDER_OP_COPY;
4432 default:
4433 return EFL_GFX_RENDER_OP_BLEND;
4434 }
4435}
4436
4437static void 4423static void
4438_draw_thread_ector_cleanup(Evas_Thread_Command_Ector *ector) 4424_draw_thread_ector_cleanup(Evas_Thread_Command_Ector *ector)
4439{ 4425{
@@ -4518,9 +4504,8 @@ eng_ector_renderer_draw(void *engine EINA_UNUSED, void *surface,
4518 4504
4519 ector.r = renderer; // This has already been refcounted by Evas_Object_VG 4505 ector.r = renderer; // This has already been refcounted by Evas_Object_VG
4520 ector.clips = c; 4506 ector.clips = c;
4521 ector.render_op = _evas_render_op_to_ector_rop(dc->render_op); 4507 ector.render_op = EFL_GFX_RENDER_OP_BLEND;
4522 ector.mul_col = ector_color_multiply(dc->mul.use ? dc->mul.col : 0xffffffff, 4508 ector.mul_col = 0xffffffff;
4523 dc->col.col);;
4524 ector.free_it = EINA_FALSE; 4509 ector.free_it = EINA_FALSE;
4525 4510
4526 if (do_async) 4511 if (do_async)