--- 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 $'
! !