summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorJaeun Choi <jaeun12.choi@samsung.com>2014-11-13 20:45:14 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-01-07 15:06:02 +0900
commit6747fadd9a697236c5307f8cb1cb5e9ceec6dabe (patch)
tree9d518c839a279e1689d2375e9750c68df4a9e935 /src/modules
parent145fe108b8fe477161136317f65145bc5102a059 (diff)
Evas masking: Implement support for line draw (SW)
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c
index 92272cd990..2484532a46 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -309,6 +309,8 @@ struct _Evas_Thread_Command_Line
309 Eina_Bool anti_alias; 309 Eina_Bool anti_alias;
310 int x1, y1; 310 int x1, y1;
311 int x2, y2; 311 int x2, y2;
312 void *mask;
313 int mask_x, mask_y;
312}; 314};
313 315
314struct _Evas_Thread_Command_Polygon 316struct _Evas_Thread_Command_Polygon
@@ -649,7 +651,8 @@ _draw_thread_line_draw(void *data)
649 evas_common_line_point_draw(line->surface, 651 evas_common_line_point_draw(line->surface,
650 clip_x, clip_y, clip_w, clip_h, 652 clip_x, clip_y, clip_w, clip_h,
651 line->color, line->render_op, 653 line->color, line->render_op,
652 line->x1, line->y1); 654 line->x1, line->y1,
655 line->mask, line->mask_x, line->mask_y);
653 return; 656 return;
654 } 657 }
655 658
@@ -659,14 +662,16 @@ _draw_thread_line_draw(void *data)
659 clip_x, clip_y, clip_w, clip_h, 662 clip_x, clip_y, clip_w, clip_h,
660 line->color, line->render_op, 663 line->color, line->render_op,
661 line->x1, line->y1, 664 line->x1, line->y1,
662 line->x2, line->y2); 665 line->x2, line->y2,
666 line->mask, line->mask_x, line->mask_y);
663 else 667 else
664 evas_common_line_draw_line 668 evas_common_line_draw_line
665 (line->surface, 669 (line->surface,
666 clip_x, clip_y, clip_w, clip_h, 670 clip_x, clip_y, clip_w, clip_h,
667 line->color, line->render_op, 671 line->color, line->render_op,
668 line->x1, line->y1, 672 line->x1, line->y1,
669 line->x2, line->y2); 673 line->x2, line->y2,
674 line->mask, line->mask_x, line->mask_y);
670 675
671 eina_mempool_free(_mp_command_line, line); 676 eina_mempool_free(_mp_command_line, line);
672} 677}
@@ -732,6 +737,9 @@ _line_draw_thread_cmd(RGBA_Image *dst, RGBA_Draw_Context *dc, int x1, int y1, in
732 cl->y1 = y1; 737 cl->y1 = y1;
733 cl->x2 = x2; 738 cl->x2 = x2;
734 cl->y2 = y2; 739 cl->y2 = y2;
740 cl->mask = dc->clip.mask;
741 cl->mask_x = dc->clip.mask_x;
742 cl->mask_y = dc->clip.mask_y;
735 743
736 evas_thread_cmd_enqueue(_draw_thread_line_draw, cl); 744 evas_thread_cmd_enqueue(_draw_thread_line_draw, cl);
737} 745}