.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/AlignOrg.st Sun Jul 02 18:18:00 1995 +0200
@@ -0,0 +1,95 @@
+LayoutOrigin subclass:#AlignmentOrigin
+ instanceVariableNames:'leftAlignmentFraction topAlignmentFraction'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Graphics-Geometry'
+!
+
+!AlignmentOrigin methodsFor:'accessing'!
+
+leftAlignmentFraction:something
+ "set leftAlignmentFraction"
+
+ leftAlignmentFraction := something.
+!
+
+leftAlignmentFraction
+ "return leftAlignmentFraction"
+
+ ^ leftAlignmentFraction
+!
+
+topAlignmentFraction:something
+ "set topAlignmentFraction"
+
+ topAlignmentFraction := something.
+!
+
+topAlignmentFraction
+ "return topAlignmentFraction"
+
+ ^ topFraction
+! !
+
+!AlignmentOrigin methodsFor:'printing & storing'!
+
+displayString
+ ^ 'LayoutOrigin('
+ , 'l: ' , leftFraction displayString
+ , '+' , leftOffset displayString
+ , ' t: ' , topFraction displayString
+ , '+' , topOffset displayString
+ , ' a: ' , leftAlignmentFraction displayString
+ , '@' , topAlignmentFraction displayString
+ , ')'
+! !
+
+
+!AlignmentOrigin methodsFor:'queries'!
+
+rectangleRelativeTo:superRectangle preferred:prefRect
+ |x y|
+
+ leftOffset isNil ifTrue:[
+ x := 0
+ ] ifFalse:[
+ x := leftOffset
+ ].
+ topOffset isNil ifTrue:[
+ y := 0
+ ] ifFalse:[
+ y := topOffset
+ ].
+ leftFraction notNil ifTrue:[
+ x := x + (superRectangle width * leftFraction)
+ ].
+ topFraction notNil ifTrue:[
+ y := y + (superRectangle height * topFraction)
+ ].
+ leftAlignmentFraction ~~ 0 ifTrue:[
+ x := x - (prefRect width * leftAlignmentFraction)
+ ].
+ topAlignmentFraction ~~ 0 ifTrue:[
+ y := y - (prefRect height * topAlignmentFraction)
+ ].
+ ^ Rectangle origin:x@y extent:prefRect extent
+
+ "
+ |superRect aO|
+
+ superRect := 0@0 corner:100@100.
+ aO := (AlignmentOrigin new).
+ aO leftFraction:0.5;
+ topFraction:0.5;
+ leftAlignmentFraction:0.5;
+ topAlignmentFraction:0.5.
+ aO rectangleRelativeTo:superRect preferred:(0@0 corner:30@30)
+ "
+! !
+
+!AlignmentOrigin methodsFor:'initialization'!
+
+initialize
+ super initialize.
+ leftAlignmentFraction := topAlignmentFraction := 0.
+! !
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/AlignmentOrigin.st Sun Jul 02 18:18:00 1995 +0200
@@ -0,0 +1,95 @@
+LayoutOrigin subclass:#AlignmentOrigin
+ instanceVariableNames:'leftAlignmentFraction topAlignmentFraction'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Graphics-Geometry'
+!
+
+!AlignmentOrigin methodsFor:'accessing'!
+
+leftAlignmentFraction:something
+ "set leftAlignmentFraction"
+
+ leftAlignmentFraction := something.
+!
+
+leftAlignmentFraction
+ "return leftAlignmentFraction"
+
+ ^ leftAlignmentFraction
+!
+
+topAlignmentFraction:something
+ "set topAlignmentFraction"
+
+ topAlignmentFraction := something.
+!
+
+topAlignmentFraction
+ "return topAlignmentFraction"
+
+ ^ topFraction
+! !
+
+!AlignmentOrigin methodsFor:'printing & storing'!
+
+displayString
+ ^ 'LayoutOrigin('
+ , 'l: ' , leftFraction displayString
+ , '+' , leftOffset displayString
+ , ' t: ' , topFraction displayString
+ , '+' , topOffset displayString
+ , ' a: ' , leftAlignmentFraction displayString
+ , '@' , topAlignmentFraction displayString
+ , ')'
+! !
+
+
+!AlignmentOrigin methodsFor:'queries'!
+
+rectangleRelativeTo:superRectangle preferred:prefRect
+ |x y|
+
+ leftOffset isNil ifTrue:[
+ x := 0
+ ] ifFalse:[
+ x := leftOffset
+ ].
+ topOffset isNil ifTrue:[
+ y := 0
+ ] ifFalse:[
+ y := topOffset
+ ].
+ leftFraction notNil ifTrue:[
+ x := x + (superRectangle width * leftFraction)
+ ].
+ topFraction notNil ifTrue:[
+ y := y + (superRectangle height * topFraction)
+ ].
+ leftAlignmentFraction ~~ 0 ifTrue:[
+ x := x - (prefRect width * leftAlignmentFraction)
+ ].
+ topAlignmentFraction ~~ 0 ifTrue:[
+ y := y - (prefRect height * topAlignmentFraction)
+ ].
+ ^ Rectangle origin:x@y extent:prefRect extent
+
+ "
+ |superRect aO|
+
+ superRect := 0@0 corner:100@100.
+ aO := (AlignmentOrigin new).
+ aO leftFraction:0.5;
+ topFraction:0.5;
+ leftAlignmentFraction:0.5;
+ topAlignmentFraction:0.5.
+ aO rectangleRelativeTo:superRect preferred:(0@0 corner:30@30)
+ "
+! !
+
+!AlignmentOrigin methodsFor:'initialization'!
+
+initialize
+ super initialize.
+ leftAlignmentFraction := topAlignmentFraction := 0.
+! !
--- a/AppModel.st Tue Jun 27 04:20:19 1995 +0200
+++ b/AppModel.st Sun Jul 02 18:18:00 1995 +0200
@@ -39,7 +39,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/Attic/AppModel.st,v 1.10 1995-06-27 02:18:10 claus Exp $
+$Header: /cvs/stx/stx/libview2/Attic/AppModel.st,v 1.11 1995-07-02 16:15:03 claus Exp $
"
!
@@ -119,6 +119,8 @@
!
openOn:anApplicationModel
+ "I dont really understand what this method is useful for ..."
+
anApplicationModel open
!
@@ -225,6 +227,8 @@
!
initialize
+ "nothing done here;
+ but can be redefined in concrete applications"
!
addTopViewsToCurrentProject
--- a/ApplicationModel.st Tue Jun 27 04:20:19 1995 +0200
+++ b/ApplicationModel.st Sun Jul 02 18:18:00 1995 +0200
@@ -39,7 +39,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/ApplicationModel.st,v 1.10 1995-06-27 02:18:10 claus Exp $
+$Header: /cvs/stx/stx/libview2/ApplicationModel.st,v 1.11 1995-07-02 16:15:03 claus Exp $
"
!
@@ -119,6 +119,8 @@
!
openOn:anApplicationModel
+ "I dont really understand what this method is useful for ..."
+
anApplicationModel open
!
@@ -225,6 +227,8 @@
!
initialize
+ "nothing done here;
+ but can be redefined in concrete applications"
!
addTopViewsToCurrentProject
--- a/AspctAdptr.st Tue Jun 27 04:20:19 1995 +0200
+++ b/AspctAdptr.st Sun Jul 02 18:18:00 1995 +0200
@@ -35,7 +35,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/Attic/AspctAdptr.st,v 1.3 1995-05-16 17:12:22 claus Exp $
+$Header: /cvs/stx/stx/libview2/Attic/AspctAdptr.st,v 1.4 1995-07-02 16:15:06 claus Exp $
"
!
@@ -138,6 +138,9 @@
!AspectAdaptor class methodsFor:'instance creation'!
accessWith:getSelector assignWith:putSelector
+ "create and return an adaptor which uses getSelector to fetch a value
+ and setSelector to change it."
+
^ (self new) accessWith:getSelector assignWith:putSelector
! !
@@ -206,11 +209,17 @@
!
accessWith:getSelector assignWith:putSelector
+ "setup the recevier to use getSelector to fetch a value
+ and setSelector to change it."
+
getMsg := getSelector.
putMsg := putSelector
!
accessWith:getSelector assignWith:putSelector aspect:aspectSymbol
+ "setup the recevier to use getSelector to fetch a value
+ and setSelector to change it."
+
getMsg := getSelector.
putMsg := putSelector.
myAspect := aspectSymbol
--- a/AspectAdaptor.st Tue Jun 27 04:20:19 1995 +0200
+++ b/AspectAdaptor.st Sun Jul 02 18:18:00 1995 +0200
@@ -35,7 +35,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/AspectAdaptor.st,v 1.3 1995-05-16 17:12:22 claus Exp $
+$Header: /cvs/stx/stx/libview2/AspectAdaptor.st,v 1.4 1995-07-02 16:15:06 claus Exp $
"
!
@@ -138,6 +138,9 @@
!AspectAdaptor class methodsFor:'instance creation'!
accessWith:getSelector assignWith:putSelector
+ "create and return an adaptor which uses getSelector to fetch a value
+ and setSelector to change it."
+
^ (self new) accessWith:getSelector assignWith:putSelector
! !
@@ -206,11 +209,17 @@
!
accessWith:getSelector assignWith:putSelector
+ "setup the recevier to use getSelector to fetch a value
+ and setSelector to change it."
+
getMsg := getSelector.
putMsg := putSelector
!
accessWith:getSelector assignWith:putSelector aspect:aspectSymbol
+ "setup the recevier to use getSelector to fetch a value
+ and setSelector to change it."
+
getMsg := getSelector.
putMsg := putSelector.
myAspect := aspectSymbol
--- a/EventListener.st Tue Jun 27 04:20:19 1995 +0200
+++ b/EventListener.st Sun Jul 02 18:18:00 1995 +0200
@@ -25,7 +25,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/EventListener.st,v 1.2 1995-05-19 16:40:24 claus Exp $
+$Header: /cvs/stx/stx/libview2/EventListener.st,v 1.3 1995-07-02 16:15:43 claus Exp $
"
!
--- a/GIFReader.st Tue Jun 27 04:20:19 1995 +0200
+++ b/GIFReader.st Sun Jul 02 18:18:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/GIFReader.st,v 1.15 1995-06-06 04:06:59 claus Exp $
+$Header: /cvs/stx/stx/libview2/GIFReader.st,v 1.16 1995-07-02 16:16:09 claus Exp $
'!
!GIFReader class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/GIFReader.st,v 1.15 1995-06-06 04:06:59 claus Exp $
+$Header: /cvs/stx/stx/libview2/GIFReader.st,v 1.16 1995-07-02 16:16:09 claus Exp $
"
!
@@ -308,10 +308,10 @@
"check if only grey values are used,
could make it a greyscale image if so (currently not done)"
- self checkGreyscaleColormap ifTrue:[
- self makeGreyscale
- ].
-
+"/ self checkGreyscaleColormap ifTrue:[
+"/ self makeGreyscale
+"/ ].
+
colorMap := Colormap redVector:redMap greenVector:greenMap blueVector:blueMap.
"
--- a/Layout.st Tue Jun 27 04:20:19 1995 +0200
+++ b/Layout.st Sun Jul 02 18:18:00 1995 +0200
@@ -2,7 +2,7 @@
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
- category:'Graphics-Support-ST80 compatibility'
+ category:'Graphics-Geometry'
!
!Layout class methodsFor:'instance creation'!
--- a/LayoutFrame.st Tue Jun 27 04:20:19 1995 +0200
+++ b/LayoutFrame.st Sun Jul 02 18:18:00 1995 +0200
@@ -5,7 +5,7 @@
rightOffset bottomOffset'
classVariableNames:''
poolDictionaries:''
- category:'Graphics-Support-ST80 compatibility'
+ category:'Graphics-Geometry'
!
!LayoutFrame methodsFor:'accessing'!
@@ -73,6 +73,21 @@
! !
+!LayoutFrame methodsFor:'printing & storing'!
+
+displayString
+ ^ (self class name) , '('
+ , 'l: ' , leftFraction displayString
+ , '+' , leftOffset displayString
+ , ' t: ' , topFraction displayString
+ , '+' , topOffset displayString
+ , ' r: ' , rightFraction displayString
+ , '+' , rightOffset displayString
+ , ' b: ' , bottomFraction displayString
+ , '+' , bottomOffset displayString
+ , ')'
+! !
+
!LayoutFrame methodsFor:'queries'!
rectangleRelativeTo:superRectangle preferred:prefRect
@@ -99,18 +114,30 @@
y2 := bottomOffset
].
leftFraction notNil ifTrue:[
- x1 := x1 + (prefRect width * leftFraction)
+ x1 := x1 + (superRectangle width * leftFraction)
].
topFraction notNil ifTrue:[
- y1 := y1 + (prefRect height * topFraction)
+ y1 := y1 + (superRectangle height * topFraction)
].
rightFraction notNil ifTrue:[
- x2 := x2 + (prefRect width * rightFraction)
+ x2 := x2 + (superRectangle width * rightFraction)
].
bottomFraction notNil ifTrue:[
- y2 := y2 + (prefRect height * bottomFraction)
+ y2 := y2 + (superRectangle height * bottomFraction)
].
^ Rectangle origin:x1@y1 corner:x2@y2
+
+ "
+ |superRect lF|
+
+ superRect := 0@0 corner:100@100.
+ lF := (LayoutFrame new).
+ lF leftFraction:0.25;
+ topFraction:0.25;
+ rightFraction:0.75;
+ bottomFraction:0.75.
+ lF rectangleRelativeTo:superRect preferred:(0@0 corner:30@30)
+ "
!
corner
--- a/LayoutFrm.st Tue Jun 27 04:20:19 1995 +0200
+++ b/LayoutFrm.st Sun Jul 02 18:18:00 1995 +0200
@@ -5,7 +5,7 @@
rightOffset bottomOffset'
classVariableNames:''
poolDictionaries:''
- category:'Graphics-Support-ST80 compatibility'
+ category:'Graphics-Geometry'
!
!LayoutFrame methodsFor:'accessing'!
@@ -73,6 +73,21 @@
! !
+!LayoutFrame methodsFor:'printing & storing'!
+
+displayString
+ ^ (self class name) , '('
+ , 'l: ' , leftFraction displayString
+ , '+' , leftOffset displayString
+ , ' t: ' , topFraction displayString
+ , '+' , topOffset displayString
+ , ' r: ' , rightFraction displayString
+ , '+' , rightOffset displayString
+ , ' b: ' , bottomFraction displayString
+ , '+' , bottomOffset displayString
+ , ')'
+! !
+
!LayoutFrame methodsFor:'queries'!
rectangleRelativeTo:superRectangle preferred:prefRect
@@ -99,18 +114,30 @@
y2 := bottomOffset
].
leftFraction notNil ifTrue:[
- x1 := x1 + (prefRect width * leftFraction)
+ x1 := x1 + (superRectangle width * leftFraction)
].
topFraction notNil ifTrue:[
- y1 := y1 + (prefRect height * topFraction)
+ y1 := y1 + (superRectangle height * topFraction)
].
rightFraction notNil ifTrue:[
- x2 := x2 + (prefRect width * rightFraction)
+ x2 := x2 + (superRectangle width * rightFraction)
].
bottomFraction notNil ifTrue:[
- y2 := y2 + (prefRect height * bottomFraction)
+ y2 := y2 + (superRectangle height * bottomFraction)
].
^ Rectangle origin:x1@y1 corner:x2@y2
+
+ "
+ |superRect lF|
+
+ superRect := 0@0 corner:100@100.
+ lF := (LayoutFrame new).
+ lF leftFraction:0.25;
+ topFraction:0.25;
+ rightFraction:0.75;
+ bottomFraction:0.75.
+ lF rectangleRelativeTo:superRect preferred:(0@0 corner:30@30)
+ "
!
corner
--- a/LayoutOrg.st Tue Jun 27 04:20:19 1995 +0200
+++ b/LayoutOrg.st Sun Jul 02 18:18:00 1995 +0200
@@ -5,17 +5,17 @@
topOffset'
classVariableNames:''
poolDictionaries:''
- category:'Graphics-Support-ST80 compatibility'
+ category:'Graphics-Geometry'
!
!LayoutOrigin class methodsFor:'instance creation'!
fractionalFromPoint:aPoint
- ^ self new leftFraction:aPointx topFraction:aPoint y
+ ^ (self new) leftFraction:aPoint x topFraction:aPoint y
!
offsetFromPoint:aPoint
- ^ self new leftOffset:aPointx topOffset:aPoint y
+ ^ self new leftOffset:aPoint x topOffset:aPoint y
!
fromPoint:aPoint
@@ -38,6 +38,17 @@
^ layout
! !
+!LayoutOrigin methodsFor:'printing & storing'!
+
+displayString
+ ^ (self class name) , '('
+ , 'l: ' , leftFraction displayString
+ , '+' , leftOffset displayString
+ , ' t: ' , topFraction displayString
+ , '+' , topOffset displayString
+ , ')'
+! !
+
!LayoutOrigin methodsFor:'accessing'!
leftFraction:something
@@ -100,9 +111,22 @@
topFraction := something.
topOffset := o
+!
+
+leftFraction:newLeft topFraction:newTop
+ "set leftFraction and topFraction"
+
+ leftFraction := newLeft.
+ topFraction := newTop.
+!
+
+leftOffset:newLeft topOffset:newTop
+ "set leftOffset and topOffset"
+
+ leftOffset := newLeft.
+ topOffset := newTop.
! !
-
!LayoutOrigin methodsFor:'queries'!
rectangleRelativeTo:superRectangle preferred:prefRect
@@ -119,12 +143,22 @@
y := topOffset
].
leftFraction notNil ifTrue:[
- x := x + (prefRect width * leftFraction)
+ x := x + (superRectangle width * leftFraction)
].
topFraction notNil ifTrue:[
- y := y + (prefRect height * topFraction)
+ y := y + (superRectangle height * topFraction)
].
^ Rectangle origin:x@y extent:prefRect extent
+
+ "
+ |superRect lO|
+
+ superRect := 0@0 corner:100@100.
+ lO := (LayoutOrigin new).
+ lO leftFraction:0.5;
+ topFraction:0.5.
+ lO rectangleRelativeTo:superRect preferred:(0@0 corner:30@30)
+ "
!
origin
--- a/LayoutOrigin.st Tue Jun 27 04:20:19 1995 +0200
+++ b/LayoutOrigin.st Sun Jul 02 18:18:00 1995 +0200
@@ -5,17 +5,17 @@
topOffset'
classVariableNames:''
poolDictionaries:''
- category:'Graphics-Support-ST80 compatibility'
+ category:'Graphics-Geometry'
!
!LayoutOrigin class methodsFor:'instance creation'!
fractionalFromPoint:aPoint
- ^ self new leftFraction:aPointx topFraction:aPoint y
+ ^ (self new) leftFraction:aPoint x topFraction:aPoint y
!
offsetFromPoint:aPoint
- ^ self new leftOffset:aPointx topOffset:aPoint y
+ ^ self new leftOffset:aPoint x topOffset:aPoint y
!
fromPoint:aPoint
@@ -38,6 +38,17 @@
^ layout
! !
+!LayoutOrigin methodsFor:'printing & storing'!
+
+displayString
+ ^ (self class name) , '('
+ , 'l: ' , leftFraction displayString
+ , '+' , leftOffset displayString
+ , ' t: ' , topFraction displayString
+ , '+' , topOffset displayString
+ , ')'
+! !
+
!LayoutOrigin methodsFor:'accessing'!
leftFraction:something
@@ -100,9 +111,22 @@
topFraction := something.
topOffset := o
+!
+
+leftFraction:newLeft topFraction:newTop
+ "set leftFraction and topFraction"
+
+ leftFraction := newLeft.
+ topFraction := newTop.
+!
+
+leftOffset:newLeft topOffset:newTop
+ "set leftOffset and topOffset"
+
+ leftOffset := newLeft.
+ topOffset := newTop.
! !
-
!LayoutOrigin methodsFor:'queries'!
rectangleRelativeTo:superRectangle preferred:prefRect
@@ -119,12 +143,22 @@
y := topOffset
].
leftFraction notNil ifTrue:[
- x := x + (prefRect width * leftFraction)
+ x := x + (superRectangle width * leftFraction)
].
topFraction notNil ifTrue:[
- y := y + (prefRect height * topFraction)
+ y := y + (superRectangle height * topFraction)
].
^ Rectangle origin:x@y extent:prefRect extent
+
+ "
+ |superRect lO|
+
+ superRect := 0@0 corner:100@100.
+ lO := (LayoutOrigin new).
+ lO leftFraction:0.5;
+ topFraction:0.5.
+ lO rectangleRelativeTo:superRect preferred:(0@0 corner:30@30)
+ "
!
origin
--- a/Model.st Tue Jun 27 04:20:19 1995 +0200
+++ b/Model.st Sun Jul 02 18:18:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/Model.st,v 1.10 1995-05-10 02:25:32 claus Exp $
+$Header: /cvs/stx/stx/libview2/Model.st,v 1.11 1995-07-02 16:16:44 claus Exp $
'!
!Model class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/Model.st,v 1.10 1995-05-10 02:25:32 claus Exp $
+$Header: /cvs/stx/stx/libview2/Model.st,v 1.11 1995-07-02 16:16:44 claus Exp $
"
!
@@ -62,7 +62,7 @@
"
! !
-!Model methodsFor:'accessing'!
+!Model methodsFor:'dependents access'!
dependents
"return a Collection of dependents - nil if there is none"
@@ -74,6 +74,64 @@
"set the collection of dependents"
dependents := aCollection
+!
+
+release
+ dependents := nil
+!
+
+addDependent:anObject
+ "make the argument, anObject be a dependent of the receiver"
+
+ |deps|
+
+ deps := dependents.
+ deps isNil ifTrue:[
+ dependents := anObject
+ ] ifFalse:[
+ (deps isMemberOf:IdentitySet) ifTrue:[
+ deps add:anObject
+ ] ifFalse:[
+ dependents := IdentitySet with:dependents with:anObject
+ ]
+ ]
+!
+
+dependentsDo:aBlock
+ "evaluate aBlock for all of my dependents"
+
+ |deps|
+
+ deps := dependents.
+ deps notNil ifTrue:[
+ (deps isMemberOf:IdentitySet) ifTrue:[
+ deps do:aBlock
+ ] ifFalse:[
+ aBlock value:deps
+ ]
+ ]
+!
+
+removeDependent:anObject
+ "make the argument, anObject be independent of the receiver"
+
+ |deps sz|
+
+ deps := dependents.
+ deps notNil ifTrue:[
+ (deps isMemberOf:IdentitySet) ifTrue:[
+ deps remove:anObject ifAbsent:[].
+ (sz := deps size) == 1 ifTrue:[
+ dependents := deps first
+ ] ifFalse:[
+ (sz == 0) ifTrue:[
+ dependents := nil
+ ]
+ ]
+ ] ifFalse:[
+ dependents := nil
+ ]
+ ]
! !
!Model methodsFor:'copying'!
--- a/PBMReader.st Tue Jun 27 04:20:19 1995 +0200
+++ b/PBMReader.st Sun Jul 02 18:18:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/PBMReader.st,v 1.10 1995-03-23 16:52:41 claus Exp $
+$Header: /cvs/stx/stx/libview2/PBMReader.st,v 1.11 1995-07-02 16:16:49 claus Exp $
'!
!PBMReader class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/PBMReader.st,v 1.10 1995-03-23 16:52:41 claus Exp $
+$Header: /cvs/stx/stx/libview2/PBMReader.st,v 1.11 1995-07-02 16:16:49 claus Exp $
"
!
@@ -195,8 +195,6 @@
"Saves the receivers image on the file fileName in Portable Bitmap format.
See the class method pbmSyntax for details of the format."
- |bitMask wordCount bitCount bitsOnLine |
-
aStream nextPutAll:'P4'; cr.
aStream nextPutAll:'# Converted from Smalltalk Form on '.
aStream nextPutAll:Date today printString.
--- a/PCXReader.st Tue Jun 27 04:20:19 1995 +0200
+++ b/PCXReader.st Sun Jul 02 18:18:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1994 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/PCXReader.st,v 1.5 1995-02-18 15:57:51 claus Exp $
+$Header: /cvs/stx/stx/libview2/PCXReader.st,v 1.6 1995-07-02 16:16:53 claus Exp $
'!
!PCXReader class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/PCXReader.st,v 1.5 1995-02-18 15:57:51 claus Exp $
+$Header: /cvs/stx/stx/libview2/PCXReader.st,v 1.6 1995-07-02 16:16:53 claus Exp $
"
!
@@ -115,7 +115,7 @@
h "{Class: SmallInteger }"
byte "{Class: SmallInteger }"
nByte "{Class: SmallInteger }"
- bytesPerRow "{Class: SmallInteger }"
+ srcBytesPerRow "{Class: SmallInteger }"
value "{Class: SmallInteger }"
idx2 "{Class: SmallInteger }"
dataBytes buffer
@@ -128,15 +128,15 @@
compression := header at:3.
"/ 'compression=' print. compression printNL.
(#(0 1) includes:compression) ifFalse:[
- self error:'PCXREADER: unknown compression'.
- ^ nil
+ self error:'PCXREADER: unknown compression'.
+ ^ nil
].
inDepth := header at:4.
"/ 'depth=' print. inDepth printNL.
nPlanes := header at:66.
"/ 'planes=' print. nPlanes printNL.
- bytesPerRow := header wordAt:67.
-"/ 'bytesPerRow=' print. bytesPerRow printNL.
+ srcBytesPerRow := header wordAt:67 MSB:false.
+"/ 'srcBytesPerRow=' print. srcBytesPerRow printNL.
paletteType := header at:69.
"
@@ -145,14 +145,14 @@
So its not (yet) implemented
"
((inDepth ~~ 8) or:[nPlanes ~~ 1]) ifTrue:[
- 'PCXReader: can only handle 1-plane 256 color images' errorPrintNL.
- ^ nil
+ 'PCXReader: can only handle 1-plane 256 color images' errorPrintNL.
+ ^ nil
].
- xmin := header wordAt:5.
- ymin := header wordAt:7.
- xmax := header wordAt:9.
- ymax := header wordAt:11.
+ xmin := header wordAt:5 MSB:false.
+ ymin := header wordAt:7 MSB:false.
+ xmax := header wordAt:9 MSB:false.
+ ymax := header wordAt:11 MSB:false.
width := (xmax - xmin + 1).
height := (ymax - ymin + 1).
@@ -160,133 +160,134 @@
"/ 'height=' print. width printNL.
(version == 2) ifTrue:[
- "read the 16-entry colormap"
+ "read the 16-entry colormap"
- rawMap := ByteArray uninitializedNew:(16*3).
- rawMap replaceFrom:1 to:(16*3) with:header startingAt:17.
- rMap := Array new:16.
- gMap := Array new:16.
- bMap := Array new:16.
- srcIndex := 1.
- 1 to:16 do:[:i |
- rMap at:i put:(rawMap at:srcIndex).
- srcIndex := srcIndex + 1.
- gMap at:i put:(rawMap at:srcIndex).
- srcIndex := srcIndex + 1.
- bMap at:i put:(rawMap at:srcIndex).
- srcIndex := srcIndex + 1.
- ].
+ rawMap := ByteArray uninitializedNew:(16*3).
+ rawMap replaceFrom:1 to:(16*3) with:header startingAt:17.
+ rMap := Array new:16.
+ gMap := Array new:16.
+ bMap := Array new:16.
+ srcIndex := 1.
+ 1 to:16 do:[:i |
+ rMap at:i put:(rawMap at:srcIndex).
+ srcIndex := srcIndex + 1.
+ gMap at:i put:(rawMap at:srcIndex).
+ srcIndex := srcIndex + 1.
+ bMap at:i put:(rawMap at:srcIndex).
+ srcIndex := srcIndex + 1.
+ ].
].
compression == 1 ifTrue:[
- data := dataBytes := ByteArray new:(height * bytesPerRow).
+ data := dataBytes := ByteArray uninitializedNew:(height * srcBytesPerRow).
- buffer := ByteArray new:4096.
- bufferIndex := 1.
- bendIndex := 1.
+ buffer := ByteArray uninitializedNew:4096.
+ bufferIndex := 1.
+ bendIndex := 1.
- rowIndex := 1.
- h := height.
- 1 to:h do:[:row |
- dstIndex := rowIndex.
- endIndex := dstIndex + bytesPerRow.
- [dstIndex < endIndex] whileTrue:[
- bufferIndex == bendIndex ifTrue:[
- nBuffer := inStream nextBytes:4096 into:buffer.
- bufferIndex := 1.
- bendIndex := nBuffer + 1.
- ].
- byte := buffer at:bufferIndex.
- bufferIndex := bufferIndex + 1. "/ nBuffer := nBuffer - 1.
- ((byte bitAnd:2r11000000) ~~ 2r11000000) ifTrue:[
- dataBytes at:dstIndex put:byte.
- dstIndex := dstIndex + 1.
- ] ifFalse:[
- nByte := byte bitAnd:2r00111111.
- bufferIndex == bendIndex ifTrue:[
- nBuffer := inStream nextBytes:4096 into:buffer.
- bufferIndex := 1.
- bendIndex := nBuffer + 1.
- ].
- value := buffer at:bufferIndex.
- bufferIndex := bufferIndex + 1. "/ nBuffer := nBuffer - 1.
- value notNil ifTrue:[
- idx2 := endIndex min:(dstIndex + nByte - 1).
- dataBytes from:dstIndex to:idx2 put:value.
- dstIndex := dstIndex + nByte.
- ]
- ].
- ].
- rowIndex := rowIndex + bytesPerRow
- ].
- nBuffer := endIndex - bufferIndex.
+ rowIndex := 1.
+ h := height.
+ 1 to:h do:[:row |
+ dstIndex := rowIndex.
+ endIndex := dstIndex + srcBytesPerRow.
+ [dstIndex < endIndex] whileTrue:[
+ bufferIndex == bendIndex ifTrue:[
+ nBuffer := inStream nextBytes:4096 into:buffer.
+ bufferIndex := 1.
+ bendIndex := nBuffer + 1.
+ ].
+ byte := buffer at:bufferIndex.
+ bufferIndex := bufferIndex + 1.
+ ((byte bitAnd:2r11000000) ~~ 2r11000000) ifTrue:[
+ dataBytes at:dstIndex put:byte.
+ dstIndex := dstIndex + 1.
+ ] ifFalse:[
+ nByte := byte bitAnd:2r00111111.
+ bufferIndex == bendIndex ifTrue:[
+ nBuffer := inStream nextBytes:4096 into:buffer.
+ bufferIndex := 1.
+ bendIndex := nBuffer + 1.
+ ].
+ value := buffer at:bufferIndex.
+ bufferIndex := bufferIndex + 1.
+ value notNil ifTrue:[
+ idx2 := ((dstIndex + nByte) min:endIndex) - 1.
+ dataBytes from:dstIndex to:idx2 put:value.
+ dstIndex := dstIndex + nByte.
+ ]
+ ].
+ ].
+ rowIndex := endIndex.
+ ].
-"/ rowIndex := 1.
-"/ h := height.
-"/ 1 to:h do:[:row |
-"/ dstIndex := rowIndex.
-"/ endIndex := dstIndex + bytesPerRow.
-"/ [dstIndex < endIndex] whileTrue:[
-"/ byte := inStream next.
-"/ ((byte bitAnd:2r11000000) ~~ 2r11000000) ifTrue:[
-"/ dataBytes at:dstIndex put:byte.
-"/ dstIndex := dstIndex + 1.
-"/ ] ifFalse:[
-"/ nByte := byte bitAnd:2r00111111.
-"/ value := inStream next.
-"/ value notNil ifTrue:[
-"/ idx2 := endIndex min:(dstIndex + nByte - 1).
-"/ dataBytes from:dstIndex to:idx2 put:value.
-"/ dstIndex := dstIndex + nByte.
-"/ ]
-"/ ].
-"/ ].
-"/ rowIndex := rowIndex + bytesPerRow
-"/ ]
+ "/ have to compress - above code reads srcBytesPerRow
+ "/ (to keep in sync with RLE); but we want width bytesPerRow
+ "/ Can compress in the data-area; leftover pixels are simply ignored
+ "/ by other image processing code
+ "/
+ srcBytesPerRow ~~ width ifTrue:[
+ dstIndex := width + 1.
+ srcIndex := srcBytesPerRow + 1.
+ 2 to:h do:[:row |
+ dataBytes replaceFrom:dstIndex to:dstIndex+width-1 with:dataBytes startingAt:srcIndex.
+ dstIndex := dstIndex + width.
+ srcIndex := srcIndex + srcBytesPerRow
+ ]
+ ].
+ nBuffer := endIndex - bufferIndex.
] ifFalse:[
- "
- actually untested ...
- "
- data := dataBytes := ByteArray uninitializedNew:(height * bytesPerRow).
- inStream nextBytes:(height * bytesPerRow) into:data.
- nBuffer := 0.
+ "
+ actually untested ...
+ "
+ data := dataBytes := ByteArray uninitializedNew:(height * width).
+ srcBytesPerRow ~~ width ifTrue:[
+ dstIndex := 1.
+ 1 to:h do:[:row |
+ inStream nextBytes:width into:data startingAt:dstIndex.
+ dstIndex := dstIndex + width.
+ inStream skip:(srcBytesPerRow - width).
+ ]
+ ] ifFalse:[
+ inStream nextBytes:(height * width) into:data.
+ ].
+ nBuffer := 0.
].
(version == 5) ifTrue:[
- "read the 256-entry colormap"
+ "read the 256-entry colormap"
- nBuffer ~~ 0 ifTrue:[
- byte := buffer at:bufferIndex.
- bufferIndex := bufferIndex + 1. nBuffer := nBuffer - 1.
- ] ifFalse:[
- byte := inStream next
- ].
+ nBuffer ~~ 0 ifTrue:[
+ byte := buffer at:bufferIndex.
+ bufferIndex := bufferIndex + 1. nBuffer := nBuffer - 1.
+ ] ifFalse:[
+ byte := inStream next
+ ].
- byte == 16rC0 ifFalse:[
- 'PCXREADER: no valid 256-entry palette (got' errorPrint.
- byte errorPrint. '; expected ' errorPrint. 16rC0 errorPrint. ')' errorPrintNL.
- ].
- rawMap := ByteArray uninitializedNew:(256*3).
- nBuffer ~~ 0 ifTrue:[
- rawMap replaceFrom:1 to:(256*3) with:buffer startingAt:bufferIndex.
- nBuffer < (256*3) ifTrue:[
- inStream nextBytes:((256*3)-nBuffer) into:rawMap startingAt:nBuffer+1
- ]
- ] ifFalse:[
- inStream nextBytes:(256*3) into:rawMap.
- ].
- rMap := Array new:256.
- gMap := Array new:256.
- bMap := Array new:256.
- srcIndex := 1.
- 1 to:256 do:[:i |
- rMap at:i put:(rawMap at:srcIndex).
- srcIndex := srcIndex + 1.
- gMap at:i put:(rawMap at:srcIndex).
- srcIndex := srcIndex + 1.
- bMap at:i put:(rawMap at:srcIndex).
- srcIndex := srcIndex + 1.
- ].
+ byte == 16r0C ifFalse:[
+ 'PCXREADER: no valid 256-entry palette (got' errorPrint.
+ byte errorPrint. '; expected ' errorPrint. 16rC0 errorPrint. ')' errorPrintNL.
+ ].
+ rawMap := ByteArray uninitializedNew:(256*3).
+ nBuffer ~~ 0 ifTrue:[
+ rawMap replaceFrom:1 to:(256*3) with:buffer startingAt:bufferIndex.
+ nBuffer < (256*3) ifTrue:[
+ inStream nextBytes:((256*3)-nBuffer) into:rawMap startingAt:nBuffer+1
+ ]
+ ] ifFalse:[
+ inStream nextBytes:(256*3) into:rawMap.
+ ].
+ rMap := Array new:256.
+ gMap := Array new:256.
+ bMap := Array new:256.
+ srcIndex := 1.
+ 1 to:256 do:[:i |
+ rMap at:i put:(rawMap at:srcIndex).
+ srcIndex := srcIndex + 1.
+ gMap at:i put:(rawMap at:srcIndex).
+ srcIndex := srcIndex + 1.
+ bMap at:i put:(rawMap at:srcIndex).
+ srcIndex := srcIndex + 1.
+ ].
].
photometric := #palette.
@@ -310,16 +311,16 @@
fileSize := aStream size.
fileSize < 128 ifTrue:[
- self error:'PCXREADER: short file'.
- ^ nil
+ self error:'PCXREADER: short file'.
+ ^ nil
].
header := ByteArray uninitializedNew:128.
aStream nextBytes:128 into:header.
(self class isValidPCXHeader:header) ifFalse:[
- self error:'PCXREADER: wrong header'.
- ^ nil
+ self error:'PCXREADER: wrong header'.
+ ^ nil
].
img := self fromStreamWithHeader:header.
--- a/PrintConv.st Tue Jun 27 04:20:19 1995 +0200
+++ b/PrintConv.st Sun Jul 02 18:18:00 1995 +0200
@@ -35,7 +35,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/Attic/PrintConv.st,v 1.4 1995-05-16 17:13:44 claus Exp $
+$Header: /cvs/stx/stx/libview2/Attic/PrintConv.st,v 1.5 1995-07-02 16:16:59 claus Exp $
"
!
@@ -56,7 +56,7 @@
examples
"
- stupid examples"
+ stupid examples:
|conv|
conv := (PrintConverter new)
--- a/PrintConverter.st Tue Jun 27 04:20:19 1995 +0200
+++ b/PrintConverter.st Sun Jul 02 18:18:00 1995 +0200
@@ -35,7 +35,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/PrintConverter.st,v 1.4 1995-05-16 17:13:44 claus Exp $
+$Header: /cvs/stx/stx/libview2/PrintConverter.st,v 1.5 1995-07-02 16:16:59 claus Exp $
"
!
@@ -56,7 +56,7 @@
examples
"
- stupid examples"
+ stupid examples:
|conv|
conv := (PrintConverter new)
--- a/SunRasterReader.st Tue Jun 27 04:20:19 1995 +0200
+++ b/SunRasterReader.st Sun Jul 02 18:18:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/SunRasterReader.st,v 1.12 1995-02-18 17:55:37 claus Exp $
+$Header: /cvs/stx/stx/libview2/SunRasterReader.st,v 1.13 1995-07-02 16:17:30 claus Exp $
'!
!SunRasterReader class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/SunRasterReader.st,v 1.12 1995-02-18 17:55:37 claus Exp $
+$Header: /cvs/stx/stx/libview2/SunRasterReader.st,v 1.13 1995-07-02 16:17:30 claus Exp $
"
!
@@ -79,6 +79,8 @@
^ true
].
+ inStream isPositionable ifFalse:[^ false].
+
"try sun bitmap image format"
inStream text.
inStream reset.
--- a/SunReader.st Tue Jun 27 04:20:19 1995 +0200
+++ b/SunReader.st Sun Jul 02 18:18:00 1995 +0200
@@ -23,7 +23,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/Attic/SunReader.st,v 1.12 1995-02-18 17:55:37 claus Exp $
+$Header: /cvs/stx/stx/libview2/Attic/SunReader.st,v 1.13 1995-07-02 16:17:30 claus Exp $
'!
!SunRasterReader class methodsFor:'documentation'!
@@ -44,7 +44,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/Attic/SunReader.st,v 1.12 1995-02-18 17:55:37 claus Exp $
+$Header: /cvs/stx/stx/libview2/Attic/SunReader.st,v 1.13 1995-07-02 16:17:30 claus Exp $
"
!
@@ -79,6 +79,8 @@
^ true
].
+ inStream isPositionable ifFalse:[^ false].
+
"try sun bitmap image format"
inStream text.
inStream reset.
--- a/ValHolder.st Tue Jun 27 04:20:19 1995 +0200
+++ b/ValHolder.st Sun Jul 02 18:18:00 1995 +0200
@@ -35,7 +35,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/Attic/ValHolder.st,v 1.6 1995-05-16 17:14:24 claus Exp $
+$Header: /cvs/stx/stx/libview2/Attic/ValHolder.st,v 1.7 1995-07-02 16:17:39 claus Exp $
"
!
@@ -62,10 +62,10 @@
lastName := ValueHolder newString.
dialog := Dialog new.
- (dialog addTextLabel:'Name:') layout:#left.
+ (dialog addTextLabel:'Name:') adjust:#left.
dialog addInputFieldOn:firstName.
dialog addVerticalSpace.
- (dialog addTextLabel:'Address:') layout:#left.
+ (dialog addTextLabel:'Address:') adjust:#left.
dialog addInputFieldOn:lastName.
dialog addAbortButton; addOkButton.
--- a/ValueHolder.st Tue Jun 27 04:20:19 1995 +0200
+++ b/ValueHolder.st Sun Jul 02 18:18:00 1995 +0200
@@ -35,7 +35,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/ValueHolder.st,v 1.6 1995-05-16 17:14:24 claus Exp $
+$Header: /cvs/stx/stx/libview2/ValueHolder.st,v 1.7 1995-07-02 16:17:39 claus Exp $
"
!
@@ -62,10 +62,10 @@
lastName := ValueHolder newString.
dialog := Dialog new.
- (dialog addTextLabel:'Name:') layout:#left.
+ (dialog addTextLabel:'Name:') adjust:#left.
dialog addInputFieldOn:firstName.
dialog addVerticalSpace.
- (dialog addTextLabel:'Address:') layout:#left.
+ (dialog addTextLabel:'Address:') adjust:#left.
dialog addInputFieldOn:lastName.
dialog addAbortButton; addOkButton.
--- a/WinIconRdr.st Tue Jun 27 04:20:19 1995 +0200
+++ b/WinIconRdr.st Sun Jul 02 18:18:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/Attic/WinIconRdr.st,v 1.12 1995-03-25 22:15:59 claus Exp $
+$Header: /cvs/stx/stx/libview2/Attic/WinIconRdr.st,v 1.13 1995-07-02 16:17:53 claus Exp $
'!
!WindowsIconReader class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/Attic/WinIconRdr.st,v 1.12 1995-03-25 22:15:59 claus Exp $
+$Header: /cvs/stx/stx/libview2/Attic/WinIconRdr.st,v 1.13 1995-07-02 16:17:53 claus Exp $
"
!
@@ -67,7 +67,7 @@
stream := self streamReadingFile:aFilename.
stream isNil ifTrue:[^ nil].
- reader := (self new) fromOS2Stream:aStream.
+ reader := (self new) fromOS2Stream:stream.
stream close.
reader notNil ifTrue:[^ reader image].
^ nil
@@ -78,7 +78,7 @@
stream := self class streamReadingFile:aFilename.
stream isNil ifTrue:[^ nil].
- reader := (self new) fromWindowsBMPStream:aStream.
+ reader := (self new) fromWindowsBMPStream:stream.
stream close.
reader notNil ifTrue:[^ reader image].
^ nil
@@ -89,7 +89,7 @@
stream := self class streamReadingFile:aFilename.
stream isNil ifTrue:[^ nil].
- reader := (self new) fromWindowsICOStream:aStream.
+ reader := (self new) fromWindowsICOStream:stream.
stream close.
reader notNil ifTrue:[^ reader image].
^ nil
@@ -206,16 +206,16 @@
aStream nextBytes:(40-4) into:header startingAt:19.
- width := header wordAt:(16r12 + 1). "(header at:19) + ((header at:20) * 256). "
- height := header wordAt:(16r16 + 1). "(header at:23) + ((header at:24) * 256). "
- inPlanes := header wordAt:(16r1A + 1).
- inDepth := header wordAt:(16r1C + 1).
- compression := header wordAt:(16r1E + 1).
- imgSize := header doubleWordAt:(16r22 + 1).
- resH := header doubleWordAt:(16r26 + 1).
- resV := header doubleWordAt:(16r2A + 1).
- numColor := header doubleWordAt:(16r2E + 1).
- numImportantColor := header doubleWordAt:(16r32 + 1).
+ width := header wordAt:(16r12 + 1) MSB:false. "(header at:19) + ((header at:20) * 256). "
+ height := header wordAt:(16r16 + 1) MSB:false. "(header at:23) + ((header at:24) * 256). "
+ inPlanes := header wordAt:(16r1A + 1) MSB:false.
+ inDepth := header wordAt:(16r1C + 1) MSB:false.
+ compression := header wordAt:(16r1E + 1) MSB:false.
+ imgSize := header doubleWordAt:(16r22 + 1) MSB:false.
+ resH := header doubleWordAt:(16r26 + 1) MSB:false.
+ resV := header doubleWordAt:(16r2A + 1) MSB:false.
+ numColor := header doubleWordAt:(16r2E + 1) MSB:false.
+ numImportantColor := header doubleWordAt:(16r32 + 1) MSB:false.
numColor == 0 ifTrue:[
"
@@ -227,7 +227,7 @@
rawMap := ByteArray uninitializedNew:(numColor * 4).
aStream nextBytes:(numColor * 4) into:rawMap.
fourBytesPerColorInfo := true.
- dataStart := header wordAt:(16r0A + 1)
+ dataStart := header wordAt:(16r0A + 1) MSB:false
] ifFalse:[
((header at:(16r0E + 1)) == 12) ifTrue:[ "core-info header size"
"
@@ -236,16 +236,16 @@
'BMP: OS/2 vsn 1.2 format' errorPrintNL.
aStream nextBytes:(12-4) into:header startingAt:19.
- width := header wordAt:(16r12 + 1). "(header at:19) + ((header at:20) * 256). "
- height := header wordAt:(16r14 + 1). "(header at:21) + ((header at:22) * 256). "
- inPlanes := header wordAt:(16r16 + 1).
- inDepth := header wordAt:(16r18 + 1).
+ width := header wordAt:(16r12 + 1) MSB:false. "(header at:19) + ((header at:20) * 256). "
+ height := header wordAt:(16r14 + 1) MSB:false. "(header at:21) + ((header at:22) * 256). "
+ inPlanes := header wordAt:(16r16 + 1) MSB:false.
+ inDepth := header wordAt:(16r18 + 1) MSB:false.
numColor := 1 bitShift:inDepth.
rawMap := ByteArray uninitializedNew:(numColor * 3).
aStream nextBytes:(numColor * 3) into:rawMap.
fourBytesPerColorInfo := false.
compression := 0.
- dataStart := header wordAt:(16r0A + 1)
+ dataStart := header wordAt:(16r0A + 1) MSB:false
] ifFalse:[
'BMP: unknown format' errorPrintNL.
^ nil
--- a/WindowsIconReader.st Tue Jun 27 04:20:19 1995 +0200
+++ b/WindowsIconReader.st Sun Jul 02 18:18:00 1995 +0200
@@ -21,7 +21,7 @@
COPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/WindowsIconReader.st,v 1.12 1995-03-25 22:15:59 claus Exp $
+$Header: /cvs/stx/stx/libview2/WindowsIconReader.st,v 1.13 1995-07-02 16:17:53 claus Exp $
'!
!WindowsIconReader class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/WindowsIconReader.st,v 1.12 1995-03-25 22:15:59 claus Exp $
+$Header: /cvs/stx/stx/libview2/WindowsIconReader.st,v 1.13 1995-07-02 16:17:53 claus Exp $
"
!
@@ -67,7 +67,7 @@
stream := self streamReadingFile:aFilename.
stream isNil ifTrue:[^ nil].
- reader := (self new) fromOS2Stream:aStream.
+ reader := (self new) fromOS2Stream:stream.
stream close.
reader notNil ifTrue:[^ reader image].
^ nil
@@ -78,7 +78,7 @@
stream := self class streamReadingFile:aFilename.
stream isNil ifTrue:[^ nil].
- reader := (self new) fromWindowsBMPStream:aStream.
+ reader := (self new) fromWindowsBMPStream:stream.
stream close.
reader notNil ifTrue:[^ reader image].
^ nil
@@ -89,7 +89,7 @@
stream := self class streamReadingFile:aFilename.
stream isNil ifTrue:[^ nil].
- reader := (self new) fromWindowsICOStream:aStream.
+ reader := (self new) fromWindowsICOStream:stream.
stream close.
reader notNil ifTrue:[^ reader image].
^ nil
@@ -206,16 +206,16 @@
aStream nextBytes:(40-4) into:header startingAt:19.
- width := header wordAt:(16r12 + 1). "(header at:19) + ((header at:20) * 256). "
- height := header wordAt:(16r16 + 1). "(header at:23) + ((header at:24) * 256). "
- inPlanes := header wordAt:(16r1A + 1).
- inDepth := header wordAt:(16r1C + 1).
- compression := header wordAt:(16r1E + 1).
- imgSize := header doubleWordAt:(16r22 + 1).
- resH := header doubleWordAt:(16r26 + 1).
- resV := header doubleWordAt:(16r2A + 1).
- numColor := header doubleWordAt:(16r2E + 1).
- numImportantColor := header doubleWordAt:(16r32 + 1).
+ width := header wordAt:(16r12 + 1) MSB:false. "(header at:19) + ((header at:20) * 256). "
+ height := header wordAt:(16r16 + 1) MSB:false. "(header at:23) + ((header at:24) * 256). "
+ inPlanes := header wordAt:(16r1A + 1) MSB:false.
+ inDepth := header wordAt:(16r1C + 1) MSB:false.
+ compression := header wordAt:(16r1E + 1) MSB:false.
+ imgSize := header doubleWordAt:(16r22 + 1) MSB:false.
+ resH := header doubleWordAt:(16r26 + 1) MSB:false.
+ resV := header doubleWordAt:(16r2A + 1) MSB:false.
+ numColor := header doubleWordAt:(16r2E + 1) MSB:false.
+ numImportantColor := header doubleWordAt:(16r32 + 1) MSB:false.
numColor == 0 ifTrue:[
"
@@ -227,7 +227,7 @@
rawMap := ByteArray uninitializedNew:(numColor * 4).
aStream nextBytes:(numColor * 4) into:rawMap.
fourBytesPerColorInfo := true.
- dataStart := header wordAt:(16r0A + 1)
+ dataStart := header wordAt:(16r0A + 1) MSB:false
] ifFalse:[
((header at:(16r0E + 1)) == 12) ifTrue:[ "core-info header size"
"
@@ -236,16 +236,16 @@
'BMP: OS/2 vsn 1.2 format' errorPrintNL.
aStream nextBytes:(12-4) into:header startingAt:19.
- width := header wordAt:(16r12 + 1). "(header at:19) + ((header at:20) * 256). "
- height := header wordAt:(16r14 + 1). "(header at:21) + ((header at:22) * 256). "
- inPlanes := header wordAt:(16r16 + 1).
- inDepth := header wordAt:(16r18 + 1).
+ width := header wordAt:(16r12 + 1) MSB:false. "(header at:19) + ((header at:20) * 256). "
+ height := header wordAt:(16r14 + 1) MSB:false. "(header at:21) + ((header at:22) * 256). "
+ inPlanes := header wordAt:(16r16 + 1) MSB:false.
+ inDepth := header wordAt:(16r18 + 1) MSB:false.
numColor := 1 bitShift:inDepth.
rawMap := ByteArray uninitializedNew:(numColor * 3).
aStream nextBytes:(numColor * 3) into:rawMap.
fourBytesPerColorInfo := false.
compression := 0.
- dataStart := header wordAt:(16r0A + 1)
+ dataStart := header wordAt:(16r0A + 1) MSB:false
] ifFalse:[
'BMP: unknown format' errorPrintNL.
^ nil
--- a/XWDReader.st Tue Jun 27 04:20:19 1995 +0200
+++ b/XWDReader.st Sun Jul 02 18:18:00 1995 +0200
@@ -26,7 +26,7 @@
COPYRIGHT (c) 1995 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libview2/XWDReader.st,v 1.6 1995-03-23 16:54:02 claus Exp $
+$Header: /cvs/stx/stx/libview2/XWDReader.st,v 1.7 1995-07-02 16:18:00 claus Exp $
'!
!XWDReader class methodsFor:'documentation'!
@@ -52,7 +52,7 @@
version
"
-$Header: /cvs/stx/stx/libview2/XWDReader.st,v 1.6 1995-03-23 16:54:02 claus Exp $
+$Header: /cvs/stx/stx/libview2/XWDReader.st,v 1.7 1995-07-02 16:18:00 claus Exp $
"
!
@@ -79,8 +79,8 @@
fromStream: aStream
"read an image in XWD (X Window Dump) format."
- |header nColors palette res pad
- srcRowByteSize bytesPerRow bitsPerPixel mask colormapSize depth
+ |header nColors pad
+ srcRowByteSize bytesPerRow bitsPerPixel colormapSize depth
dstIndex|
aStream binary.
@@ -179,7 +179,7 @@
thanks to Brad for giving us the base for this mehtod.
"
- |aStream rgbColor paletteColors ncolors cindex dumpName headerSize|
+ |aStream rgbColor paletteColors ncolors dumpName headerSize|
(self class canRepresent:image) ifFalse:[
self error:'XWD format only supports 8bit palette images'.
@@ -254,6 +254,8 @@
"Write out the pixels as index color values"
"/ Cursor write showWhile: [
+"/ |cindex|
+"/
"/ 1 to: (image height) do: [ :row |
"/ 1 to: (image width) do: [ :col |
"/ cindex := image atPoint: (col-1)@(row-1).