aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/lib/engines/common/evas_rectangle_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/lib/engines/common/evas_rectangle_main.c')
-rw-r--r--libraries/evas/src/lib/engines/common/evas_rectangle_main.c34
1 files changed, 26 insertions, 8 deletions
diff --git a/libraries/evas/src/lib/engines/common/evas_rectangle_main.c b/libraries/evas/src/lib/engines/common/evas_rectangle_main.c
index 28aaf16..fc25fd0 100644
--- a/libraries/evas/src/lib/engines/common/evas_rectangle_main.c
+++ b/libraries/evas/src/lib/engines/common/evas_rectangle_main.c
@@ -58,16 +58,34 @@ rectangle_draw_internal(RGBA_Image *dst, RGBA_Draw_Context *dc, int x, int y, in
58 RECTS_CLIP_TO_RECT(x, y, w, h, dc->clip.x, dc->clip.y, dc->clip.w, dc->clip.h); 58 RECTS_CLIP_TO_RECT(x, y, w, h, dc->clip.x, dc->clip.y, dc->clip.w, dc->clip.h);
59 if ((w <= 0) || (h <= 0)) return; 59 if ((w <= 0) || (h <= 0)) return;
60 60
61 func = evas_common_gfx_func_composite_color_span_get(dc->col.col, dst, w, dc->render_op); 61#ifdef HAVE_PIXMAN
62 ptr = dst->image.data + (y * dst->cache_entry.w) + x; 62# ifdef PIXMAN_RECT
63 for (yy = 0; yy < h; yy++) 63 pixman_op_t op = PIXMAN_OP_SRC; // _EVAS_RENDER_COPY
64
65 if (dc->render_op == _EVAS_RENDER_BLEND)
66 op = PIXMAN_OP_OVER;
67
68 if ((dst->pixman.im) && (dc->col.pixman_color_image))
64 { 69 {
70 pixman_image_composite(op, dc->col.pixman_color_image, NULL,
71 dst->pixman.im, x, y, 0, 0,
72 x, y, w, h);
73 }
74 else
75# endif
76#endif
77 {
78 func = evas_common_gfx_func_composite_color_span_get(dc->col.col, dst, w, dc->render_op);
79 ptr = dst->image.data + (y * dst->cache_entry.w) + x;
80 for (yy = 0; yy < h; yy++)
81 {
65#ifdef EVAS_SLI 82#ifdef EVAS_SLI
66 if (((yy + y) % dc->sli.h) == dc->sli.y) 83 if (((yy + y) % dc->sli.h) == dc->sli.y)
67#endif 84#endif
68 { 85 {
69 func(NULL, NULL, dc->col.col, ptr, w); 86 func(NULL, NULL, dc->col.col, ptr, w);
70 } 87 }
71 ptr += dst->cache_entry.w; 88 ptr += dst->cache_entry.w;
89 }
72 } 90 }
73} 91}