module Tree:sig..end
type t
type arrow_style =
| |
Directed |
(* |
edges are directed and an
arrow is drawn at the end of an edge
| *) |
| |
Undirected |
(* |
edges are undirected and no arrow is drawn
| *) |
type edge_style =
| |
Straight |
(* |
edges are straight lines between nodes
| *) |
| |
Curve |
(* |
edges are curved lines between nodes
| *) |
| |
Square |
(* |
edges are straight lines and
branch out from the sides of nodes
| *) |
| |
HalfSquare |
(* |
edges are straight lines and
branch out from below nodes
| *) |
val leaf : Box.t -> t
leaf b creates a leaf with Box b.
val node : ?ls:Num.t ->
?cs:Num.t ->
?arrow_style:arrow_style ->
?edge_style:edge_style ->
?stroke:Color.t ->
?brush:Brush.t ->
?pen:Pen.t ->
?sep:Num.t -> Box.t -> t list -> tnode label children creates a node with label label and a list
of children children.
Default arrow_style is Directed.
Default edge_style is Straight.ls (level sep): vertical distance between levels.
The default value is 1.0. A negative value draws the tree upward.cs (children sep): horizontal distance between siblings.
The default value is 0.2.
Optional arguments are the same as in leaf.val nodel : ?ls:Num.t ->
?cs:Num.t ->
?arrow_style:arrow_style ->
?edge_style:edge_style ->
?stroke:Color.t ->
?brush:Brush.t ->
?pen:Pen.t ->
?sep:Num.t ->
Box.t ->
(t * (Command.position * Picture.t)) list ->
tnode but with labels on edges.
Labels are taken into account only when edge_style is Straight.val bin : ?ls:Num.t ->
?cs:Num.t ->
?arrow_style:arrow_style ->
?edge_style:edge_style ->
?stroke:Color.t ->
?brush:Brush.t ->
?pen:Pen.t ->
?sep:Num.t ->
Box.t -> t -> t -> tbin label l r creates a binary node with label label and
children l and r.
Optional arguments are the same as in leaf.val to_box : t -> Box.t
val draw : ?debug:bool -> t -> Command.t
module Simple:sig..end