summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorJaeun Choi <jaeun12.choi@samsung.com>2014-11-20 14:56:36 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-01-07 15:06:02 +0900
commit4eb3a58edd1b88fc2c71945d39c75336e038fdd7 (patch)
tree0f6a3c87eb9b273174690eed7a119284d2dbf5c3 /src/modules
parent6747fadd9a697236c5307f8cb1cb5e9ceec6dabe (diff)
Evas masking: Implement support for polygon draw (SW)
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c
index 2484532a46..4bd1fd2b35 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -321,6 +321,8 @@ struct _Evas_Thread_Command_Polygon
321 void *surface; 321 void *surface;
322 RGBA_Polygon_Point *points; 322 RGBA_Polygon_Point *points;
323 int x, y; 323 int x, y;
324 void *mask;
325 int mask_x, mask_y;
324}; 326};
325 327
326struct _Evas_Thread_Command_Image 328struct _Evas_Thread_Command_Image
@@ -799,7 +801,8 @@ _draw_thread_polygon_draw(void *data)
799 (poly->surface, 801 (poly->surface,
800 poly->ext.x, poly->ext.y, poly->ext.w, poly->ext.h, 802 poly->ext.x, poly->ext.y, poly->ext.w, poly->ext.h,
801 poly->col, poly->render_op, 803 poly->col, poly->render_op,
802 poly->points, poly->x, poly->y); 804 poly->points, poly->x, poly->y,
805 poly->mask, poly->mask_x, poly->mask_y);
803 806
804 _draw_thread_polygon_cleanup(poly); 807 _draw_thread_polygon_cleanup(poly);
805 eina_mempool_free(_mp_command_polygon, poly); 808 eina_mempool_free(_mp_command_polygon, poly);
@@ -873,6 +876,10 @@ _polygon_draw_thread_cmd(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Polygon_Po
873 cp->x = x; 876 cp->x = x;
874 cp->y = y; 877 cp->y = y;
875 878
879 cp->mask = dc->clip.mask;
880 cp->mask_x = dc->clip.mask_x;
881 cp->mask_y = dc->clip.mask_y;
882
876 evas_thread_cmd_enqueue(_draw_thread_polygon_draw, cp); 883 evas_thread_cmd_enqueue(_draw_thread_polygon_draw, cp);
877} 884}
878 885