let edge_attributes (e, dynamic) =
let d, z = G.edge_dpd e in
let attrib = [] in
let attrib = match z with
| None -> attrib
| Some z ->
let txt =
Pretty_utils.sfprintf "@[<h 1>%a@]" Locations.Zone.pretty z in
(`Label txt) :: attrib
in
let attrib =
let color =
if Dpd.is_data d then (if dynamic then 0xFF00FF else 0x0000FF)
else (if dynamic then 0xFF0000 else 0x000000)
in (`Color color) :: attrib
in
let attrib =
if Dpd.is_ctrl d then (`Arrowhead `Odot)::attrib else attrib
in
let attrib =
if Dpd.is_addr d then (`Style `Dotted)::attrib else attrib
in attrib