1 (* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
11 datatype color = datatype DotColor.t
26 type fontName = fontFamily * fontWeight
31 datatype orientation =
34 datatype polygonOption =
35 Distortion of real (* -1.0 <= r <= 1.0 *)
36 | Orientation of int (* 0 <= i <= 360. Clockwise rotation from
40 | Skew of real (* -1.0 <= r <= 1.0 *)
41 datatype rank = Max | Min | Same
49 | WidthOverHeight of real
56 | Polygon of {sides: int,
57 options: polygonOption list}
69 | Decorate of bool (* connect edge label to edge *)
72 | FontName of fontName
73 | FontSize of int (* points *)
74 | Label of (string * justify) list
79 val label: string -> t (* label s = Label (s, Center) *)
86 | FontName of fontName
87 | FontSize of int (* points *)
88 | Height of real (* inches *)
89 | Label of (string * justify) list
91 | Width of real (* inches *)
93 val label: string -> t (* label s = Label (s, Center) *)
95 structure GraphOption:
99 | Color of color (* *)
100 | Concentrate of bool
102 | FontName of fontName
103 | FontSize of int (* points *)
105 | Margin of real * real (* inches *)
106 | Mclimit of real (* mincross iterations multiplier *)
107 | NodeSep of real (* inches *)
108 | Nslimit of int (* network simplex limit *)
109 | Orientation of orientation
110 | Page of {height: real, width: real} (* inches *)
111 | Rank of rank * {nodeName: string} list
113 | RankSep of real (* inches *)
115 | Size of {height: real, width: real} (* inches *)
118 val layout: {nodes: {name: string,
119 options: NodeOption.t list,
120 successors: {name: string,
121 options: EdgeOption.t list} list
123 options: GraphOption.t list,
124 title: string} -> Layout.t