Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

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


Modified Files:
        evas_engine_xrender.c 


Log Message:


endianess fix

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/xrender_x11/evas_engine_xrender.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- evas_engine_xrender.c       3 Oct 2005 15:49:45 -0000       1.3
+++ evas_engine_xrender.c       6 Oct 2005 04:18:52 -0000       1.4
@@ -124,22 +124,50 @@
    jump = ((xim->line_bytes / 4) - w);
    sjump = sw - w;
    spe = sp + ((h - 1) * sw) + w;
-   while (sp < spe)
+   if
+#ifdef WORDS_BIGENDIAN
+     (xim->xim->byte_order == LSBFirst)
+#else
+     (xim->xim->byte_order == MSBFirst)
+#endif
      {
-       sple = sp + w;
-       while (sp < sple)
+       while (sp < spe)
          {
-            a = A_VAL(sp);
-            aa = a + 1;
-            r = ((R_VAL(sp)) * aa) >> 8;
-            g = ((G_VAL(sp)) * aa) >> 8;
-            b = ((B_VAL(sp)) * aa) >> 8;
-            *p = (a << 24) | (r << 16) | (g << 8) | b;
-            p++;
-            sp++;
+            sple = sp + w;
+            while (sp < sple)
+              {
+                 a = A_VAL(sp);
+                 aa = a + 1;
+                 r = ((R_VAL(sp)) * aa) >> 8;
+                 g = ((G_VAL(sp)) * aa) >> 8;
+                 b = ((B_VAL(sp)) * aa) >> 8;
+                 *p = (b << 24) | (g << 16) | (r << 8) | a;
+                 p++;
+                 sp++;
+              }
+            p += jump;
+            sp += sjump;
+         }
+     }
+   else
+     {
+       while (sp < spe)
+         {
+            sple = sp + w;
+            while (sp < sple)
+              {
+                 a = A_VAL(sp);
+                 aa = a + 1;
+                 r = ((R_VAL(sp)) * aa) >> 8;
+                 g = ((G_VAL(sp)) * aa) >> 8;
+                 b = ((B_VAL(sp)) * aa) >> 8;
+                 *p = (a << 24) | (r << 16) | (g << 8) | b;
+                 p++;
+                 sp++;
+              }
+            p += jump;
+            sp += sjump;
          }
-       p += jump;
-       sp += sjump;
      }
    _xr_image_put(xim, rs->draw, x, y, w, h);
 }
@@ -158,17 +186,40 @@
    jump = ((xim->line_bytes / 4) - w);
    sjump = sw - w;
    spe = sp + ((h - 1) * sw) + w;
-   while (sp < spe)
+   if
+#ifdef WORDS_BIGENDIAN
+     (xim->xim->byte_order == LSBFirst)
+#else
+     (xim->xim->byte_order == MSBFirst)
+#endif
      {
-       sple = sp + w;
-       while (sp < sple)
+       while (sp < spe)
          {
-            *p = 0xff000000 | ((R_VAL(sp)) << 16) | ((G_VAL(sp)) << 8) | 
(B_VAL(sp));
-            p++;
-            sp++;
+            sple = sp + w;
+            while (sp < sple)
+              {
+                 *p = ((B_VAL(sp)) << 24) | ((G_VAL(sp)) << 16) | ((R_VAL(sp)) 
<< 8) | 0x000000ff;
+                 p++;
+                 sp++;
+              }
+            p += jump;
+            sp += sjump;
+         }
+     }
+   else
+     {
+       while (sp < spe)
+         {
+            sple = sp + w;
+            while (sp < sple)
+              {
+                 *p = 0xff000000 | ((R_VAL(sp)) << 16) | ((G_VAL(sp)) << 8) | 
(B_VAL(sp));
+                 p++;
+                 sp++;
+              }
+            p += jump;
+            sp += sjump;
          }
-       p += jump;
-       sp += sjump;
      }
    _xr_image_put(xim, rs->draw, x, y, w, h);
 }




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to