Module Mlpost__Diag
module Node : sig ... end
module Hnode : sig ... end
type node
= Node.t
val node : ?style:(Mlpost.Box.t -> Mlpost.Box.t) -> ?fill:Mlpost.Color.t -> ?boxed:bool -> float -> float -> Mlpost.Box.t -> Node.t
type dir
=
|
Up
|
Down
|
Left
|
Right
|
Angle of float
type arrow
=
{
src : node;
dst : node;
lab : string;
line_width : Mlpost.Num.t option;
boxed : bool;
line_color : Mlpost.Color.t option;
fill_color : Mlpost.Color.t option;
head : bool;
dashed : Mlpost__.Types.dash option;
pos : Mlpost.Command.position option;
outd : dir option;
ind : dir option;
}
type t
=
{
nodes : node list;
boxes : Mlpost.Box.t Hnode.t;
mutable arrows : arrow list;
}
val create : node list -> t
val arrow : t -> ?lab:string -> ?line_width:Mlpost.Num.t -> ?boxed:bool -> ?line_color:Mlpost.Color.t -> ?fill_color:Mlpost.Color.t -> ?pos:Mlpost.Command.position -> ?head:bool -> ?dashed:Mlpost__.Types.dash -> ?outd:dir -> ?ind:dir -> node -> node -> unit
val outdir : dir -> Mlpost__.Types.direction
val indir : dir -> Mlpost__.Types.direction
val outdir : dir option -> Mlpost__.Types.direction option
val indir : dir option -> Mlpost__.Types.direction option
type node_style
= Mlpost.Box.t -> Mlpost.Box.t
val make_box : ?fill:Mlpost.Color.t -> ?boxed:bool -> style:(Mlpost.Box.t -> Mlpost.Box.t) -> scale:(float -> float) -> t -> Hnode.key -> Mlpost.Box.t
val box_of : t -> Hnode.key -> Mlpost.Box.t
val draw_arrow : ?stroke:Mlpost.Color.t -> ?pen:Mlpost__.Types.pen -> ?dashed:'a -> t -> arrow -> Mlpost__.Types.commandpic
val fortybp : float -> float
val defaultbox : Mlpost.Box.t -> Mlpost.Box.t
val draw : ?scale:(float -> float) -> ?style:(Mlpost.Box.t -> Mlpost.Box.t) -> ?boxed:bool -> ?fill:Mlpost.Color.t -> ?stroke:Mlpost.Color.t -> ?pen:Mlpost__.Types.pen -> t -> Mlpost__.Types.commandpic