aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/lib/engines/common/evas_polygon_main.c
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-23 23:30:42 +1000
committerDavid Walter Seikel2012-01-23 23:30:42 +1000
commit825a3d837a33f226c879cd02ad15c3fba57e8b2c (patch)
tree75f57bd9c4253508d338dc79ba8e57a7abc42255 /libraries/evas/src/lib/engines/common/evas_polygon_main.c
parentAdd ability to disable the test harness, or the Lua compile test. (diff)
downloadSledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.zip
SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.gz
SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.bz2
SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.xz
Update the EFL to what I'm actually using, coz I'm using some stuff not yet released.
Diffstat (limited to 'libraries/evas/src/lib/engines/common/evas_polygon_main.c')
-rw-r--r--libraries/evas/src/lib/engines/common/evas_polygon_main.c40
1 files changed, 36 insertions, 4 deletions
diff --git a/libraries/evas/src/lib/engines/common/evas_polygon_main.c b/libraries/evas/src/lib/engines/common/evas_polygon_main.c
index bca3f83..ea0bf13 100644
--- a/libraries/evas/src/lib/engines/common/evas_polygon_main.c
+++ b/libraries/evas/src/lib/engines/common/evas_polygon_main.c
@@ -1,3 +1,7 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
1#include <math.h> 5#include <math.h>
2 6
3#include "evas_common.h" 7#include "evas_common.h"
@@ -133,6 +137,14 @@ evas_common_polygon_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Polygon_Po
133 int ext_x, ext_y, ext_w, ext_h; 137 int ext_x, ext_y, ext_w, ext_h;
134 int *sorted_index; 138 int *sorted_index;
135 139
140#ifdef HAVE_PIXMAN
141# ifdef PIXMAN_POLY
142 pixman_op_t op = PIXMAN_OP_SRC; // _EVAS_RENDER_COPY
143 if (dc->render_op == _EVAS_RENDER_BLEND)
144 op = PIXMAN_OP_OVER;
145# endif
146#endif
147
136 ext_x = 0; 148 ext_x = 0;
137 ext_y = 0; 149 ext_y = 0;
138 ext_w = dst->cache_entry.w; 150 ext_w = dst->cache_entry.w;
@@ -279,10 +291,30 @@ evas_common_polygon_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Polygon_Po
279 if (((span->y) % dc->sli.h) == dc->sli.y) 291 if (((span->y) % dc->sli.h) == dc->sli.y)
280#endif 292#endif
281 { 293 {
282 ptr = dst->image.data + (span->y * (dst->cache_entry.w)) + span->x; 294#ifdef HAVE_PIXMAN
283 func(NULL, NULL, dc->col.col, ptr, span->w); 295# ifdef PIXMAN_POLY
284 } 296 if ((dst->pixman.im) && (dc->col.pixman_color_image) &&
285 } 297 (!dc->mask.mask))
298 pixman_image_composite(op, dc->col.pixman_color_image,
299 NULL, dst->pixman.im,
300 span->x, span->y, 0, 0,
301 span->x, span->y, span->w, 1);
302 else if ((dst->pixman.im) && (dc->col.pixman_color_image) &&
303 (dc->mask.mask))
304 pixman_image_composite(op, dc->col.pixman_color_image,
305 dc->mask.mask->pixman.im,
306 dst->pixman.im,
307 span->x, span->y, 0, 0,
308 span->x, span->y, span->w, 1);
309 else
310# endif
311#endif
312 {
313 ptr = dst->image.data + (span->y * (dst->cache_entry.w)) + span->x;
314 func(NULL, NULL, dc->col.col, ptr, span->w);
315 }
316 }
317 }
286 while (spans) 318 while (spans)
287 { 319 {
288 span = (RGBA_Span *)spans; 320 span = (RGBA_Span *)spans;