src/samples/test01_all_possible_arcs.mscin
# test01: all possible arcs
msc {
hscale="0.6", arcgradient="18", wordwraparcs="false";
0 [arclinecolor="transparent", arctextcolor="grey",
linecolor="white", textcolor="white"],
a, b, c, d, e, f, g, h, i, j, k;
a -- b [label="left to right", linecolor="transparent", textcolor="grey"],
b -- c [label="right to left", linecolor="transparent", textcolor="grey"],
c -- d [label="left to right\nbi-directional\n\n",
linecolor="transparent", textcolor="grey"],
d -- e [label="right to left\nbi-directional\n\n",
linecolor="transparent", textcolor="grey"],
e -- f [label="left right\nnon-directional\n\n",
linecolor="transparent", textcolor="grey"],
f -- g [label="left to right\nnon-directional\n\n",
linecolor="transparent", textcolor="grey"],
g -- h [label="left to right\nself reference\n\n",
linecolor="transparent", textcolor="grey"],
h -- i [label="right to left\nself reference\n\n",
linecolor="transparent", textcolor="grey"],
i -- j [label="bi-directional\nself reference\n\n",
linecolor="transparent", textcolor="grey"],
j -- k [label="non-directional\nself reference\n\n",
linecolor="transparent", textcolor="grey"];
0 -- a [label="signal"],
a -> b [label="a -> b"],
b <- c [label="b <- c"],
c <-> d [label="c <-> d"],
e <-> d [label="e <-> d"],
e -- f [label="e -- f"],
g -- f [label="g -- f"],
g -> g [label="g -> g"],
h <- h [label="h <- h"],
i <-> i [label="i <-> i"],
j -- j [label="j -- j"];
0 -- a [label="method"],
a => b [label="a => b"],
b <= c [label="b <= c"],
c <=> d [label="c <=> d"],
e <=> d [label="e <=> d"],
e == f [label="e == f"],
g == f [label="g == f"],
g => g [label="g => g"],
h <= h [label="h <= h"],
i <=> i [label="i <=> i"],
j == j [label="j == j"];
0 -- a [label="return"],
a >> b [label="a >> b"],
b << c [label="b << c"],
c <<>> d [label="c <<>> d"],
e <<>> d [label="e <<>> d"],
e .. f [label="e .. f"],
g .. f [label="g .. g"],
g >> g [label="g >> g"],
h << h [label="h << h"],
i <<>> i [label="i <<>> i"],
j .. j [label="j .. j"];
0 -- a [label="callback"],
a =>> b [label="a =>> b"],
b <<= c [label="b <<= c"],
c <<=>> d [label="c <<=>> d"],
e <<=>> d [label="e <<=>> d"],
g =>> g [label="g =>> g"],
h <<= h [label="g <<= g"],
i <<=>> i [label="i <<=>>i "];
0 -- a [label="lost"],
a -x b [label="a -x b"],
b x- c [label="b x- c"],
g -x g [label="g -x g"],
h x- h [label="h x- h"];
0 -- a [label="emphasised"],
a :> b [label="a :> b"],
b <: c [label="b <: c"],
c <:> d [label="c <:> d"],
e <:> d [label="e <:> d"],
e :: f [label="e :: f"],
g :: f [label="g :: f"],
g :> g [label="g :> g"],
h <: h [label="h <: h"],
i <:> i [label="i <:> i"],
j :: j [label="j :: j"];
0 -- a [label="note"],
b note c [label="b note c"],
e note d [label="e note d"],
g note g [label="g note g"];
0 -- a [label="box"],
b box c [label="b box c"],
e box d [label="e box d"],
g box g [label="g box g"];
0 -- a [label="rbox"],
b rbox c [label="b rbox c"],
e rbox d [label="e rbox d"],
g rbox g [label="g rbox g"];
0 -- a [label="abox"],
b abox c [label="b abox c"],
e abox d [label="e abox d"],
g abox g [label="g abox g"];
0 -- a [label="empty row"],
||| [label="|||"];
... [label="...\n(omitted row)"];
0 -- a [label="comment"],
--- [label="---"];
0 -- a [label="broadcasts"];
a -> * [label="a -> *"];
* <- c [label="* <- c"];
b <-> "*" [label="b <-> *"];
d => * [label="d => *"];
* <= e [label="* <= e"];
d <=> "*" [label="d <=> *"];
f >> * [label="f >> *"];
* << g [label="* << g"];
f <<>> "*" [label="f <<>> *"];
h =>> * [label="h =>> *"];
* <<= i [label="* <<= i"];
h <<=>> "*" [label="h <<=>> *"];
j -x * [label="j -x *"];
* x- k [label="* x- k"];
a :> * [label="a :> *"];
* <: c [label="* <: c"];
b <:> "*" [label="b <:> *"];
# not supported by mscgen:
# "*" <-> b, "*" <=> e, "*" <<>> g, "*" <<=>> i, "*" <:> b
||| [label="options used: hscale=\"0.6\", arcgradient=\"18\""];
}
/*
This file is part of mscgen_js.
mscgen_js is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
mscgen_js is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with mscgen_js. If not, see
<http://www.gnu.org/licenses/>.
*/