--- a/ImageReader.st Fri Apr 04 21:51:28 1997 +0200
+++ b/ImageReader.st Fri Apr 04 22:13:37 1997 +0200
@@ -1293,28 +1293,27 @@
"read an image (in my format) from aFileName.
Return the image or nil on error."
- |result inStream|
+ |reader|
- inStream := self streamReadingFile:aFileName.
- inStream isNil ifTrue:[
- 'ImageReader [warning]: file open error' errorPrintCR.
- ^ nil
+ reader := self readFile:aFileName.
+ reader notNil ifTrue:[
+ ^ reader image
].
- result := self fromStream:inStream.
- inStream close.
- ^ result
+ ^ nil
"
- XPMReader fromFile:'bitmaps/ljet.xpm'
XBMReader fromFile:'bitmaps/SBrowser.xbm'
+ XPMReader fromFile:'bitmaps/xpmBitmaps/BOOK.xpm'
+ XBMReader fromFile:'bitmaps/xpmBitmaps/BOOK.xpm'
"
- "Modified: 10.1.1997 / 17:53:51 / cg"
+ "Modified: 4.4.1997 / 22:09:49 / cg"
!
fromStream:aStream
"read an image (in my format) from aStream.
- Return the image or nil (if unrecognized format or error)"
+ Return the image or nil (if unrecognized format or error).
+ The stream remains open."
|reader|
@@ -1324,45 +1323,71 @@
].
^ nil
- "Modified: 22.4.1996 / 19:11:58 / cg"
+ "Modified: 4.4.1997 / 22:11:49 / cg"
!
imagesFromFile:aFileName
"read all images (in my format) from aFileName.
- Return a collection of images or nil on error."
+ Return a collection of images or nil on error.
+ Not all reader may support multiple images."
+
+ |reader|
+
+ reader := self readFile:aFileName.
+ reader notNil ifTrue:[
+ ^ reader images
+ ].
+ ^ nil
+
+ "Modified: 4.4.1997 / 22:11:01 / cg"
+!
- |result inStream|
+imagesFromStream:aStream
+ "read all images (in my format) from aStream.
+ Return a collection of images or nil (if unrecognized format or error).
+ The stream remains open.
+ Not all reader may support multiple images."
+
+ |reader|
+
+ reader := self new fromStream:aStream.
+ reader notNil ifTrue:[
+ ^ reader images
+ ].
+ ^ nil
+
+ "Modified: 4.4.1997 / 22:11:40 / cg"
+!
+
+readFile:aFileName
+ "create a reader and let it read an image (in my format) from aFileName.
+ Return the reader."
+
+ |reader inStream|
inStream := self streamReadingFile:aFileName.
inStream isNil ifTrue:[
'ImageReader [warning]: file open error' errorPrintCR.
^ nil
].
- result := self imagesFromStream:inStream.
+ reader := self new fromStream:inStream.
inStream close.
- ^ result
+ ^ reader
- "Created: 4.4.1997 / 21:40:52 / cg"
- "Modified: 4.4.1997 / 21:42:38 / cg"
+ "
+ XPMReader readFile:'bitmaps/xpmBitmaps/BOOK.xpm'
+ "
+
+ "Modified: 4.4.1997 / 22:06:49 / cg"
!
-imagesFromStream:aStream
- "read all images (in my format) from aStream.
- Return a collection of images or nil (if unrecognized format or error)"
-
- |reader|
+readStream:inStream
+ "create a reader and let it read a stream (in my format).
+ Return the reader. The stream remains open."
- reader := self new fromStream:aStream.
- reader notNil ifTrue:[
- reader hasMultipleImages ifTrue:[
- ^ reader images
- ].
- ^ Array with:(reader image)
- ].
- ^ nil
+ ^ self new fromStream:inStream.
- "Modified: 22.4.1996 / 19:11:58 / cg"
- "Created: 4.4.1997 / 21:41:54 / cg"
+ "Created: 4.4.1997 / 22:08:13 / cg"
! !
!ImageReader class methodsFor:'image writing'!
@@ -1490,6 +1515,22 @@
"Modified: 20.6.1996 / 17:09:04 / cg"
!
+images
+ "return a collection of all images as represented by myself.
+ For compatibility with single-image formats, return a collection
+ containing my single image here."
+
+ |img|
+
+ img := self image.
+ img isNil ifTrue:[
+ ^ img
+ ].
+ ^ Array with:img
+
+ "Modified: 4.4.1997 / 22:02:22 / cg"
+!
+
mask
"return the image mask (or nil)"
@@ -1703,5 +1744,5 @@
!ImageReader class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.41 1997-04-04 19:51:28 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.42 1997-04-04 20:13:37 cg Exp $'
! !