[pypy-svn] r54944 - pypy/dist/pypy/rlib/rsdl

stephan at codespeak.net stephan at codespeak.net
Mon May 19 17:00:15 CEST 2008


Author: stephan
Date: Mon May 19 17:00:13 2008
New Revision: 54944

Modified:
   pypy/dist/pypy/rlib/rsdl/RSDL.py
   pypy/dist/pypy/rlib/rsdl/RSDL_helper.py
Log:
fixed set_pixel (cami, stephan)

Modified: pypy/dist/pypy/rlib/rsdl/RSDL.py
==============================================================================
--- pypy/dist/pypy/rlib/rsdl/RSDL.py	(original)
+++ pypy/dist/pypy/rlib/rsdl/RSDL.py	Mon May 19 17:00:13 2008
@@ -122,9 +122,9 @@
 # ------------------------------------------------------------------------------
 
 def Init(flags):
-    if sys.platform == 'darwin':
-        from AppKit import NSApplication
-        NSApplication.sharedApplication()
+#    if sys.platform == 'darwin':
+#        from AppKit import NSApplication
+#        NSApplication.sharedApplication()
     return _Init(flags)
 
 # ------------------------------------------------------------------------------

Modified: pypy/dist/pypy/rlib/rsdl/RSDL_helper.py
==============================================================================
--- pypy/dist/pypy/rlib/rsdl/RSDL_helper.py	(original)
+++ pypy/dist/pypy/rlib/rsdl/RSDL_helper.py	Mon May 19 17:00:13 2008
@@ -74,23 +74,22 @@
     # Here p is the address to the pixel we want to retrieve
     p = rffi.ptradd(image.c_pixels, y * pitch + x * bpp)
     if bpp == 1:
-        p[0] = pixel
+        p[0] = rffi.cast(rffi.UCHAR,pixel)
     elif bpp == 2:
         p = rffi.cast(RSDL.Uint16P, p)
-        p[0] = pixel
+        p[0] = rffi.cast(RSDL.Uint16,pixel) 
     elif bpp == 3:
-        p = rffi.cast(lltype.Signed, p)
         if RSDL.BYTEORDER == RSDL.BIG_ENDIAN:
-            p[0] = (pixel >> 16) & 0xFF
-            p[1] = (pixel >> 8 ) & 0xFF
-            p[2] = pixel & 0xFF
+            p[0] = rffi.cast(rffi.UCHAR,(pixel >> 16) & 0xFF)
+            p[1] = rffi.cast(rffi.UCHAR,(pixel >> 8 ) & 0xFF)
+            p[2] = rffi.cast(rffi.UCHAR,pixel & 0xFF)
         else:
-            p[0] = pixel & 0xFF
-            p[1] = (pixel >> 8 ) & 0xFF
-            p[2] = (pixel >> 16) & 0xFF
+            p[0] = rffi.cast(rffi.UCHAR,pixel & 0xFF)
+            p[1] = rffi.cast(rffi.UCHAR,(pixel >> 8 ) & 0xFF)
+            p[2] = rffi.cast(rffi.UCHAR,(pixel >> 16) & 0xFF)
     elif bpp == 4:
         p = rffi.cast(RSDL.Uint32P, p)
-        p[0] = pixel
+        p[0] = rffi.cast(RSDL.Uint32, pixel)
     else:
         raise ValueError("bad BytesPerPixel")
 



More information about the Pypy-commit mailing list