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