Commit cd1c4623 authored by John Ellson's avatar John Ellson

add icurve arrow shape

parent 372e64c4
doc/info/a_box.gif

1.16 KB | W: | H:

doc/info/a_box.gif

1.19 KB | W: | H:

doc/info/a_box.gif
doc/info/a_box.gif
doc/info/a_box.gif
doc/info/a_box.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_crow.gif

1.2 KB | W: | H:

doc/info/a_crow.gif

1.23 KB | W: | H:

doc/info/a_crow.gif
doc/info/a_crow.gif
doc/info/a_crow.gif
doc/info/a_crow.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_curve.gif

1.18 KB | W: | H:

doc/info/a_curve.gif

1.21 KB | W: | H:

doc/info/a_curve.gif
doc/info/a_curve.gif
doc/info/a_curve.gif
doc/info/a_curve.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_diamond.gif

1.19 KB | W: | H:

doc/info/a_diamond.gif

1.23 KB | W: | H:

doc/info/a_diamond.gif
doc/info/a_diamond.gif
doc/info/a_diamond.gif
doc/info/a_diamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_dot.gif

1.18 KB | W: | H:

doc/info/a_dot.gif

1.21 KB | W: | H:

doc/info/a_dot.gif
doc/info/a_dot.gif
doc/info/a_dot.gif
doc/info/a_dot.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_ediamond.gif

1.22 KB | W: | H:

doc/info/a_ediamond.gif

1.26 KB | W: | H:

doc/info/a_ediamond.gif
doc/info/a_ediamond.gif
doc/info/a_ediamond.gif
doc/info/a_ediamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_empty.gif

1.21 KB | W: | H:

doc/info/a_empty.gif

1.25 KB | W: | H:

doc/info/a_empty.gif
doc/info/a_empty.gif
doc/info/a_empty.gif
doc/info/a_empty.gif
  • 2-up
  • Swipe
  • Onion skin
digraph G {
graph [pad="0.05" rankdir=LR]
a [label="" shape=point]
b [label=""]
a -> b [arrowhead=forward]
}
doc/info/a_forward.gif

936 Bytes | W: | H:

doc/info/a_forward.gif

1.15 KB | W: | H:

doc/info/a_forward.gif
doc/info/a_forward.gif
doc/info/a_forward.gif
doc/info/a_forward.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_halfopen.gif

1.17 KB | W: | H:

doc/info/a_halfopen.gif

1.21 KB | W: | H:

doc/info/a_halfopen.gif
doc/info/a_halfopen.gif
doc/info/a_halfopen.gif
doc/info/a_halfopen.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_inv.gif

1.17 KB | W: | H:

doc/info/a_inv.gif

1.2 KB | W: | H:

doc/info/a_inv.gif
doc/info/a_inv.gif
doc/info/a_inv.gif
doc/info/a_inv.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_invdot.gif

1.24 KB | W: | H:

doc/info/a_invdot.gif

1.27 KB | W: | H:

doc/info/a_invdot.gif
doc/info/a_invdot.gif
doc/info/a_invdot.gif
doc/info/a_invdot.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_invempty.gif

1.19 KB | W: | H:

doc/info/a_invempty.gif

1.23 KB | W: | H:

doc/info/a_invempty.gif
doc/info/a_invempty.gif
doc/info/a_invempty.gif
doc/info/a_invempty.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_invodot.gif

1.27 KB | W: | H:

doc/info/a_invodot.gif

1.3 KB | W: | H:

doc/info/a_invodot.gif
doc/info/a_invodot.gif
doc/info/a_invodot.gif
doc/info/a_invodot.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_lteeoldiamond.gif

1.2 KB | W: | H:

doc/info/a_lteeoldiamond.gif

1.24 KB | W: | H:

doc/info/a_lteeoldiamond.gif
doc/info/a_lteeoldiamond.gif
doc/info/a_lteeoldiamond.gif
doc/info/a_lteeoldiamond.gif
  • 2-up
  • Swipe
  • Onion skin
digraph G {
graph [pad="0.05" rankdir=LR]
a [label="" shape=point]
b [label=""]
a -> b [arrowhead=nohead]
}
doc/info/a_nohead.gif

936 Bytes | W: | H:

doc/info/a_nohead.gif

1.15 KB | W: | H:

doc/info/a_nohead.gif
doc/info/a_nohead.gif
doc/info/a_nohead.gif
doc/info/a_nohead.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_none.gif

1.13 KB | W: | H:

doc/info/a_none.gif

1.15 KB | W: | H:

doc/info/a_none.gif
doc/info/a_none.gif
doc/info/a_none.gif
doc/info/a_none.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_normal.gif

1.19 KB | W: | H:

doc/info/a_normal.gif

1.22 KB | W: | H:

doc/info/a_normal.gif
doc/info/a_normal.gif
doc/info/a_normal.gif
doc/info/a_normal.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_obox.gif

1.18 KB | W: | H:

doc/info/a_obox.gif

1.21 KB | W: | H:

doc/info/a_obox.gif
doc/info/a_obox.gif
doc/info/a_obox.gif
doc/info/a_obox.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_odiamond.gif

1.22 KB | W: | H:

doc/info/a_odiamond.gif

1.26 KB | W: | H:

doc/info/a_odiamond.gif
doc/info/a_odiamond.gif
doc/info/a_odiamond.gif
doc/info/a_odiamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_odot.gif

1.2 KB | W: | H:

doc/info/a_odot.gif

1.24 KB | W: | H:

doc/info/a_odot.gif
doc/info/a_odot.gif
doc/info/a_odot.gif
doc/info/a_odot.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_open.gif

1.21 KB | W: | H:

doc/info/a_open.gif

1.26 KB | W: | H:

doc/info/a_open.gif
doc/info/a_open.gif
doc/info/a_open.gif
doc/info/a_open.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/a_tee.gif

1.17 KB | W: | H:

doc/info/a_tee.gif

1.19 KB | W: | H:

doc/info/a_tee.gif
doc/info/a_tee.gif
doc/info/a_tee.gif
doc/info/a_tee.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_box.gif

250 Bytes | W: | H:

doc/info/aa_box.gif

381 Bytes | W: | H:

doc/info/aa_box.gif
doc/info/aa_box.gif
doc/info/aa_box.gif
doc/info/aa_box.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_crow.gif

378 Bytes | W: | H:

doc/info/aa_crow.gif

413 Bytes | W: | H:

doc/info/aa_crow.gif
doc/info/aa_crow.gif
doc/info/aa_crow.gif
doc/info/aa_crow.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_curve.gif

356 Bytes | W: | H:

doc/info/aa_curve.gif

394 Bytes | W: | H:

doc/info/aa_curve.gif
doc/info/aa_curve.gif
doc/info/aa_curve.gif
doc/info/aa_curve.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_diamond.gif

368 Bytes | W: | H:

doc/info/aa_diamond.gif

394 Bytes | W: | H:

doc/info/aa_diamond.gif
doc/info/aa_diamond.gif
doc/info/aa_diamond.gif
doc/info/aa_diamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_dot.gif

364 Bytes | W: | H:

doc/info/aa_dot.gif

395 Bytes | W: | H:

doc/info/aa_dot.gif
doc/info/aa_dot.gif
doc/info/aa_dot.gif
doc/info/aa_dot.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_inv.gif

362 Bytes | W: | H:

doc/info/aa_inv.gif

388 Bytes | W: | H:

doc/info/aa_inv.gif
doc/info/aa_inv.gif
doc/info/aa_inv.gif
doc/info/aa_inv.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_lbox.gif

233 Bytes | W: | H:

doc/info/aa_lbox.gif

368 Bytes | W: | H:

doc/info/aa_lbox.gif
doc/info/aa_lbox.gif
doc/info/aa_lbox.gif
doc/info/aa_lbox.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_lcrow.gif

348 Bytes | W: | H:

doc/info/aa_lcrow.gif

379 Bytes | W: | H:

doc/info/aa_lcrow.gif
doc/info/aa_lcrow.gif
doc/info/aa_lcrow.gif
doc/info/aa_lcrow.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_lcurve.gif

336 Bytes | W: | H:

doc/info/aa_lcurve.gif

372 Bytes | W: | H:

doc/info/aa_lcurve.gif
doc/info/aa_lcurve.gif
doc/info/aa_lcurve.gif
doc/info/aa_lcurve.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_ldiamond.gif

238 Bytes | W: | H:

doc/info/aa_ldiamond.gif

374 Bytes | W: | H:

doc/info/aa_ldiamond.gif
doc/info/aa_ldiamond.gif
doc/info/aa_ldiamond.gif
doc/info/aa_ldiamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_linv.gif

235 Bytes | W: | H:

doc/info/aa_linv.gif

371 Bytes | W: | H:

doc/info/aa_linv.gif
doc/info/aa_linv.gif
doc/info/aa_linv.gif
doc/info/aa_linv.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_lnormal.gif

236 Bytes | W: | H:

doc/info/aa_lnormal.gif

375 Bytes | W: | H:

doc/info/aa_lnormal.gif
doc/info/aa_lnormal.gif
doc/info/aa_lnormal.gif
doc/info/aa_lnormal.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_ltee.gif

231 Bytes | W: | H:

doc/info/aa_ltee.gif

360 Bytes | W: | H:

doc/info/aa_ltee.gif
doc/info/aa_ltee.gif
doc/info/aa_ltee.gif
doc/info/aa_ltee.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_lvee.gif

247 Bytes | W: | H:

doc/info/aa_lvee.gif

383 Bytes | W: | H:

doc/info/aa_lvee.gif
doc/info/aa_lvee.gif
doc/info/aa_lvee.gif
doc/info/aa_lvee.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_none.gif

155 Bytes | W: | H:

doc/info/aa_none.gif

230 Bytes | W: | H:

doc/info/aa_none.gif
doc/info/aa_none.gif
doc/info/aa_none.gif
doc/info/aa_none.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_normal.gif

362 Bytes | W: | H:

doc/info/aa_normal.gif

398 Bytes | W: | H:

doc/info/aa_normal.gif
doc/info/aa_normal.gif
doc/info/aa_normal.gif
doc/info/aa_normal.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_obox.gif

262 Bytes | W: | H:

doc/info/aa_obox.gif

396 Bytes | W: | H:

doc/info/aa_obox.gif
doc/info/aa_obox.gif
doc/info/aa_obox.gif
doc/info/aa_obox.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_odiamond.gif

384 Bytes | W: | H:

doc/info/aa_odiamond.gif

414 Bytes | W: | H:

doc/info/aa_odiamond.gif
doc/info/aa_odiamond.gif
doc/info/aa_odiamond.gif
doc/info/aa_odiamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_odot.gif

391 Bytes | W: | H:

doc/info/aa_odot.gif

418 Bytes | W: | H:

doc/info/aa_odot.gif
doc/info/aa_odot.gif
doc/info/aa_odot.gif
doc/info/aa_odot.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_oinv.gif

384 Bytes | W: | H:

doc/info/aa_oinv.gif

415 Bytes | W: | H:

doc/info/aa_oinv.gif
doc/info/aa_oinv.gif
doc/info/aa_oinv.gif
doc/info/aa_oinv.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_olbox.gif

237 Bytes | W: | H:

doc/info/aa_olbox.gif

374 Bytes | W: | H:

doc/info/aa_olbox.gif
doc/info/aa_olbox.gif
doc/info/aa_olbox.gif
doc/info/aa_olbox.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_oldiamond.gif

353 Bytes | W: | H:

doc/info/aa_oldiamond.gif

382 Bytes | W: | H:

doc/info/aa_oldiamond.gif
doc/info/aa_oldiamond.gif
doc/info/aa_oldiamond.gif
doc/info/aa_oldiamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_olinv.gif

350 Bytes | W: | H:

doc/info/aa_olinv.gif

376 Bytes | W: | H:

doc/info/aa_olinv.gif
doc/info/aa_olinv.gif
doc/info/aa_olinv.gif
doc/info/aa_olinv.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_olnormal.gif

349 Bytes | W: | H:

doc/info/aa_olnormal.gif

379 Bytes | W: | H:

doc/info/aa_olnormal.gif
doc/info/aa_olnormal.gif
doc/info/aa_olnormal.gif
doc/info/aa_olnormal.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_onormal.gif

385 Bytes | W: | H:

doc/info/aa_onormal.gif

420 Bytes | W: | H:

doc/info/aa_onormal.gif
doc/info/aa_onormal.gif
doc/info/aa_onormal.gif
doc/info/aa_onormal.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_orbox.gif

242 Bytes | W: | H:

doc/info/aa_orbox.gif

381 Bytes | W: | H:

doc/info/aa_orbox.gif
doc/info/aa_orbox.gif
doc/info/aa_orbox.gif
doc/info/aa_orbox.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_ordiamond.gif

350 Bytes | W: | H:

doc/info/aa_ordiamond.gif

385 Bytes | W: | H:

doc/info/aa_ordiamond.gif
doc/info/aa_ordiamond.gif
doc/info/aa_ordiamond.gif
doc/info/aa_ordiamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_orinv.gif

344 Bytes | W: | H:

doc/info/aa_orinv.gif

382 Bytes | W: | H:

doc/info/aa_orinv.gif
doc/info/aa_orinv.gif
doc/info/aa_orinv.gif
doc/info/aa_orinv.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_ornormal.gif

347 Bytes | W: | H:

doc/info/aa_ornormal.gif

379 Bytes | W: | H:

doc/info/aa_ornormal.gif
doc/info/aa_ornormal.gif
doc/info/aa_ornormal.gif
doc/info/aa_ornormal.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_rbox.gif

229 Bytes | W: | H:

doc/info/aa_rbox.gif

377 Bytes | W: | H:

doc/info/aa_rbox.gif
doc/info/aa_rbox.gif
doc/info/aa_rbox.gif
doc/info/aa_rbox.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_rcrow.gif

343 Bytes | W: | H:

doc/info/aa_rcrow.gif

381 Bytes | W: | H:

doc/info/aa_rcrow.gif
doc/info/aa_rcrow.gif
doc/info/aa_rcrow.gif
doc/info/aa_rcrow.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_rcurve.gif

228 Bytes | W: | H:

doc/info/aa_rcurve.gif

368 Bytes | W: | H:

doc/info/aa_rcurve.gif
doc/info/aa_rcurve.gif
doc/info/aa_rcurve.gif
doc/info/aa_rcurve.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_rdiamond.gif

233 Bytes | W: | H:

doc/info/aa_rdiamond.gif

376 Bytes | W: | H:

doc/info/aa_rdiamond.gif
doc/info/aa_rdiamond.gif
doc/info/aa_rdiamond.gif
doc/info/aa_rdiamond.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_rinv.gif

230 Bytes | W: | H:

doc/info/aa_rinv.gif

375 Bytes | W: | H:

doc/info/aa_rinv.gif
doc/info/aa_rinv.gif
doc/info/aa_rinv.gif
doc/info/aa_rinv.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_rnormal.gif

231 Bytes | W: | H:

doc/info/aa_rnormal.gif

371 Bytes | W: | H:

doc/info/aa_rnormal.gif
doc/info/aa_rnormal.gif
doc/info/aa_rnormal.gif
doc/info/aa_rnormal.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_rtee.gif

226 Bytes | W: | H:

doc/info/aa_rtee.gif

255 Bytes | W: | H:

doc/info/aa_rtee.gif
doc/info/aa_rtee.gif
doc/info/aa_rtee.gif
doc/info/aa_rtee.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_rvee.gif

340 Bytes | W: | H:

doc/info/aa_rvee.gif

379 Bytes | W: | H:

doc/info/aa_rvee.gif
doc/info/aa_rvee.gif
doc/info/aa_rvee.gif
doc/info/aa_rvee.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_tee.gif

239 Bytes | W: | H:

doc/info/aa_tee.gif

266 Bytes | W: | H:

doc/info/aa_tee.gif
doc/info/aa_tee.gif
doc/info/aa_tee.gif
doc/info/aa_tee.gif
  • 2-up
  • Swipe
  • Onion skin
doc/info/aa_vee.gif

380 Bytes | W: | H:

doc/info/aa_vee.gif

415 Bytes | W: | H:

doc/info/aa_vee.gif
doc/info/aa_vee.gif
doc/info/aa_vee.gif
doc/info/aa_vee.gif
  • 2-up
  • Swipe
  • Onion skin
......@@ -3,12 +3,16 @@
set arrows {
box
crow
curve
diamond
dot
icurve
inv
lbox
lcrow
lcurve
ldiamond
licurve
linv
lnormal
ltee
......@@ -30,7 +34,9 @@ set arrows {
ornormal
rbox
rcrow
rcurve
rdiamond
ricurve
rinv
rnormal
rtee
......@@ -42,18 +48,18 @@ set arrows {
set arrowexamples {
box
crow
curve
diamond
dot
ediamond
empty
forward
halfopen
icurve
inv
invdot
invempty
invodot
lteeoldiamond
nohead
none
normal
obox
......
......@@ -61,7 +61,7 @@ SGIF = Mcircle.gif Mdiamond.gif Msquare.gif box.gif \
proteinstab.gif rpromoter.gif rarrow.gif larrow.gif lpromoter.gif
AGIF = a_normal.gif a_inv.gif a_dot.gif a_invdot.gif a_odot.gif \
a_invodot.gif a_curve.gif a_none.gif \
a_invodot.gif a_curve.gif a_icurve.gif a_none.gif \
a_tee.gif a_empty.gif a_invempty.gif a_open.gif \
a_diamond.gif a_odiamond.gif a_box.gif a_obox.gif a_crow.gif \
a_halfopen.gif a_ediamond.gif a_lteeoldiamond.gif
......@@ -75,7 +75,9 @@ A2GIF= aa_box.gif aa_lbox.gif aa_rbox.gif aa_obox.gif aa_olbox.gif aa_orbox.gif\
aa_normal.gif aa_lnormal.gif aa_rnormal.gif aa_onormal.gif aa_olnormal.gif aa_ornormal.gif\
aa_tee.gif aa_ltee.gif aa_rtee.gif \
aa_vee.gif aa_lvee.gif aa_rvee.gif \
aa_curve.gif aa_lcurve.gif aa_rcurve.gif
aa_curve.gif aa_lcurve.gif aa_rcurve.gif \
aa_icurve.gif aa_licurve.gif aa_ricurve.gif
GIF = $(SGIF) $(AGIF) $(MGIF) $(A2GIF) $(XGIF)
......
......@@ -2,4 +2,4 @@ arrowname = aname [ aname [ aname [ aname ] ] ]
aname = [ modifiers ] shape
modifiers = [ 'o' ] [ side ]
side = 'l' | 'r'
shape = T_box | T_crow | T_curve | T_diamond | T_dot | T_inv | T_none | T_normal | T_tee | T_vee
shape = T_box | T_crow | T_curve | T_icurve | T_diamond | T_dot | T_inv | T_none | T_normal | T_tee | T_vee
......@@ -8,13 +8,18 @@ The primitive shapes are:
<TD>"crow"<TD><IMG SRC="a_crow.gif">
<TD>"curve"<TD><IMG SRC="a_curve.gif">
<TD>"diamond"<TD><IMG SRC="a_diamond.gif">
<TD>"dot"<TD><IMG SRC="a_dot.gif">
</TR>
<TR>
</TR>
<TR>
<TD>"dot"<TD><IMG SRC="a_dot.gif">
<TD>"icurve"<TD><IMG SRC="a_icurve.gif">
<TD>"inv"<TD><IMG SRC="a_inv.gif">
<TD>"none"<TD><IMG SRC="a_none.gif">
</TR>
<TR>
</TR>
<TR>
<TD>"normal"<TD><IMG SRC="a_normal.gif">
<TD>"tee"<TD><IMG SRC="a_tee.gif">
<TD>"vee"<TD><IMG SRC="a_open.gif">
......@@ -58,6 +63,7 @@ The following table indicates which modifiers are allowed with which shapes.
<TH>curve
<TH>diamond
<TH>dot
<TH>icurve
<TH>inv
<TH>none
<TH>normal
......@@ -69,13 +75,13 @@ The following table indicates which modifiers are allowed with which shapes.
</TABLE>
</CENTER>
<P>
This yields 39 different arrow shapes. The optional second, third, fourth shapes
can independently be any of the 39, except the last cannot be <TT>none</TT> as
This yields 42 different arrow shapes. The optional second, third, fourth shapes
can independently be any of the 42, except the last cannot be <TT>none</TT> as
this would create a redundant shape.
Thus, there are 38 &middot; 39<sup>3</sup> + 38 &middot; 39<sup>2</sup> + 38 &middot; 39 + 39 = 2,313,441 different combinations.
Thus, there are 41 &middot; 42<sup>3</sup> + 41 &middot; 42<sup>2</sup> + 41 &middot; 42 + 42 = 3,111,696 different combinations.
<P>
The following display contains the 39 combinations possible with a single
The following display contains the 42 combinations possible with a single
arrow shape. The node attached to the arrow is not drawn but would appear
on the right side of the edge.
<P>
......@@ -80,4 +80,10 @@ digraph G {
lcurve -> lcurvelcurve [arrowhead=lcurvelcurve label=lcurvelcurve]
_curve -> rcurve [arrowhead=rcurve label=rcurve]
rcurve -> rcurvercurve [arrowhead=rcurvercurve label=rcurvercurve]
_icurve -> icurve [arrowhead=icurve label=icurve]
icurve -> icurveicurve [arrowhead=icurveicurve label=icurveicurve]
_icurve -> licurve [arrowhead=licurve label=licurve]
licurve -> licurvelicurve [arrowhead=licurvelicurve label=licurvelicurve]
_icurve -> ricurve [arrowhead=ricurve label=ricurve]
ricurve -> ricurvericurve [arrowhead=ricurvericurve label=ricurvericurve]
}
......@@ -103,6 +103,7 @@ static arrowname_t Arrownames[] = {
/* Note that ARR_MOD_OPEN has expected meaning for ARR_TYPE_NORM shape */
{"mpty", ARR_TYPE_NORM},
{"curve", ARR_TYPE_CURVE},
{"icurve", (ARR_TYPE_CURVE | ARR_MOD_INV)},
{(char *) 0, ARR_TYPE_NONE}
};
......@@ -644,11 +645,20 @@ static void arrow_type_curve(GVJ_t* job, pointf p, pointf u, double arrowsize, d
AF[3].x = p.x - v.x + w.x;
AF[3].y = p.y - v.y + w.y;
AF[1].x = p.x + 0.95 * v.x + w.x - w.x * 4.0 / 3.0;
AF[1].y = AF[0].y - w.y * 4.0 / 3.0;
if (flag & ARR_MOD_INV) { /* ----(-| */
AF[1].x = p.x + 0.95 * v.x + w.x + w.x * 4.0 / 3.0;
AF[1].y = AF[0].y + w.y * 4.0 / 3.0;
AF[2].x = p.x - 0.95 * v.x + w.x - w.x * 4.0 / 3.0;
AF[2].y = AF[3].y - w.y * 4.0 / 3.0;
AF[2].x = p.x - 0.95 * v.x + w.x + w.x * 4.0 / 3.0;
AF[2].y = AF[3].y + w.y * 4.0 / 3.0;
}
else { /* ----)-| */
AF[1].x = p.x + 0.95 * v.x + w.x - w.x * 4.0 / 3.0;
AF[1].y = AF[0].y - w.y * 4.0 / 3.0;
AF[2].x = p.x - 0.95 * v.x + w.x - w.x * 4.0 / 3.0;
AF[2].y = AF[3].y - w.y * 4.0 / 3.0;
}
gvrender_polyline(job, a, 2);
if (flag & ARR_MOD_LEFT)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment