This patch, the fith in a series, involves the file
"evas_blend_pixel_cmod_pixel.c" of the "engines/common" dir.


                        jose.

-----------------------------------------------------------------------

Index:
cvs/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c
===================================================================
RCS file:
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_pi
xel_cmod_pixel.c,v
retrieving revision 1.3
diff -u -r1.3 evas_blend_pixel_cmod_pixel.c
---
cvs/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c  12
May 2003 02:26:26 -0000 1.3
+++
cvs/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c  17
Mar 2004 18:52:31 -0000
@@ -22,18 +22,23 @@
        DATA8  a;
        
        a = amod[A_VAL(src_ptr)];
-       if (a) /* hmmm - do we need this? */
+       if (!a) { src_ptr++;  dst_ptr++;  continue; }
+       if (a == 0xff)
          {
-            BLEND_COLOR(a, R_VAL(dst_ptr), 
-                        rmod[R_VAL(src_ptr)], R_VAL(dst_ptr), 
-                        tmp);
-            BLEND_COLOR(a, G_VAL(dst_ptr), 
-                        gmod[G_VAL(src_ptr)], G_VAL(dst_ptr), 
-                        tmp);
-            BLEND_COLOR(a, B_VAL(dst_ptr), 
-                        bmod[B_VAL(src_ptr)], B_VAL(dst_ptr), 
-                        tmp);
+           R_VAL(dst_ptr) = rmod[R_VAL(src_ptr)];
+           G_VAL(dst_ptr) = gmod[G_VAL(src_ptr)];
+           B_VAL(dst_ptr) = bmod[B_VAL(src_ptr)];
+           src_ptr++;  dst_ptr++;  continue;
          }
+       BLEND_COLOR(a, R_VAL(dst_ptr), 
+                 rmod[R_VAL(src_ptr)], R_VAL(dst_ptr), 
+                 tmp);
+       BLEND_COLOR(a, G_VAL(dst_ptr), 
+                 gmod[G_VAL(src_ptr)], G_VAL(dst_ptr), 
+                 tmp);
+       BLEND_COLOR(a, B_VAL(dst_ptr), 
+                 bmod[B_VAL(src_ptr)], B_VAL(dst_ptr), 
+                 tmp);
        src_ptr++;
        dst_ptr++;
      }
@@ -53,22 +58,31 @@
    while (dst_ptr < dst_end_ptr)
      {
        DATA32 tmp;
-       DATA8  a;
+       DATA8  a, aa;
        
-       a = _evas_pow_lut[amod[A_VAL(src_ptr)]][A_VAL(dst_ptr)];
-       if (a) /* hmmm - do we need this? */
+       aa = amod[A_VAL(src_ptr)];
+       if (!aa) { src_ptr++;  dst_ptr++;  continue; }
+       if (aa == 0xff)
          {
-            BLEND_COLOR(a, R_VAL(dst_ptr), 
-                        rmod[R_VAL(src_ptr)], R_VAL(dst_ptr), 
-                        tmp);
-            BLEND_COLOR(a, G_VAL(dst_ptr), 
-                        gmod[G_VAL(src_ptr)], G_VAL(dst_ptr), 
-                        tmp);
-            BLEND_COLOR(a, B_VAL(dst_ptr), 
-                        bmod[B_VAL(src_ptr)], B_VAL(dst_ptr), 
-                        tmp);  
-            A_VAL(dst_ptr) = A_VAL(dst_ptr) + ((amod[A_VAL(src_ptr)] * (255 -
A_VAL(dst_ptr))) / 255);
+           A_VAL(dst_ptr) = 0xff;
+           R_VAL(dst_ptr) = rmod[R_VAL(src_ptr)];
+           G_VAL(dst_ptr) = gmod[G_VAL(src_ptr)];
+           B_VAL(dst_ptr) = bmod[B_VAL(src_ptr)];
+           src_ptr++;  dst_ptr++;  continue;
          }
+       a = _evas_pow_lut[aa][A_VAL(dst_ptr)];
+       BLEND_COLOR(aa, A_VAL(dst_ptr), 
+                 255, A_VAL(dst_ptr), 
+                 tmp);
+       BLEND_COLOR(a, R_VAL(dst_ptr), 
+                 rmod[R_VAL(src_ptr)], R_VAL(dst_ptr), 
+                 tmp);
+       BLEND_COLOR(a, G_VAL(dst_ptr), 
+                 gmod[G_VAL(src_ptr)], G_VAL(dst_ptr), 
+                 tmp);
+       BLEND_COLOR(a, B_VAL(dst_ptr), 
+                 bmod[B_VAL(src_ptr)], B_VAL(dst_ptr), 
+                 tmp);
        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

Reply via email to