[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-gtk-cvs
Subject:    [php-gtk-cvs] cvs: php-gtk /ext/gtk+ gdk.overrides
From:       "Andrei Zmievski" <andrei () php ! net>
Date:       2006-09-09 20:22:26
Message-ID: cvsandrei1157833346 () cvsserver
[Download RAW message or body]

andrei		Sat Sep  9 20:22:26 2006 UTC

  Modified files:              
    /php-gtk/ext/gtk+	gdk.overrides 
  Log:
  Reverse the order of colors/alpha if on little-endian platform.
  
  
http://cvs.php.net/viewvc.cgi/php-gtk/ext/gtk+/gdk.overrides?r1=1.65&r2=1.66&diff_format=u
Index: php-gtk/ext/gtk+/gdk.overrides
diff -u php-gtk/ext/gtk+/gdk.overrides:1.65 php-gtk/ext/gtk+/gdk.overrides:1.66
--- php-gtk/ext/gtk+/gdk.overrides:1.65	Sat Jun 24 00:22:15 2006
+++ php-gtk/ext/gtk+/gdk.overrides	Sat Sep  9 20:22:26 2006
@@ -1833,7 +1833,14 @@
                 } else {
                     alpha = 127 - gdTrueColorGetAlpha(pixel);
                 }
+#ifdef WORDS_BIGENDIAN
                 data[c++] = (pixel << 8) | ((alpha << 1) + (alpha >> 6));
+#else
+                data[c++] = (((alpha << 1) + (alpha >> 6)) << 24) |
+                            (gdTrueColorGetBlue(pixel)     << 16) |
+                            (gdTrueColorGetGreen(pixel)    << 8)  |
+                            (gdTrueColorGetRed(pixel));
+#endif
             }
         }
     } else {
@@ -1845,10 +1852,17 @@
                 } else {
                     alpha = 127 - gd->alpha[pixel];
                 }
-                data[c++] = (gd->red[pixel]   << 24) + 
-                            (gd->blue[pixel]  << 16) + 
-                            (gd->green[pixel] << 8)  +
+#ifdef WORDS_BIGENDIAN
+                data[c++] = (gd->red[pixel]   << 24) | 
+                            (gd->blue[pixel]  << 16) | 
+                            (gd->green[pixel] << 8)  |
                             ((alpha << 1) + (alpha >> 6));
+#else
+                data[c++] = (((alpha << 1) + (alpha >> 6)) << 24) |
+                            (gd->blue[pixel]               << 16) | 
+                            (gd->green[pixel]              << 8)  |
+                            (gd->red[pixel]);
+#endif
             }
         }
     }

-- 
PHP-GTK CVS Mailing List (http://gtk.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic