Arrow.st
changeset 321 49c7fd30093c
parent 320 14e3290c1c0a
child 322 38c88d4b3976
--- a/Arrow.st	Sun May 12 23:09:29 1996 +0200
+++ b/Arrow.st	Sun May 12 23:41:46 1996 +0200
@@ -110,6 +110,33 @@
 
     v open.
                                                                         [exEnd]
+  varying the position:
+                                                                        [exBegin]
+    |v a|
+
+    v := View extent:100@100.
+
+    a := Arrow from:10@20 to:90@20. 
+    a arrowHeadPosition:0.
+    v addComponent:(StrokingWrapper on:a).
+
+    a := Arrow from:10@30 to:90@30. 
+    a arrowHeadPosition:(1/3).
+    v addComponent:(StrokingWrapper on:a).
+
+    a := Arrow from:10@40 to:90@40. 
+    a arrowHeadPosition:0.5.
+    v addComponent:(StrokingWrapper on:a).
+
+    a := Arrow from:10@50 to:90@50. 
+    a arrowHeadPosition:(2/3).
+    v addComponent:(StrokingWrapper on:a).
+
+    a := Arrow from:10@60 to:90@60. 
+    v addComponent:(StrokingWrapper on:a).
+
+    v open.
+                                                                        [exEnd]
 "
 ! !
 
@@ -124,6 +151,16 @@
     "
 ! !
 
+!Arrow class methodsFor:'accessing defaults'!
+
+defaultAngle
+    ^ DefaultAngle
+!
+
+defaultLength
+    ^ DefaultLength
+! !
+
 !Arrow methodsFor:'accessing'!
 
 arrowHeadAngle
@@ -203,11 +240,13 @@
     aGC lineStyle:#solid.
 
     arrowHeadPosition isNil ifTrue:[
-        arrowHeadPoint := endPoint.
+        pos := 1
     ] ifFalse:[
-        arrowHeadPoint := startPoint + ((endPoint - startPoint) * arrowHeadPosition).
+        pos := arrowHeadPosition max:0.0001.
     ].
 
+    arrowHeadPoint := startPoint + ((endPoint - startPoint) * pos).
+
     len := arrowHeadLength.
     len isNil ifTrue:[
         len := DefaultLength
@@ -258,12 +297,12 @@
     "
 
     "Created: 12.5.1996 / 22:54:11 / cg"
-    "Modified: 12.5.1996 / 23:04:35 / cg"
+    "Modified: 12.5.1996 / 23:39:02 / cg"
 ! !
 
 !Arrow class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic2/Arrow.st,v 1.2 1996-05-12 21:09:17 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/Arrow.st,v 1.3 1996-05-12 21:41:46 cg Exp $'
 ! !
 Arrow initialize!