--- a/Image.st Wed Feb 26 16:47:59 1997 +0100
+++ b/Image.st Thu Feb 27 12:48:05 1997 +0100
@@ -16,7 +16,9 @@
deviceForm monoDeviceForm fullColorDeviceForm mask'
classVariableNames:'Lobby DitherAlgorithm NumberOfDitherColors
CollectGarbageWhenRunningOutOfColors FileFormats
- ImageNotFoundQuerySignal BadImageFormatQuerySignal'
+ ImageNotFoundQuerySignal BadImageFormatQuerySignal
+ ImageSaveErrorSignal FileCreationErrorSignal
+ CannotRepresentImageSignal InformationLostQuerySignal'
poolDictionaries:''
category:'Graphics-Images'
!
@@ -530,11 +532,23 @@
ImageNotFoundQuerySignal := QuerySignal new.
ImageNotFoundQuerySignal nameClass:self message:#imageNotFoundQuerySignal.
+ ImageSaveErrorSignal := ErrorSignal newSignalMayProceed:true.
+ ImageSaveErrorSignal nameClass:self message:#imageSaveErrorSignal.
+
+ FileCreationErrorSignal := ImageSaveErrorSignal newSignalMayProceed:true.
+ FileCreationErrorSignal nameClass:self message:#fileCreationErrorSignal.
+
+ CannotRepresentImageSignal := ImageSaveErrorSignal newSignalMayProceed:true.
+ CannotRepresentImageSignal nameClass:self message:#cannotRepresentImageSignal.
+
+ InformationLostQuerySignal := QuerySignal new.
+ InformationLostQuerySignal nameClass:self message:#informationLostQuerySignal.
+
BadImageFormatQuerySignal := QuerySignal new.
BadImageFormatQuerySignal nameClass:self message:#badImageFormatQuerySignal.
]
- "Modified: 1.2.1997 / 14:40:53 / cg"
+ "Modified: 27.2.1997 / 12:42:13 / cg"
!
initializeFileFormatTable
@@ -903,6 +917,29 @@
"Created: 1.2.1997 / 14:40:29 / cg"
!
+cannotRepresentImageSignal
+ "return the signal, which is raised if some
+ bitmap-image could not be saved in the requested format.
+ This happens for example, if a true color image is saved in
+ xpm format or a color image saved in xbm format.
+ Applications should either ask the class before saving
+ (via #canRepresent:) or handle the error and use an alternative
+ format then."
+
+ ^ CannotRepresentImageSignal
+
+ "Created: 27.2.1997 / 12:24:43 / cg"
+!
+
+fileCreationErrorSignal
+ "return the signal which is raised if a file could not be
+ created in an image-save operation."
+
+ ^ FileCreationErrorSignal
+
+ "Created: 27.2.1997 / 12:32:59 / cg"
+!
+
imageNotFoundQuerySignal
"return the (query-) signal, which is raised if some
bitmap-image could not be loaded from a file.
@@ -913,6 +950,27 @@
^ ImageNotFoundQuerySignal
"Created: 7.1.1997 / 16:04:49 / cg"
+!
+
+imageSaveErrorSignal
+ "return the parent signal of all image-save errors."
+
+ ^ ImageSaveErrorSignal
+
+ "Created: 27.2.1997 / 12:32:23 / cg"
+!
+
+informationLostQuerySignal
+ "return the (query-) signal, which is raised if some
+ bitmap-image is saved in a format which cannot represent
+ the full image (for example: the images mask).
+ If unhandled, the image-save proceeds.
+ Otherwise, the handler may show a warn box or whatever and decide
+ to proceed or abort the saving."
+
+ ^ InformationLostQuerySignal
+
+ "Created: 27.2.1997 / 12:43:50 / cg"
! !
!Image class methodsFor:'cleanup'!
@@ -8533,7 +8591,17 @@
^ self saveOn:aFileName using:TIFFReader
- "Modified: 1.2.1997 / 14:45:41 / cg"
+ "
+ |image|
+
+ image := Image fromFile:'bitmaps/RCube.tiff'.
+ image saveOn:'myImage.tiff'.
+ image saveOn:'myImage.xbm'.
+ image saveOn:'myImage.xpm'.
+ image saveOn:'myImage.xwd'.
+ "
+
+ "Modified: 27.2.1997 / 12:40:40 / cg"
!
saveOn:aFileName using:readerClass
@@ -8544,9 +8612,10 @@
"
anImage saveOn:'myImage' using:TIFFReader
anImage saveOn:'myImage' using:XBMReader
- "
-
- "Modified: 1.2.1997 / 14:45:13 / cg"
+ anImage saveOn:'myImage' using:XPMReader
+ "
+
+ "Modified: 27.2.1997 / 11:41:52 / cg"
! !
!Image methodsFor:'screen capture'!
@@ -8940,6 +9009,6 @@
!Image class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/Image.st,v 1.148 1997-02-25 16:48:22 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/Image.st,v 1.149 1997-02-27 11:48:05 cg Exp $'
! !
Image initialize!