summaryrefslogtreecommitdiff
path: root/info/examples/lgc/12-0-2.mp
diff options
context:
space:
mode:
Diffstat (limited to 'info/examples/lgc/12-0-2.mp')
-rw-r--r--info/examples/lgc/12-0-2.mp59
1 files changed, 59 insertions, 0 deletions
diff --git a/info/examples/lgc/12-0-2.mp b/info/examples/lgc/12-0-2.mp
new file mode 100644
index 0000000000..4eaaf5bed3
--- /dev/null
+++ b/info/examples/lgc/12-0-2.mp
@@ -0,0 +1,59 @@
+input boxes
+defaultfont:="ptmr8r";
+warningcheck:=0;
+beginfig(1)
+defaultfont:="ptmb8r";
+vardef labelarrow
+ (suffix BoxA,BoxB) expr Line =
+ drawarrow Line
+ cutbefore bpath BoxA
+ cutafter bpath BoxB;
+ point (.5*length Line) of Line
+enddef;
+color yellow,orange;
+yellow:=red+green;
+orange:=red+(green/2);
+boxjoin(a.n=b.s-(0,.3in));
+defaultscale:=1.2;
+circmargin:=4pt;
+circleit.In("in");
+circleit.One("1"); circleit.Two("2");
+circleit.Three("3"); circleit.Four("4");
+boxjoin(); circmargin:=16pt;circleit.X("");X.c=Four.c;
+drawunboxed(One,Two,Three,Four,In,X);
+drawarrow In.n--One.s;
+label.rt("a",
+ labelarrow(One,Two) One.c--Two.c)
+ withcolor red;
+label.rt("b",
+ labelarrow(Two,Three) Two.c--Three.c)
+ withcolor green;
+label.rt("b",
+ labelarrow(Three,Four) Three.c--Four.c)
+ withcolor green;
+label.rt("a",
+ labelarrow(Four,Two) Four.c{dir335}..
+ {dir205}Two.c) withcolor red;
+label.lft("a",
+ labelarrow(Three,Two) Three.c{dir205}..
+ {dir335}Two.c) withcolor red;
+label.lft("b",
+ labelarrow(Four,One) Four.c{dir180}..
+ tension2..One.c) withcolor green;
+label.rt("b",
+ labelarrow(One,One) One.c{dir45}..One.c+(40,0)..
+ {dir120}One.c) withcolor green;
+label.rt("a",
+ labelarrow(Two,Two) Two.c{dir65}..Two.c+(40,0)..
+ {dir100}Two.c) withcolor red;
+fill bpath One withcolor blue;
+draw pic One withcolor white;
+fill bpath Two withcolor yellow;
+draw pic Two;
+fill bpath Three withcolor orange;
+draw pic Three withcolor white;
+draw bpath Four ;
+pickup pencircle scaled 2pt;
+draw bpath X dashed evenly withcolor (1 , .75, .8);
+endfig;
+end;