LayoutFrame.st
changeset 1795 19dee5013803
parent 1601 012540f1d64c
child 2123 5247deafa7ef
--- a/LayoutFrame.st	Tue Aug 19 19:56:50 2003 +0200
+++ b/LayoutFrame.st	Thu Aug 28 11:47:14 2003 +0200
@@ -162,6 +162,46 @@
     ^ self leftOffset:lO rightOffset:rO topOffset:tO bottomOffset:bO
 
     "Modified: 18.4.1997 / 20:15:23 / cg"
+!
+
+origin:origin corner:corner
+    "create a new layoutFrame from an oldStyle origin-corner rectangle.
+     Added to make migration from Rectangles to LayoutFrames easier."
+
+    |leftFraction leftOffset rightFraction rightOffset
+     topFraction topOffset bottomFraction bottomOffset
+     orgX orgY cornerX cornerY|
+
+    orgX := origin x.
+    orgY := origin y.
+    cornerX := corner x.
+    cornerY := corner y.
+    leftFraction := leftOffset := 0.
+    orgX isInteger ifTrue:[
+        leftOffset := orgX
+    ] ifFalse:[
+        leftFraction := orgX.
+    ].
+    orgY isInteger ifTrue:[
+        topOffset := orgY
+    ] ifFalse:[
+        topFraction := orgY.
+    ].
+    cornerX isInteger ifTrue:[
+        rightOffset := cornerX
+    ] ifFalse:[
+        rightFraction := cornerX.
+    ].
+    cornerY isInteger ifTrue:[
+        bottomOffset := cornerY
+    ] ifFalse:[
+        bottomFraction := cornerY.
+    ].
+    ^ self
+        leftFraction:leftFraction offset:leftOffset
+        rightFraction:rightFraction offset:rightOffset
+        topFraction:topFraction offset:rightOffset 
+        bottomFraction:bottomFraction offset:bottomOffset 
 ! !
 
 !LayoutFrame methodsFor:'accessing'!
@@ -454,5 +494,5 @@
 !LayoutFrame class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/LayoutFrame.st,v 1.29 2002-08-31 11:20:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/LayoutFrame.st,v 1.30 2003-08-28 09:47:14 cg Exp $'
 ! !