let edge_attributes e =
let attr = [] in
let attr = (`Label (String.escaped (PE.edge_txt e)))::attr in
let attr =
if is_back_edge e then (`Constraint false)::(`Style `Bold)::attr
else attr
in
let attr = match (edge_type e) with
| Ethen | EbackThen -> (`Color 0x00FF00)::attr
| Eelse | EbackElse -> (`Color 0xFF0000)::attr
| Ecase [] -> (`Color 0x0000FF)::(`Style `Dashed)::attr
| Ecase _ -> (`Color 0x0000FF)::attr
| Enext -> (`Style `Dotted)::attr
| Eback -> attr (* see is_back_edge above *)
| Enone -> attr
in
attr