Module Mlpost__Arrow
val normalize : Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t
val neg : Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t
val direction_on_path : float -> Mlpost__.Types.path -> Mlpost__.Spline_lib.point
val point_on_path : float -> Mlpost__.Types.path -> Mlpost__.Spline_lib.point
val subpath_01 : float -> float -> Mlpost__.Types.path -> Mlpost__.Types.path
type line
=
{
brush : Mlpost__.Types.brush;
from_point : float;
to_point : float;
dist : Mlpost.Num.t;
}
type head_description
=
{
hd_command : Mlpost.Command.t;
hd_cut : Mlpost__.Types.path option;
}
val make_head : ?cut:Mlpost__.Types.path -> Mlpost.Command.t -> head_description
type head
= Mlpost.Point.t -> Mlpost.Point.t -> head_description
type belt
=
{
clip : bool;
rev : bool;
point : float;
head : head;
}
type kind
=
{
lines : line list;
belts : belt list;
}
val empty : kind
val add_line : ?brush:Mlpost__.Types.brush -> ?dashed:Mlpost__.Types.dash -> ?color:Mlpost__.Types.color -> ?pen:Mlpost__.Types.pen -> ?from_point:float -> ?to_point:float -> ?dist:Mlpost.Num.t -> kind -> kind
val head_classic_points : ?angle:float -> ?size:float -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t * Mlpost__.Point_lib.t
val head_classic : ?color:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?dashed:Mlpost__.Types.dash -> ?angle:float -> ?size:float -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> head_description
val head_triangle : ?color:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?dashed:Mlpost__.Types.dash -> ?angle:float -> ?size:float -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> head_description
val head_triangle_full : ?color:Mlpost__.Types.color -> ?angle:float -> ?size:float -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> head_description
val add_belt : ?clip:bool -> ?rev:bool -> ?point:float -> ?head:head -> kind -> kind
val add_head : ?head:head -> kind -> kind
val add_foot : ?head:head -> kind -> kind
val parallel_path : Mlpost__.Types.path -> float -> Mlpost__.Types.path
val make_arrow_line : Mlpost__.Types.path -> line -> line * Mlpost__.Types.path
val make_arrow_belt : Mlpost__.Types.path -> belt -> belt * Mlpost.Command.t * Mlpost__.Types.path option
val clip_line_with_belt : ('a * Mlpost__.Types.path) -> (belt * 'b * Mlpost__.Types.path option) -> 'a * Mlpost__.Types.path
val draw_line : (line * Mlpost__.Types.path) -> Mlpost__.Types.commandpic
val mk_classic : ?color:Mlpost__.Types.color -> unit -> kind
val mk_implies : ?color:Mlpost__.Types.color -> unit -> kind
val classic : kind
val triangle : kind
val triangle_full : kind
val implies : kind
val iff : kind
val draw : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> Mlpost__.Types.path -> Mlpost__.Types.commandpic
type ('a, 'b) arrow_from_to
= ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost.Command.position -> ?style:Mlpost.Path.joint -> ?outd:Mlpost.Path.direction -> ?ind:Mlpost.Path.direction -> ?sep:Mlpost.Num.t -> 'a -> 'b -> Mlpost.Command.t
val point_to_point : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost__.Types.point -> Mlpost__.Types.point -> Mlpost__.Types.commandpic
val box_to_box : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost__.Types.commandpic
val box_to_point : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost.Box.t -> Mlpost__.Types.point -> Mlpost__.Types.commandpic
val point_to_box : ?kind:kind -> ?tex:string -> ?pos:float -> ?anchor:Mlpost__.Types.position -> ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost__.Types.point -> Mlpost.Box.t -> Mlpost__.Types.commandpic
val simple_point_point : ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?sep:float -> Mlpost__.Types.point -> Mlpost__.Types.point -> Mlpost__.Types.path
val neg : Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t
val thick_path : ?style:Mlpost__.Types.joint -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?width:float -> ?head_length:float -> ?head_width:float -> Mlpost__.Types.point -> Mlpost__.Types.point -> Mlpost__.Types.path
val draw_thick : ?style:Mlpost__.Types.joint -> ?boxed:bool -> ?line_color:Mlpost__.Types.color -> ?fill_color:Mlpost__.Types.color -> ?outd:Mlpost__.Types.direction -> ?ind:Mlpost__.Types.direction -> ?width:float -> ?head_length:float -> ?head_width:float -> Mlpost__.Types.point -> Mlpost__.Types.point -> Mlpost__.Types.commandpic
val simple : ?color:Mlpost__.Types.color -> ?brush:Mlpost__.Types.brush -> ?pen:Mlpost__.Types.pen -> ?dashed:Mlpost__.Types.dash -> Mlpost__.Types.path -> Mlpost__.Types.commandpic