.
authorclaus
Sun, 02 Jul 1995 18:18:00 +0200
changeset 83 97fd04d167c8
parent 82 6cbb1c271549
child 84 31752ae049fa
.
AlignOrg.st
AlignmentOrigin.st
AppModel.st
ApplicationModel.st
AspctAdptr.st
AspectAdaptor.st
EventListener.st
GIFReader.st
Layout.st
LayoutFrame.st
LayoutFrm.st
LayoutOrg.st
LayoutOrigin.st
Model.st
PBMReader.st
PCXReader.st
PrintConv.st
PrintConverter.st
SunRasterReader.st
SunReader.st
ValHolder.st
ValueHolder.st
WinIconRdr.st
WindowsIconReader.st
XWDReader.st
--- /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).