summaryrefslogtreecommitdiff
path: root/metapost
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2020-12-10 22:48:33 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2020-12-10 22:48:33 +0100
commit939f0304347947477f1552848b7fc8d5b2852901 (patch)
tree1632541a2af76155be770a925a91659507fb88f5 /metapost
parent2b0b7f627e1080b14b061b70b3d89fa27c2bea02 (diff)
downloadcontext-939f0304347947477f1552848b7fc8d5b2852901.tar.gz
2020-12-10 22:26:00
Diffstat (limited to 'metapost')
-rw-r--r--metapost/context/base/mpii/mp-tool.mpii10
-rw-r--r--metapost/context/base/mpiv/mp-tool.mpiv10
2 files changed, 16 insertions, 4 deletions
diff --git a/metapost/context/base/mpii/mp-tool.mpii b/metapost/context/base/mpii/mp-tool.mpii
index de8e1e8e2..27c90de38 100644
--- a/metapost/context/base/mpii/mp-tool.mpii
+++ b/metapost/context/base/mpii/mp-tool.mpii
@@ -1841,7 +1841,9 @@ enddef ;
primarydef p enlonged len =
begingroup
- if pair p :
+ if len == 0 :
+ p
+ elseif pair p :
save q ; path q ; q := origin -- p ;
save al ; al := arclength(q) ;
if al > 0 :
@@ -1864,8 +1866,12 @@ enddef ;
% drawarrow p withcolor red ;
% drawarrow p shortened 1cm withcolor green ;
+% primarydef p shortened d =
+% reverse ( ( reverse (p enlonged -d) ) enlonged -d )
+% enddef ;
+
primarydef p shortened d =
- reverse ( ( reverse (p enlonged -d) ) enlonged -d )
+ reverse ( ( reverse (p enlonged -xpart paired(d)) ) enlonged -ypart paired(d) )
enddef ;
% yes or no, untested -)
diff --git a/metapost/context/base/mpiv/mp-tool.mpiv b/metapost/context/base/mpiv/mp-tool.mpiv
index 5ace55d75..903438b72 100644
--- a/metapost/context/base/mpiv/mp-tool.mpiv
+++ b/metapost/context/base/mpiv/mp-tool.mpiv
@@ -2205,7 +2205,9 @@ enddef ;
primarydef p enlonged len =
begingroup
- if pair p :
+ if len == 0 :
+ p
+ elseif pair p :
save q ; path q ; q := origin -- p ;
save al ; al := arclength(q) ;
if al > 0 :
@@ -2228,8 +2230,12 @@ enddef ;
% drawarrow p withcolor red ;
% drawarrow p shortened 1cm withcolor green ;
+% primarydef p shortened d =
+% reverse ( ( reverse (p enlonged -d) ) enlonged -d )
+% enddef ;
+
primarydef p shortened d =
- reverse ( ( reverse (p enlonged -d) ) enlonged -d )
+ reverse ( ( reverse (p enlonged -xpart paired(d)) ) enlonged -ypart paired(d) )
enddef ;
% yes or no, untested -)