32bit->24bit (win32) fix (rgb-bgr)
authorClaus Gittinger <cg@exept.de>
Fri, 31 Jul 2009 19:57:34 +0200
changeset 5297 e1e2793072ad
parent 5296 eb14c247272c
child 5298 97c54512fe23
32bit->24bit (win32) fix (rgb-bgr)
Depth32Image.st
--- a/Depth32Image.st	Thu Jul 09 21:35:51 2009 +0200
+++ b/Depth32Image.st	Fri Jul 31 19:57:34 2009 +0200
@@ -182,14 +182,19 @@
                 if ((lShRed == 0) && (lShGreen == 8) && (lShBlue == 16)) {
                     for (y=__intVal(_INST(height)); y > 0; y--) {
                         for (x=w; x > 0; x--) {
+                            unsigned v;
+
+                            v = srcPtr[0] << 0;
+                            v |= (srcPtr[1] << 8);
+                            v |= (srcPtr[2] << 16);
 # ifdef __MSBFIRST
+                            dstPtr[0] = srcPtr[0];
+                            dstPtr[1] = srcPtr[1];
+                            dstPtr[2] = srcPtr[2];
+# else /* not MSB */
                             dstPtr[0] = srcPtr[2];
                             dstPtr[1] = srcPtr[1];
                             dstPtr[2] = srcPtr[0];
-# else /* not MSB */
-                            dstPtr[0] = srcPtr[0];
-                            dstPtr[1] = srcPtr[1];
-                            dstPtr[2] = srcPtr[2];
 # endif /* not MSB */
                             dstPtr += 3;
                             srcPtr += 4;
@@ -679,5 +684,5 @@
 !Depth32Image class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Depth32Image.st,v 1.7 2007-06-06 16:57:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Depth32Image.st,v 1.8 2009-07-31 17:57:34 cg Exp $'
 ! !