summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorJaeun Choi <jaeun12.choi@samsung.com>2014-11-19 20:08:03 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-01-07 15:06:02 +0900
commit62f3170874c30194c78ab75248b2a45e400f237f (patch)
tree939b02a6a0345068560cdea84fd5b66927779c01 /src/modules
parent4eb3a58edd1b88fc2c71945d39c75336e038fdd7 (diff)
Evas masking: Implement support for map 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 4bd1fd2b35..17ed7f3d44 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -367,6 +367,8 @@ struct _Evas_Thread_Command_Map
367 RGBA_Map *map; 367 RGBA_Map *map;
368 int smooth, level, offset; 368 int smooth, level, offset;
369 Eina_Bool anti_alias; 369 Eina_Bool anti_alias;
370 void *mask;
371 int mask_x, mask_y;
370}; 372};
371 373
372struct _Evas_Thread_Command_Multi_Font 374struct _Evas_Thread_Command_Multi_Font
@@ -1626,7 +1628,8 @@ _draw_thread_map_draw(void *data)
1626 (im, map->surface, 1628 (im, map->surface,
1627 map->clip.x, map->clip.y, map->clip.w, map->clip.h, 1629 map->clip.x, map->clip.y, map->clip.w, map->clip.h,
1628 map->mul_col, map->render_op, m->count - offset, &m->pts[offset], 1630 map->mul_col, map->render_op, m->count - offset, &m->pts[offset],
1629 map->smooth, map->anti_alias, map->level); 1631 map->smooth, map->anti_alias, map->level,
1632 map->mask, map->mask_x, map->mask_y);
1630 } 1633 }
1631 1634
1632 evas_common_cpu_end_opt(); 1635 evas_common_cpu_end_opt();
@@ -1689,6 +1692,10 @@ _map_draw_thread_cmd(RGBA_Image *src, RGBA_Image *dst, RGBA_Draw_Context *dc, RG
1689 cm->level = level; 1692 cm->level = level;
1690 cm->offset = offset; 1693 cm->offset = offset;
1691 1694
1695 cm->mask = dc->clip.mask;
1696 cm->mask_x = dc->clip.mask_x;
1697 cm->mask_y = dc->clip.mask_y;
1698
1692 evas_thread_cmd_enqueue(_draw_thread_map_draw, cm); 1699 evas_thread_cmd_enqueue(_draw_thread_map_draw, cm);
1693 1700
1694 return EINA_TRUE; 1701 return EINA_TRUE;