#rgbImageAsTrueColorFormOn: refactoring
authorfm
Mon, 29 Oct 2007 16:29:23 +0100
changeset 4805 c67a676c439b
parent 4804 8f5c11474e4d
child 4806 4458392cc27e
#rgbImageAsTrueColorFormOn: refactoring #rgbImageBitsOn:bestFormat: created
Depth24Image.st
--- a/Depth24Image.st	Mon Oct 22 10:40:07 2007 +0200
+++ b/Depth24Image.st	Mon Oct 29 16:29:23 2007 +0100
@@ -1046,13 +1046,49 @@
 rgbImageAsTrueColorFormOn:aDevice
     "return a truecolor form from the rgb-picture."
 
-    |bytes bestFormat usedDeviceDepth usedDeviceBitsPerPixel usedDevicePadding
-     myDepth form imageBits padd
+    | bestFormat usedDeviceDepth usedDeviceBitsPerPixel usedDevicePadding form imageBits|
+
+    bestFormat := self bestSupportedImageFormatFor:aDevice.
+
+    imageBits := self rgbImageBitsOn:aDevice bestFormat: bestFormat.
+
+    usedDeviceDepth := bestFormat at:#depth.
+    usedDeviceBitsPerPixel := bestFormat at:#bitsPerPixel.
+    usedDevicePadding := bestFormat at:#padding.
+
+    imageBits isNil ifTrue:[
+        ^ self asMonochromeFormOn:aDevice
+    ].
+
+    form := Form width:width height:height depth:usedDeviceDepth onDevice:aDevice.
+    form isNil ifTrue:[
+        'Depth24Image [warning]: display bitmap creation failed' errorPrintCR.
+        ^ nil
+    ].
+    form initGC.
+
+    form
+        copyBitsFrom:imageBits
+        bitsPerPixel:usedDeviceBitsPerPixel
+        depth:usedDeviceDepth
+        padding:usedDevicePadding
+        width:width height:height
+        x:0 y:0 toX:0 y:0.
+
+    ^ form
+
+    "Modified: / 27-05-2007 / 16:48:16 / cg"
+!
+
+rgbImageBitsOn:aDevice bestFormat: bestFormat
+    "return rgb bits from the rgb-picture."
+
+    |bytes usedDeviceDepth usedDeviceBitsPerPixel usedDevicePadding
+     myDepth imageBits padd
      rightShiftR rightShiftG rightShiftB shiftRed shiftGreen shiftBlue|
 
     bytes := self bits.
 
-    bestFormat := self bestSupportedImageFormatFor:aDevice.
     usedDeviceDepth := bestFormat at:#depth.
     usedDeviceBitsPerPixel := bestFormat at:#bitsPerPixel.
     usedDevicePadding := bestFormat at:#padding.
@@ -1489,27 +1525,12 @@
     ].
 
     imageBits isNil ifTrue:[
-        'IMAGE: unimplemented trueColor depth in #rgbImageAsTrueColorFormOn: ' errorPrint.
+        'IMAGE: unimplemented trueColor depth in #rgbImageBitsOn: ' errorPrint.
         usedDeviceBitsPerPixel errorPrintCR.
-        ^ self asMonochromeFormOn:aDevice
-    ].
-
-    form := Form width:width height:height depth:usedDeviceDepth onDevice:aDevice.
-    form isNil ifTrue:[
-        'Depth24Image [warning]: display bitmap creation failed' errorPrintCR.
         ^ nil
     ].
-    form initGC.
-
-    form
-        copyBitsFrom:imageBits
-        bitsPerPixel:usedDeviceBitsPerPixel
-        depth:usedDeviceDepth
-        padding:usedDevicePadding
-        width:width height:height
-        x:0 y:0 toX:0 y:0.
-
-    ^ form
+
+    ^ imageBits 
 
     "Modified: / 27-05-2007 / 16:48:16 / cg"
 ! !
@@ -3028,5 +3049,5 @@
 !Depth24Image class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/Depth24Image.st,v 1.87 2007-05-31 15:18:02 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/Depth24Image.st,v 1.88 2007-10-29 15:29:23 fm Exp $'
 ! !