Module Mlpost__Diag
module Node : sig ... endmodule Hnode : sig ... endtype 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 floattype 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 -> tval 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 -> unitval outdir : dir -> Mlpost__.Types.directionval indir : dir -> Mlpost__.Types.directionval outdir : dir option -> Mlpost__.Types.direction optionval 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.tval box_of : t -> Hnode.key -> Mlpost.Box.tval draw_arrow : ?stroke:Mlpost.Color.t -> ?pen:Mlpost__.Types.pen -> ?dashed:'a -> t -> arrow -> Mlpost__.Types.commandpicval fortybp : float -> floatval defaultbox : Mlpost.Box.t -> Mlpost.Box.tval 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