diff options
Diffstat (limited to 'metapost/context/base/mpxl/mp-tool.mpxl')
-rw-r--r-- | metapost/context/base/mpxl/mp-tool.mpxl | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/metapost/context/base/mpxl/mp-tool.mpxl b/metapost/context/base/mpxl/mp-tool.mpxl index 59b29c148..1d515ffc8 100644 --- a/metapost/context/base/mpxl/mp-tool.mpxl +++ b/metapost/context/base/mpxl/mp-tool.mpxl @@ -1446,7 +1446,8 @@ vardef arrowhead expr p = enddef ; vardef drawarrowpath expr p = - save autoarrows ; boolean autoarrows ; autoarrows := true ; +% save autoarrows ; boolean autoarrows ; autoarrows := true ; + interim autoarrows := true ; drawarrow p mfun_opt_pth enddef ; @@ -1455,8 +1456,8 @@ def midarrowhead expr p = enddef ; vardef arrowheadonpath (expr p, s) = - save autoarrows ; boolean autoarrows ; - autoarrows := true ; +% save autoarrows ; boolean autoarrows ; + interim autoarrows := true ; set_ahlength(scaled ahfactor) ; % added arrowhead p if s < 1 : cutafter (point (s*arclength(p) + (ahlength/2)) on p) fi enddef ; @@ -1709,9 +1710,11 @@ extra_beginfig := extra_beginfig & " linecap := rounded ; " ; % restores %D Normally, arrowheads don't scale well. So we provide a hack. -boolean autoarrows ; autoarrows := false ; % todo: newinternal boolean autoarrows ; +% boolean autoarrows ; autoarrows := false ; % todo: newinternal boolean autoarrows ; numeric ahfactor ; ahfactor := 2.5 ; % todo: newinternal ahfactor ; +newinternal boolean autoarrows ; + permanent ahfactor, ahlength, autoarrows ; def set_ahlength (text t) = % called to often |