.
authorclaus
Tue, 29 Aug 1995 18:41:59 +0200
changeset 175 327b4f340cdb
parent 174 5cc74d7be916
child 176 2771514750b6
.
DevFormH.st
DevHandle.st
DevViewH.st
DeviceHandle.st
SimpleView.st
--- a/DevFormH.st	Sun Aug 27 16:42:30 1995 +0200
+++ b/DevFormH.st	Tue Aug 29 18:41:59 1995 +0200
@@ -1,6 +1,6 @@
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -24,7 +24,7 @@
 copyright
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -35,9 +35,19 @@
 "
 !
 
+documentation
+"
+    This is used as a finalization handle for forms - in previous systems,
+    a shallowCopy of a form was responsible to destroy the underlying
+    devices bitmap. To make the memory requirements smaller and to speed up
+    bitmap creation a bit, this lightweight class is used now, which only
+    keeps the device handle for finalization.
+"
+!
+
 version
 "
-$Header: /cvs/stx/stx/libview/Attic/DevFormH.st,v 1.2 1995-08-10 18:43:28 claus Exp $
+$Header: /cvs/stx/stx/libview/Attic/DevFormH.st,v 1.3 1995-08-29 16:41:19 claus Exp $
 "
 ! !
 
@@ -47,12 +57,12 @@
     "the Form for which I am a handle has been collected - tell it to the x-server"
 
     drawableId notNil ifTrue:[
-        gcId notNil ifTrue:[
-            device destroyGC:gcId.
-            gcId := nil
-        ].
-        device destroyPixmap:drawableId.
-        drawableId := nil
+	gcId notNil ifTrue:[
+	    device destroyGC:gcId.
+	    gcId := nil
+	].
+	device destroyPixmap:drawableId.
+	drawableId := nil
     ]
 ! !
 
--- a/DevHandle.st	Sun Aug 27 16:42:30 1995 +0200
+++ b/DevHandle.st	Tue Aug 29 18:41:59 1995 +0200
@@ -1,6 +1,6 @@
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -24,7 +24,7 @@
 copyright
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -35,9 +35,21 @@
 "
 !
 
+documentation
+"
+    This is an abstract class for device handles which are responsible
+    for finalization i.e. to destroy underlying system resources, when the GC
+    frees an object which has created some system object.
+    Currently, these are forms and views (streams, cursors, colors and
+    fonts could also make use of this class - however, for historical reasons,
+    they continue to use their own private finalization machanisms. This may
+    change in future versions).
+"
+!
+
 version
 "
-$Header: /cvs/stx/stx/libview/Attic/DevHandle.st,v 1.2 1995-08-10 18:43:31 claus Exp $
+$Header: /cvs/stx/stx/libview/Attic/DevHandle.st,v 1.3 1995-08-29 16:41:22 claus Exp $
 "
 ! !
 
--- a/DevViewH.st	Sun Aug 27 16:42:30 1995 +0200
+++ b/DevViewH.st	Tue Aug 29 18:41:59 1995 +0200
@@ -1,6 +1,6 @@
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -24,7 +24,7 @@
 copyright
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -35,9 +35,19 @@
 "
 !
 
+documentation
+"
+    This is used as a finalization handle for views - in previous systems,
+    a shallowCopy of a view was responsible to destroy the underlying
+    devices view. To make the memory requirements smaller and to speed up
+    view creation a bit, this lightweight class is used now, which only
+    keeps the device handle for finalization.
+"
+!
+
 version
 "
-$Header: /cvs/stx/stx/libview/Attic/DevViewH.st,v 1.2 1995-08-10 18:43:34 claus Exp $
+$Header: /cvs/stx/stx/libview/Attic/DevViewH.st,v 1.3 1995-08-29 16:41:26 claus Exp $
 "
 ! !
 
@@ -48,12 +58,12 @@
      - release system resources"
 
     drawableId notNil ifTrue:[
-        gcId notNil ifTrue:[
-            device destroyGC:gcId.
-            gcId := nil.
-        ].
-        device destroyView:self withId:drawableId.
-        drawableId := nil.
+	gcId notNil ifTrue:[
+	    device destroyGC:gcId.
+	    gcId := nil.
+	].
+	device destroyView:self withId:drawableId.
+	drawableId := nil.
     ].
 
 
--- a/DeviceHandle.st	Sun Aug 27 16:42:30 1995 +0200
+++ b/DeviceHandle.st	Tue Aug 29 18:41:59 1995 +0200
@@ -1,6 +1,6 @@
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -24,7 +24,7 @@
 copyright
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
-              All Rights Reserved
+	      All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -35,9 +35,21 @@
 "
 !
 
+documentation
+"
+    This is an abstract class for device handles which are responsible
+    for finalization i.e. to destroy underlying system resources, when the GC
+    frees an object which has created some system object.
+    Currently, these are forms and views (streams, cursors, colors and
+    fonts could also make use of this class - however, for historical reasons,
+    they continue to use their own private finalization machanisms. This may
+    change in future versions).
+"
+!
+
 version
 "
-$Header: /cvs/stx/stx/libview/DeviceHandle.st,v 1.2 1995-08-10 18:43:31 claus Exp $
+$Header: /cvs/stx/stx/libview/DeviceHandle.st,v 1.3 1995-08-29 16:41:22 claus Exp $
 "
 ! !
 
--- a/SimpleView.st	Sun Aug 27 16:42:30 1995 +0200
+++ b/SimpleView.st	Tue Aug 29 18:41:59 1995 +0200
@@ -44,7 +44,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.15 1995-08-27 00:32:10 claus Exp $
+$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.16 1995-08-29 16:41:59 claus Exp $
 '!
 
 !SimpleView class methodsFor:'documentation'!
@@ -65,7 +65,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.15 1995-08-27 00:32:10 claus Exp $
+$Header: /cvs/stx/stx/libview/SimpleView.st,v 1.16 1995-08-29 16:41:59 claus Exp $
 "
 !
 
@@ -2226,22 +2226,22 @@
     bw2 := borderWidth * 2.
 
     rel := aPoint x.
-    (rel isMemberOf:Float) ifTrue:[
+    rel isInteger ifFalse:[
 	newX := (rel * (inRect width + bw2)) asInteger + inRect left.
 	(borderWidth ~~ 0) ifTrue:[
 	    newX := newX - borderWidth
 	].
-    ] ifFalse:[
+    ] ifTrue:[
 	newX := rel
     ].
 
     rel := aPoint y.
-    (rel isMemberOf:Float) ifTrue:[
+    rel isInteger ifFalse:[
 	newY := (rel * (inRect height + bw2)) asInteger + inRect top.
 	(borderWidth ~~ 0) ifTrue:[
 	    newY := newY - borderWidth
 	].
-    ] ifFalse:[
+    ] ifTrue:[
 	newY := rel
     ].
 
@@ -2678,13 +2678,13 @@
     origin isBlock ifFalse:[
 	corner isBlock ifFalse:[
 	    newLeft := origin x.
-	    (newLeft isMemberOf:Float) ifFalse:[
+	    newLeft isInteger ifTrue:[
 		newTop := origin y.
-		(newTop isMemberOf:Float) ifFalse:[
+		newTop isInteger ifTrue:[
 		    newRight := corner x.
-		    (newRight isMemberOf:Float) ifFalse:[
+		    newRight isInteger ifTrue:[
 			newBot := corner y.
-			(newBot isMemberOf:Float) ifFalse:[
+			newBot isInteger ifTrue:[
 			    self pixelOrigin:origin corner:corner 
 			]
 		    ]
@@ -3345,7 +3345,10 @@
     ].
 
     hiddenOnRealize ifFalse:[
-	(originChanged or:[extentChanged]) ifTrue:[self fixSize].
+	(originChanged or:[extentChanged]) ifTrue:[
+	    self fixSize.
+	    self sizeChanged:nil.   "/ new 29-aug-1995
+	].
 
 	(realized not or:[groupChange]) ifTrue:[
 	    subViews notNil ifTrue:[