Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/engines/common


Modified Files:
        evas_scale_smooth_scaler_up.c 


Log Message:


a few patches from emails. :) emails will be coming.. when i flush my mush.

===================================================================
RCS file: 
/cvs/e/e17/libs/evas/src/lib/engines/common/evas_scale_smooth_scaler_up.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- evas_scale_smooth_scaler_up.c       2 May 2006 07:28:47 -0000       1.6
+++ evas_scale_smooth_scaler_up.c       6 Sep 2006 12:09:52 -0000       1.7
@@ -132,7 +132,8 @@
          }
      }
 
-   src_end = src_data + (src_w * src_h) - 1;
+//   src_end = src_data + (src_w * src_h) - 1;
+   src_end = src_data + (src_w * (src_region_y + src_region_h)) - 1;
    if (dc->mul.use)
        func = evas_common_gfx_func_composite_pixel_color_span_get(src, 
dc->mul.col, dst, dst_clip_w, dc->render_op);
    else
@@ -148,8 +149,7 @@
    if (src->flags & RGBA_IMAGE_HAS_ALPHA)
      {
        int     k, px, i, pv;
-       DATA8   p1r = 0, p1g = 0, p1b = 0, p1a = 0;
-       DATA8   p2r = 0, p2g = 0, p2b = 0, p2a = 0;
+       DATA32  p1 = 0, p2 = 0;
        DATA32 *lptr1, *lptr2;
 
        while (dst_clip_h--)
@@ -163,10 +163,7 @@
             lp = lin_ptr;  ix = interp_x;
             ptr = lptr1 + *lp;
             ptr2 = lptr2 + *lp;
-            p2r = R_VAL(ptr) + ((k * (R_VAL(ptr2) - R_VAL(ptr))) >> 8);
-            p2g = G_VAL(ptr) + ((k * (G_VAL(ptr2) - G_VAL(ptr))) >> 8);
-            p2b = B_VAL(ptr) + ((k * (B_VAL(ptr2) - B_VAL(ptr))) >> 8);
-            p2a = A_VAL(ptr) + ((k * (A_VAL(ptr2) - A_VAL(ptr))) >> 8);
+            p2 = INTERP_256(k, *ptr2, *ptr);
             pv = 1;
             px = -1;
             while (dst_clip_w--)
@@ -179,7 +176,8 @@
                       ptr2 = ptr + 1;
                       ptr3 = lptr2 + px;
                       ptr4 = ptr3 + 1;
-                      if (px >= (src_w - 1))
+//                    if (px >= (src_w - 1))
+                      if (px >= (src_region_x + src_region_w - 1))
                         {
                            ptr2 = ptr;
                            ptr4 = ptr3;
@@ -187,41 +185,24 @@
 
                       if ((*ptr | *ptr2 | *ptr3 | *ptr4) & 0xff000000)
                         {
-                           if (pv)
-                             {
-                                p1r = p2r;
-                                p1g = p2g;
-                                p1b = p2b;
-                                p1a = p2a;
-                             }
-                           else
-                             {
-                                p1r = R_VAL(ptr) + ((k * (R_VAL(ptr3) - 
R_VAL(ptr))) >> 8);
-                                p1g = G_VAL(ptr) + ((k * (G_VAL(ptr3) - 
G_VAL(ptr))) >> 8);
-                                p1b = B_VAL(ptr) + ((k * (B_VAL(ptr3) - 
B_VAL(ptr))) >> 8);
-                                p1a = A_VAL(ptr) + ((k * (A_VAL(ptr3) - 
A_VAL(ptr))) >> 8);
-                             }
-                           p2r = R_VAL(ptr2) + ((k * (R_VAL(ptr4) - 
R_VAL(ptr2))) >> 8);
-                           p2g = G_VAL(ptr2) + ((k * (G_VAL(ptr4) - 
G_VAL(ptr2))) >> 8);
-                           p2b = B_VAL(ptr2) + ((k * (B_VAL(ptr4) - 
B_VAL(ptr2))) >> 8);
-                           p2a = A_VAL(ptr2) + ((k * (A_VAL(ptr4) - 
A_VAL(ptr2))) >> 8);
+                           p1 = p2;
+                           if (!pv)
+                               p1 = INTERP_256(k, *ptr3, *ptr);
+                           p2 = INTERP_256(k, *ptr4, *ptr2);
                            pv = 1;
                         }
                       else
                         {
                            pv = 0;
-                           p1a = p2a = 0;
+                           p1 = p2 = 0;
                         }
                    }
                  
                  *dst_ptr = 0;
-                 if (p1a | p2a)
+                 if ((p1 | p2) & 0xff000000)
                    {
                       i = *ix;
-                      R_VAL(dst_ptr) = p1r + ((i * (p2r - p1r)) >> 8);
-                      G_VAL(dst_ptr) = p1g + ((i * (p2g - p1g)) >> 8);
-                      B_VAL(dst_ptr) = p1b + ((i * (p2b - p1b)) >> 8);
-                      A_VAL(dst_ptr) = p1a + ((i * (p2a - p1a)) >> 8);
+                      *dst_ptr = INTERP_256(i, p2, p1);
                    }
                  
                  dst_ptr++;  ix++;  lp++;
@@ -235,8 +216,7 @@
    else
      {
        int     k, px, i;
-       DATA8   p1r = 0, p1g = 0, p1b = 0;
-       DATA8   p2r = 0, p2g = 0, p2b = 0;
+       DATA32  p1 = 0, p2 = 0;
        DATA32 *lptr1, *lptr2;
 
 #ifdef DIRECT_SCALE
@@ -255,9 +235,7 @@
                  lp = lin_ptr;  ix = interp_x;
                  ptr = lptr1 + *lp;
                  ptr2 = lptr2 + *lp;
-                 p2r = R_VAL(ptr) + ((k * (R_VAL(ptr2) - R_VAL(ptr))) >> 8);
-                 p2g = G_VAL(ptr) + ((k * (G_VAL(ptr2) - G_VAL(ptr))) >> 8);
-                 p2b = B_VAL(ptr) + ((k * (B_VAL(ptr2) - B_VAL(ptr))) >> 8);
+                 p2 = INTERP_RGB_256(k, *ptr2, *ptr);
                  px = -1;
                  while (dst_clip_w--)
                    {
@@ -267,23 +245,17 @@
                            
                            ptr2 = lptr1 + px + 1;
                            ptr4 = lptr2 + px + 1;
-                           if (px >= (src_w - 1))
+//                         if (px >= (src_w - 1))
+                           if (px >= (src_region_x + src_region_w - 1))
                              {
                                 ptr2--;
                                 ptr4--;
                              }
-                           p1r = p2r;
-                           p1g = p2g;
-                           p1b = p2b;
-                           p2r = R_VAL(ptr2) + ((k * (R_VAL(ptr4) - 
R_VAL(ptr2))) >> 8);
-                           p2g = G_VAL(ptr2) + ((k * (G_VAL(ptr4) - 
G_VAL(ptr2))) >> 8);
-                           p2b = B_VAL(ptr2) + ((k * (B_VAL(ptr4) - 
B_VAL(ptr2))) >> 8);
+                           p1 = p2;
+                           p2 = INTERP_RGB_256(k, *ptr4, *ptr2);
                         }
                       i = *ix;
-                      R_VAL(dst_ptr) = p1r + ((i * (p2r - p1r)) >> 8);
-                      G_VAL(dst_ptr) = p1g + ((i * (p2g - p1g)) >> 8);
-                      B_VAL(dst_ptr) = p1b + ((i * (p2b - p1b)) >> 8);
-//                    A_VAL(dst_ptr) = 0xff;
+                      *dst_ptr = 0xff000000 | INTERP_RGB_256(i, p2, p1);
                       
                       dst_ptr++;  ix++;  lp++;
                    }
@@ -305,9 +277,7 @@
                  lp = lin_ptr;  ix = interp_x;
                  ptr = lptr1 + *lp;
                  ptr2 = lptr2 + *lp;
-                 p2r = R_VAL(ptr) + ((k * (R_VAL(ptr2) - R_VAL(ptr))) >> 8);
-                 p2g = G_VAL(ptr) + ((k * (G_VAL(ptr2) - G_VAL(ptr))) >> 8);
-                 p2b = B_VAL(ptr) + ((k * (B_VAL(ptr2) - B_VAL(ptr))) >> 8);
+                 p2 = INTERP_RGB_256(k, *ptr2, *ptr);
                  px = -1;
                  while (dst_clip_w--)
                    {
@@ -317,23 +287,17 @@
                            
                            ptr2 = lptr1 + px + 1;
                            ptr4 = lptr2 + px + 1;
-                           if (px >= (src_w - 1))
+//                         if (px >= (src_w - 1))
+                           if (px >= (src_region_x + src_region_w - 1))
                              {
                                 ptr2--;
                                 ptr4--;
                              }
-                           p1r = p2r;
-                           p1g = p2g;
-                           p1b = p2b;
-                           p2r = R_VAL(ptr2) + ((k * (R_VAL(ptr4) - 
R_VAL(ptr2))) >> 8);
-                           p2g = G_VAL(ptr2) + ((k * (G_VAL(ptr4) - 
G_VAL(ptr2))) >> 8);
-                           p2b = B_VAL(ptr2) + ((k * (B_VAL(ptr4) - 
B_VAL(ptr2))) >> 8);
+                           p1 = p2;
+                           p2 = INTERP_RGB_256(k, *ptr4, *ptr2);
                         }
                       i = *ix;
-                      R_VAL(dst_ptr) = p1r + ((i * (p2r - p1r)) >> 8);
-                      G_VAL(dst_ptr) = p1g + ((i * (p2g - p1g)) >> 8);
-                      B_VAL(dst_ptr) = p1b + ((i * (p2b - p1b)) >> 8);
-                      A_VAL(dst_ptr) = 0xff;
+                      *dst_ptr = 0xff000000 | INTERP_RGB_256(i, p2, p1);
                       
                       dst_ptr++;  ix++;  lp++;
                    }
@@ -379,7 +343,8 @@
                       ptr2 = ptr + 1;
                       ptr3 = lptr2 + px;
                       ptr4 = ptr3 + 1;
-                      if (px >= (src_w - 1))
+//                    if (px >= (src_w - 1))
+                      if (px >= (src_region_x + src_region_w - 1))
                         {
                            ptr2 = ptr;
                            ptr4 = ptr3;
@@ -505,7 +470,8 @@
                            
                            ptr2 = lptr1 + px + 1;
                            ptr4 = lptr2 + px + 1;
-                           if (px >= (src_w - 1))
+//                         if (px >= (src_w - 1))
+                           if (px >= (src_region_x + src_region_w - 1))
                              {
                                 ptr2--;
                                 ptr4--;
@@ -601,7 +567,8 @@
                            
                            ptr2 = lptr1 + px + 1;
                            ptr4 = lptr2 + px + 1;
-                           if (px >= (src_w - 1))
+//                         if (px >= (src_w - 1))
+                           if (px >= (src_region_x + src_region_w - 1))
                              {
                                 ptr2--;
                                 ptr4--;



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to