This patch, the fourth in a series, involves the file "evas_blend_pixel_pixel.c" of the "engines/common" dir.
jose. ----------------------------------------------------------------------- Index: cvs/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_pixel.c =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_pi xel_pixel.c,v retrieving revision 1.5 diff -u -r1.5 evas_blend_pixel_pixel.c --- cvs/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_pixel.c 10 Sep 2003 08:52:17 -0000 1.5 +++ cvs/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_pixel.c 17 Mar 2004 07:14:59 -0000 @@ -20,19 +20,25 @@ while (dst_ptr < dst_end_ptr) { DATA32 tmp; + DATA8 a; - if (A_VAL(src_ptr)) /* hmmm - do we need this? */ + a = A_VAL(src_ptr); + if (!a) { src_ptr++; dst_ptr++; continue; } + if (a == 0xff) + { + *dst_ptr = *src_ptr; + src_ptr++; dst_ptr++; continue; } { - BLEND_COLOR(A_VAL(src_ptr), R_VAL(dst_ptr), - R_VAL(src_ptr), R_VAL(dst_ptr), - tmp); - BLEND_COLOR(A_VAL(src_ptr), G_VAL(dst_ptr), - G_VAL(src_ptr), G_VAL(dst_ptr), - tmp); - BLEND_COLOR(A_VAL(src_ptr), B_VAL(dst_ptr), - B_VAL(src_ptr), B_VAL(dst_ptr), - tmp); - } + BLEND_COLOR(a, R_VAL(dst_ptr), + R_VAL(src_ptr), R_VAL(dst_ptr), + tmp); + BLEND_COLOR(a, G_VAL(dst_ptr), + G_VAL(src_ptr), G_VAL(dst_ptr), + tmp); + BLEND_COLOR(a, B_VAL(dst_ptr), + B_VAL(src_ptr), B_VAL(dst_ptr), + tmp); + src_ptr++; dst_ptr++; } @@ -97,21 +103,27 @@ DATA32 tmp; DATA8 a; - if (A_VAL(src_ptr)) /* hmmm - do we need this? */ + a = A_VAL(src_ptr); + if (!a) { src_ptr++; dst_ptr++; continue; } + if (a == 0xff) + { + *dst_ptr = *src_ptr; + src_ptr++; dst_ptr++; continue; } { - a = _evas_pow_lut[A_VAL(src_ptr)][A_VAL(dst_ptr)]; + a = _evas_pow_lut[a][A_VAL(dst_ptr)]; + BLEND_COLOR(A_VAL(src_ptr), A_VAL(dst_ptr), + 255, A_VAL(dst_ptr), + tmp); + BLEND_COLOR(a, R_VAL(dst_ptr), + R_VAL(src_ptr), R_VAL(dst_ptr), + tmp); + BLEND_COLOR(a, G_VAL(dst_ptr), + G_VAL(src_ptr), G_VAL(dst_ptr), + tmp); + BLEND_COLOR(a, B_VAL(dst_ptr), + B_VAL(src_ptr), B_VAL(dst_ptr), + tmp); - BLEND_COLOR(a, R_VAL(dst_ptr), - R_VAL(src_ptr), R_VAL(dst_ptr), - tmp); - BLEND_COLOR(a, G_VAL(dst_ptr), - G_VAL(src_ptr), G_VAL(dst_ptr), - tmp); - BLEND_COLOR(a, B_VAL(dst_ptr), - B_VAL(src_ptr), B_VAL(dst_ptr), - tmp); - A_VAL(dst_ptr) = A_VAL(dst_ptr) + ((A_VAL(src_ptr) * (255 - A_VAL(dst_ptr))) / 255); - } src_ptr++; dst_ptr++; } ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ enlightenment-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel