sig
module rec Num :
sig
type t
val bp : float -> Mlpost.Num.t
val pt : float -> Mlpost.Num.t
val cm : float -> Mlpost.Num.t
val mm : float -> Mlpost.Num.t
val inch : float -> Mlpost.Num.t
val addn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val subn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val multn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val multf : float -> Mlpost.Num.t -> Mlpost.Num.t
val divf : Mlpost.Num.t -> float -> Mlpost.Num.t
val neg : Mlpost.Num.t -> Mlpost.Num.t
val divn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val maxn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val minn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val gmean : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val if_null :
Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
module Infix :
sig
val ( +/ ) : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val ( -/ ) : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val ( */ ) : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val ( // ) : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
val ( *./ ) : float -> Mlpost.Num.t -> Mlpost.Num.t
val ( /./ ) : Mlpost.Num.t -> float -> Mlpost.Num.t
end
val zero : Mlpost.Num.t
val one : Mlpost.Num.t
val two : Mlpost.Num.t
val pi : float
val deg2rad : float -> float
type scale = float -> Mlpost.Num.t
module Scale :
sig
val bp : float -> Mlpost.Num.scale
val pt : float -> Mlpost.Num.scale
val cm : float -> Mlpost.Num.scale
val mm : float -> Mlpost.Num.scale
val inch : float -> Mlpost.Num.scale
end
end
and Point :
sig
type t
val pt : Mlpost.Num.t * Mlpost.Num.t -> Mlpost.Point.t
val dir : float -> Mlpost.Point.t
val up : Mlpost.Point.t
val down : Mlpost.Point.t
val left : Mlpost.Point.t
val right : Mlpost.Point.t
val origin : Mlpost.Point.t
val length : Mlpost.Point.t -> Mlpost.Num.t
val xpart : Mlpost.Point.t -> Mlpost.Num.t
val ypart : Mlpost.Point.t -> Mlpost.Num.t
val transform : Mlpost.Transform.t -> Mlpost.Point.t -> Mlpost.Point.t
val segment :
float -> Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Point.t
val add : Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Point.t
val shift : Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Point.t
val sub : Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Point.t
val mult : Mlpost.Num.t -> Mlpost.Point.t -> Mlpost.Point.t
val scale : Mlpost.Num.t -> Mlpost.Point.t -> Mlpost.Point.t
val rotate : float -> Mlpost.Point.t -> Mlpost.Point.t
val rotate_around :
Mlpost.Point.t -> float -> Mlpost.Point.t -> Mlpost.Point.t
val xscale : Mlpost.Num.t -> Mlpost.Point.t -> Mlpost.Point.t
val yscale : Mlpost.Num.t -> Mlpost.Point.t -> Mlpost.Point.t
val normalize : Mlpost.Point.t -> Mlpost.Point.t
val bpp : float * float -> Mlpost.Point.t
val inp : float * float -> Mlpost.Point.t
val cmp : float * float -> Mlpost.Point.t
val mmp : float * float -> Mlpost.Point.t
val ptp : float * float -> Mlpost.Point.t
val map_bp : (float * float) list -> Mlpost.Point.t list
val map_in : (float * float) list -> Mlpost.Point.t list
val map_cm : (float * float) list -> Mlpost.Point.t list
val map_mm : (float * float) list -> Mlpost.Point.t list
val map_pt : (float * float) list -> Mlpost.Point.t list
val p :
?scale:(float -> Mlpost.Num.t) -> float * float -> Mlpost.Point.t
val ptlist :
?scale:(float -> Mlpost.Num.t) ->
(float * float) list -> Mlpost.Point.t list
val draw :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t -> Mlpost.Point.t -> Mlpost.Command.t
end
and MetaPath :
sig
type direction = Mlpost.Path.direction
val vec : Mlpost.Point.t -> Mlpost.MetaPath.direction
val curl : float -> Mlpost.MetaPath.direction
val noDir : Mlpost.MetaPath.direction
type knot = Mlpost.Path.knot
val knotp :
?l:Mlpost.MetaPath.direction ->
?r:Mlpost.MetaPath.direction ->
Mlpost.Point.t -> Mlpost.MetaPath.knot
val knotlist :
(Mlpost.MetaPath.direction * Mlpost.Point.t *
Mlpost.MetaPath.direction)
list -> Mlpost.MetaPath.knot list
type joint = Mlpost.Path.joint
val jLine : Mlpost.MetaPath.joint
val jCurve : Mlpost.MetaPath.joint
val jCurveNoInflex : Mlpost.MetaPath.joint
val jTension : float -> float -> Mlpost.MetaPath.joint
val jControls :
Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.MetaPath.joint
type t
type path = Mlpost.Path.t
val knot :
?l:Mlpost.MetaPath.direction ->
?r:Mlpost.MetaPath.direction ->
?scale:(float -> Mlpost.Num.t) ->
float * float -> Mlpost.MetaPath.knot
val knotn :
?l:Mlpost.MetaPath.direction ->
?r:Mlpost.MetaPath.direction ->
Mlpost.Num.t * Mlpost.Num.t -> Mlpost.MetaPath.knot
val path :
?style:Mlpost.MetaPath.joint ->
?scale:(float -> Mlpost.Num.t) ->
(float * float) list -> Mlpost.MetaPath.t
val pathn :
?style:Mlpost.MetaPath.joint ->
(Mlpost.Num.t * Mlpost.Num.t) list -> Mlpost.MetaPath.t
val pathk :
?style:Mlpost.MetaPath.joint ->
Mlpost.MetaPath.knot list -> Mlpost.MetaPath.t
val pathp :
?style:Mlpost.MetaPath.joint ->
Mlpost.Point.t list -> Mlpost.MetaPath.t
val jointpathk :
Mlpost.MetaPath.knot list ->
Mlpost.MetaPath.joint list -> Mlpost.MetaPath.t
val jointpathp :
Mlpost.Point.t list ->
Mlpost.MetaPath.joint list -> Mlpost.MetaPath.t
val jointpathn :
(Mlpost.Num.t * Mlpost.Num.t) list ->
Mlpost.MetaPath.joint list -> Mlpost.MetaPath.t
val jointpath :
?scale:(float -> Mlpost.Num.t) ->
(float * float) list ->
Mlpost.MetaPath.joint list -> Mlpost.MetaPath.t
val cycle :
?dir:Mlpost.MetaPath.direction ->
?style:Mlpost.MetaPath.joint ->
Mlpost.MetaPath.t -> Mlpost.MetaPath.path
val concat :
?style:Mlpost.MetaPath.joint ->
Mlpost.MetaPath.t -> Mlpost.MetaPath.knot -> Mlpost.MetaPath.t
val start : Mlpost.MetaPath.knot -> Mlpost.MetaPath.t
val append :
?style:Mlpost.MetaPath.joint ->
Mlpost.MetaPath.t -> Mlpost.MetaPath.t -> Mlpost.MetaPath.t
val defaultjoint : Mlpost.MetaPath.joint
val to_path : Mlpost.MetaPath.t -> Mlpost.MetaPath.path
val of_path : Mlpost.MetaPath.path -> Mlpost.MetaPath.t
end
and Path :
sig
type direction
val vec : Mlpost.Point.t -> Mlpost.Path.direction
val curl : float -> Mlpost.Path.direction
val noDir : Mlpost.Path.direction
type knot
val knotp :
?l:Mlpost.Path.direction ->
?r:Mlpost.Path.direction -> Mlpost.Point.t -> Mlpost.Path.knot
val knotlist :
(Mlpost.Path.direction * Mlpost.Point.t * Mlpost.Path.direction) list ->
Mlpost.Path.knot list
type joint
val jLine : Mlpost.Path.joint
val jCurve : Mlpost.Path.joint
val jCurveNoInflex : Mlpost.Path.joint
val jTension : float -> float -> Mlpost.Path.joint
val jControls : Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Path.joint
type t
val knot :
?l:Mlpost.Path.direction ->
?r:Mlpost.Path.direction ->
?scale:(float -> Mlpost.Num.t) -> float * float -> Mlpost.Path.knot
val knotn :
?l:Mlpost.Path.direction ->
?r:Mlpost.Path.direction ->
Mlpost.Num.t * Mlpost.Num.t -> Mlpost.Path.knot
val path :
?style:Mlpost.Path.joint ->
?cycle:Mlpost.Path.joint ->
?scale:(float -> Mlpost.Num.t) ->
(float * float) list -> Mlpost.Path.t
val pathn :
?style:Mlpost.Path.joint ->
?cycle:Mlpost.Path.joint ->
(Mlpost.Num.t * Mlpost.Num.t) list -> Mlpost.Path.t
val pathk :
?style:Mlpost.Path.joint ->
?cycle:Mlpost.Path.joint -> Mlpost.Path.knot list -> Mlpost.Path.t
val pathp :
?style:Mlpost.Path.joint ->
?cycle:Mlpost.Path.joint -> Mlpost.Point.t list -> Mlpost.Path.t
val jointpathk :
Mlpost.Path.knot list -> Mlpost.Path.joint list -> Mlpost.Path.t
val jointpathp :
Mlpost.Point.t list -> Mlpost.Path.joint list -> Mlpost.Path.t
val jointpathn :
(Mlpost.Num.t * Mlpost.Num.t) list ->
Mlpost.Path.joint list -> Mlpost.Path.t
val jointpath :
?scale:(float -> Mlpost.Num.t) ->
(float * float) list -> Mlpost.Path.joint list -> Mlpost.Path.t
val cycle :
?dir:Mlpost.Path.direction ->
?style:Mlpost.Path.joint -> Mlpost.Path.t -> Mlpost.Path.t
val concat :
?style:Mlpost.Path.joint ->
Mlpost.Path.t -> Mlpost.Path.knot -> Mlpost.Path.t
val start : Mlpost.Path.knot -> Mlpost.Path.t
val append :
?style:Mlpost.Path.joint ->
Mlpost.Path.t -> Mlpost.Path.t -> Mlpost.Path.t
val length : Mlpost.Path.t -> Mlpost.Num.t
val point : float -> Mlpost.Path.t -> Mlpost.Point.t
val pointn : Mlpost.Num.t -> Mlpost.Path.t -> Mlpost.Point.t
val direction : float -> Mlpost.Path.t -> Mlpost.Point.t
val directionn : Mlpost.Num.t -> Mlpost.Path.t -> Mlpost.Point.t
val subpath : float -> float -> Mlpost.Path.t -> Mlpost.Path.t
val subpathn :
Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Path.t -> Mlpost.Path.t
val transform : Mlpost.Transform.t -> Mlpost.Path.t -> Mlpost.Path.t
val scale : Mlpost.Num.t -> Mlpost.Path.t -> Mlpost.Path.t
val rotate : float -> Mlpost.Path.t -> Mlpost.Path.t
val shift : Mlpost.Point.t -> Mlpost.Path.t -> Mlpost.Path.t
val yscale : Mlpost.Num.t -> Mlpost.Path.t -> Mlpost.Path.t
val xscale : Mlpost.Num.t -> Mlpost.Path.t -> Mlpost.Path.t
val cut_after : Mlpost.Path.t -> Mlpost.Path.t -> Mlpost.Path.t
val cut_before : Mlpost.Path.t -> Mlpost.Path.t -> Mlpost.Path.t
val strip : Mlpost.Num.t -> Mlpost.Path.t -> Mlpost.Path.t
val build_cycle : Mlpost.Path.t list -> Mlpost.Path.t
val defaultjoint : Mlpost.Path.joint
val fullcircle : Mlpost.Path.t
val halfcircle : Mlpost.Path.t
val quartercircle : Mlpost.Path.t
val unitsquare : Mlpost.Path.t
type metapath = Mlpost.MetaPath.t
val of_metapath : Mlpost.Path.metapath -> Mlpost.Path.t
val to_metapath : Mlpost.Path.t -> Mlpost.Path.metapath
type orientation =
Up
| Down
| Left
| Right
| Upn of Mlpost.Num.t
| Downn of Mlpost.Num.t
| Leftn of Mlpost.Num.t
| Rightn of Mlpost.Num.t
val smart_path :
?style:Mlpost.Path.joint ->
Mlpost.Path.orientation list ->
Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Path.t
val draw :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t -> Mlpost.Path.t -> Mlpost.Command.t
end
and Pen :
sig
type t
val transform : Mlpost.Transform.t -> Mlpost.Pen.t -> Mlpost.Pen.t
val default : Mlpost.Pen.t
val circle : Mlpost.Pen.t
val square : Mlpost.Pen.t
val from_path : Mlpost.Path.t -> Mlpost.Pen.t
val scale : Mlpost.Num.t -> Mlpost.Pen.t -> Mlpost.Pen.t
val rotate : float -> Mlpost.Pen.t -> Mlpost.Pen.t
val shift : Mlpost.Point.t -> Mlpost.Pen.t -> Mlpost.Pen.t
val yscale : Mlpost.Num.t -> Mlpost.Pen.t -> Mlpost.Pen.t
val xscale : Mlpost.Num.t -> Mlpost.Pen.t -> Mlpost.Pen.t
end
and Dash :
sig
type t
val evenly : Mlpost.Dash.t
val withdots : Mlpost.Dash.t
val scaled : float -> Mlpost.Dash.t -> Mlpost.Dash.t
val shifted : Mlpost.Point.t -> Mlpost.Dash.t -> Mlpost.Dash.t
type on_off
val on : Mlpost.Num.t -> Mlpost.Dash.on_off
val off : Mlpost.Num.t -> Mlpost.Dash.on_off
val pattern : Mlpost.Dash.on_off list -> Mlpost.Dash.t
end
and Color :
sig
type t
val default : Mlpost.Color.t
val rgb : float -> float -> float -> Mlpost.Color.t
val rgb8 : int -> int -> int -> Mlpost.Color.t
val cmyk : float -> float -> float -> float -> Mlpost.Color.t
val rgba : float -> float -> float -> float -> Mlpost.Color.t
val rgb8a : int -> int -> int -> int -> Mlpost.Color.t
val cmyka : float -> float -> float -> float -> float -> Mlpost.Color.t
val is_opaque : Mlpost.Color.t -> bool
val opaque : Mlpost.Color.t -> Mlpost.Color.t
val transparent : float -> Mlpost.Color.t -> Mlpost.Color.t
val white : Mlpost.Color.t
val black : Mlpost.Color.t
val red : Mlpost.Color.t
val blue : Mlpost.Color.t
val green : Mlpost.Color.t
val cyan : Mlpost.Color.t
val yellow : Mlpost.Color.t
val magenta : Mlpost.Color.t
val lightred : Mlpost.Color.t
val lightblue : Mlpost.Color.t
val lightgreen : Mlpost.Color.t
val lightcyan : Mlpost.Color.t
val lightyellow : Mlpost.Color.t
val lightmagenta : Mlpost.Color.t
val gray : float -> Mlpost.Color.t
val lightgray : Mlpost.Color.t
val mediumgray : Mlpost.Color.t
val darkgray : Mlpost.Color.t
val orange : Mlpost.Color.t
val purple : Mlpost.Color.t
val color : string -> Mlpost.Color.t
end
and Transform :
sig
type t'
val scaled : Mlpost.Num.t -> Mlpost.Transform.t'
val rotated : float -> Mlpost.Transform.t'
val shifted : Mlpost.Point.t -> Mlpost.Transform.t'
val slanted : Mlpost.Num.t -> Mlpost.Transform.t'
val xscaled : Mlpost.Num.t -> Mlpost.Transform.t'
val yscaled : Mlpost.Num.t -> Mlpost.Transform.t'
val zscaled : Mlpost.Point.t -> Mlpost.Transform.t'
val reflect : Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Transform.t'
val rotate_around : Mlpost.Point.t -> float -> Mlpost.Transform.t'
type t = Mlpost.Transform.t' list
val id : Mlpost.Transform.t
end
and Picture :
sig
type t = Mlpost.Command.t
val make : Mlpost.Command.t -> Mlpost.Picture.t
val tex : string -> Mlpost.Picture.t
val transform :
Mlpost.Transform.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val bbox : Mlpost.Picture.t -> Mlpost.Path.t
val corner_bbox :
?dx:Mlpost.Num.t ->
?dy:Mlpost.Num.t -> Mlpost.Picture.t -> Mlpost.Path.t
val center : Mlpost.Point.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val place_up_left :
Mlpost.Point.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val place_up_right :
Mlpost.Point.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val place_bot_left :
Mlpost.Point.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val place_bot_right :
Mlpost.Point.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val beside : Mlpost.Picture.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val below : Mlpost.Picture.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val ctr : Mlpost.Picture.t -> Mlpost.Point.t
val north : Mlpost.Picture.t -> Mlpost.Point.t
val south : Mlpost.Picture.t -> Mlpost.Point.t
val west : Mlpost.Picture.t -> Mlpost.Point.t
val east : Mlpost.Picture.t -> Mlpost.Point.t
val north_west : Mlpost.Picture.t -> Mlpost.Point.t
val south_west : Mlpost.Picture.t -> Mlpost.Point.t
val north_east : Mlpost.Picture.t -> Mlpost.Point.t
val south_east : Mlpost.Picture.t -> Mlpost.Point.t
val corner :
Mlpost.Command.position -> Mlpost.Picture.t -> Mlpost.Point.t
val ulcorner : Mlpost.Picture.t -> Mlpost.Point.t
val llcorner : Mlpost.Picture.t -> Mlpost.Point.t
val urcorner : Mlpost.Picture.t -> Mlpost.Point.t
val lrcorner : Mlpost.Picture.t -> Mlpost.Point.t
val clip : Mlpost.Picture.t -> Mlpost.Path.t -> Mlpost.Picture.t
val width : Mlpost.Picture.t -> Mlpost.Num.t
val height : Mlpost.Picture.t -> Mlpost.Num.t
val scale : Mlpost.Num.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val rotate : float -> Mlpost.Picture.t -> Mlpost.Picture.t
val shift : Mlpost.Point.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val yscale : Mlpost.Num.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val xscale : Mlpost.Num.t -> Mlpost.Picture.t -> Mlpost.Picture.t
val spin : float -> Mlpost.Picture.t -> Mlpost.Picture.t
type escaped = [ `Backslash | `Underscore ]
val escape_latex : Mlpost.Picture.escaped list -> string -> string
val escape_all : string -> string
end
and Command :
sig
type t
val draw :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t -> Mlpost.Path.t -> Mlpost.Command.t
val fill : ?color:Mlpost.Color.t -> Mlpost.Path.t -> Mlpost.Command.t
val draw_pic : Mlpost.Picture.t -> Mlpost.Command.t
val externalimage :
string ->
[ `Exact of Mlpost.Num.t * Mlpost.Num.t
| `Height of Mlpost.Num.t
| `Inside of Mlpost.Num.t * Mlpost.Num.t
| `None
| `Width of Mlpost.Num.t ] -> Mlpost.Command.t
val nop : Mlpost.Command.t
val append : Mlpost.Command.t -> Mlpost.Command.t -> Mlpost.Command.t
val ( ++ ) : Mlpost.Command.t -> Mlpost.Command.t -> Mlpost.Command.t
val seq : Mlpost.Command.t list -> Mlpost.Command.t
val iter : int -> int -> (int -> Mlpost.Command.t) -> Mlpost.Command.t
val iterl : ('a -> Mlpost.Command.t) -> 'a list -> Mlpost.Command.t
type hposition = [ `Center | `East | `Left | `Right | `West ]
type vposition = [ `Bot | `Bottom | `Center | `North | `South | `Top ]
type position =
[ `Bot
| `Bottom
| `Bottomleft
| `Bottomright
| `Center
| `East
| `Left
| `Lowerleft
| `Lowerright
| `Lowleft
| `Lowright
| `North
| `Northeast
| `Northwest
| `Right
| `South
| `Southeast
| `Southwest
| `Top
| `Topleft
| `Topright
| `Upleft
| `Upperleft
| `Upperright
| `Upright
| `West ]
val label :
?pos:Mlpost.Command.position ->
Mlpost.Picture.t -> Mlpost.Point.t -> Mlpost.Command.t
val dotlabel :
?pos:Mlpost.Command.position ->
Mlpost.Picture.t -> Mlpost.Point.t -> Mlpost.Command.t
end
module rec Shapes :
sig
val round_rect :
Mlpost.Num.t ->
Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Path.t
val rectangle : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Path.t
val ellipse : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Path.t
val circle : Mlpost.Num.t -> Mlpost.Path.t
val patatoid : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Path.t
val patatoid2 : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Path.t
end
and Box :
sig
type t
type style =
Rect
| Circle
| RoundRect
| Patatoid
| Patatoid2
| Ellipse
| RoundBox
| Custom of
(Mlpost.Num.t ->
Mlpost.Num.t -> Mlpost.Num.t * Mlpost.Num.t * Mlpost.Path.t)
type 'a box_creator =
?dx:Mlpost.Num.t ->
?dy:Mlpost.Num.t ->
?name:string ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t -> ?fill:Mlpost.Color.t -> 'a -> Mlpost.Box.t
val empty :
?width:Mlpost.Num.t ->
?height:Mlpost.Num.t ->
?style:Mlpost.Box.style ->
?name:string ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t -> ?fill:Mlpost.Color.t -> unit -> Mlpost.Box.t
val empty_from_box :
?style:Mlpost.Box.style ->
?name:string ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t ->
?fill:Mlpost.Color.t -> Mlpost.Box.t -> Mlpost.Box.t
val pic :
?style:Mlpost.Box.style -> Mlpost.Picture.t Mlpost.Box.box_creator
val path :
?style:Mlpost.Box.style -> Mlpost.Path.t Mlpost.Box.box_creator
val tex : ?style:Mlpost.Box.style -> string Mlpost.Box.box_creator
val box :
?style:Mlpost.Box.style -> Mlpost.Box.t Mlpost.Box.box_creator
val circle : Mlpost.Box.t Mlpost.Box.box_creator
val ellipse : Mlpost.Box.t Mlpost.Box.box_creator
val rect : Mlpost.Box.t Mlpost.Box.box_creator
val round_rect : Mlpost.Box.t Mlpost.Box.box_creator
val patatoid : Mlpost.Box.t Mlpost.Box.box_creator
val patatoid2 : Mlpost.Box.t Mlpost.Box.box_creator
val round_box : Mlpost.Box.t Mlpost.Box.box_creator
val bpath : Mlpost.Box.t -> Mlpost.Path.t
val ctr : Mlpost.Box.t -> Mlpost.Point.t
val north : Mlpost.Box.t -> Mlpost.Point.t
val south : Mlpost.Box.t -> Mlpost.Point.t
val west : Mlpost.Box.t -> Mlpost.Point.t
val east : Mlpost.Box.t -> Mlpost.Point.t
val north_west : Mlpost.Box.t -> Mlpost.Point.t
val south_west : Mlpost.Box.t -> Mlpost.Point.t
val north_east : Mlpost.Box.t -> Mlpost.Point.t
val south_east : Mlpost.Box.t -> Mlpost.Point.t
type vposition =
[ `Bot
| `Bottom
| `Center
| `Custom of Mlpost.Box.t -> Mlpost.Num.t
| `North
| `South
| `Top ]
type hposition =
[ `Center
| `Custom of Mlpost.Box.t -> Mlpost.Num.t
| `East
| `Left
| `Right
| `West ]
type position =
[ `Bot
| `Bottom
| `Bottomleft
| `Bottomright
| `Center
| `Custom of Mlpost.Box.t -> Mlpost.Point.t
| `East
| `Left
| `Lowerleft
| `Lowerright
| `Lowleft
| `Lowright
| `North
| `Northeast
| `Northwest
| `Right
| `South
| `Southeast
| `Southwest
| `Top
| `Topleft
| `Topright
| `Upleft
| `Upperleft
| `Upperright
| `Upright
| `West ]
val corner : Mlpost.Box.position -> Mlpost.Box.t -> Mlpost.Point.t
val opposite_position : Mlpost.Box.position -> Mlpost.Box.position
val height : Mlpost.Box.t -> Mlpost.Num.t
val width : Mlpost.Box.t -> Mlpost.Num.t
val shift : Point.t -> t -> t
val center : Mlpost.Point.t -> Mlpost.Box.t -> Mlpost.Box.t
val draw : ?debug:bool -> Mlpost.Box.t -> Mlpost.Command.t
val group :
?style:Mlpost.Box.style -> Mlpost.Box.t list Mlpost.Box.box_creator
val halign :
?pos:Mlpost.Box.vposition ->
Mlpost.Num.t -> Mlpost.Box.t list -> Mlpost.Box.t list
val valign :
?pos:Mlpost.Box.hposition ->
Mlpost.Num.t -> Mlpost.Box.t list -> Mlpost.Box.t list
val hbox :
?padding:Mlpost.Num.t ->
?pos:Mlpost.Box.position ->
?style:Mlpost.Box.style ->
?min_width:Mlpost.Num.t ->
?same_width:bool -> Mlpost.Box.t list Mlpost.Box.box_creator
val hbox_list :
?padding:Mlpost.Num.t ->
?pos:Mlpost.Box.position ->
?min_width:Mlpost.Num.t ->
?same_width:bool -> Mlpost.Box.t list -> Mlpost.Box.t list
val vbox :
?padding:Mlpost.Num.t ->
?pos:Mlpost.Box.position ->
?style:Mlpost.Box.style ->
?min_height:Mlpost.Num.t ->
?same_height:bool -> Mlpost.Box.t list Mlpost.Box.box_creator
val vbox_list :
?padding:Mlpost.Num.t ->
?pos:Mlpost.Box.position ->
?min_height:Mlpost.Num.t ->
?same_height:bool -> Mlpost.Box.t list -> Mlpost.Box.t list
val tabular :
?hpadding:Mlpost.Num.t ->
?vpadding:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
?style:Mlpost.Box.style ->
?name:string ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t ->
?fill:Mlpost.Color.t -> Mlpost.Box.t array array -> Mlpost.Box.t
val tabularl :
?hpadding:Mlpost.Num.t ->
?vpadding:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
?style:Mlpost.Box.style ->
?name:string ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t ->
?fill:Mlpost.Color.t -> Mlpost.Box.t list list -> Mlpost.Box.t
val tabulari :
?hpadding:Mlpost.Num.t ->
?vpadding:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
?style:Mlpost.Box.style ->
?name:string ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t ->
?fill:Mlpost.Color.t ->
int -> int -> (int -> int -> Mlpost.Box.t) -> Mlpost.Box.t
val hplace :
?padding:Mlpost.Num.t ->
?pos:Mlpost.Box.position ->
?min_width:Mlpost.Num.t ->
?same_width:bool -> Mlpost.Box.t list -> Mlpost.Box.t list
val vplace :
?padding:Mlpost.Num.t ->
?pos:Mlpost.Box.position ->
?min_height:Mlpost.Num.t ->
?same_height:bool -> Mlpost.Box.t list -> Mlpost.Box.t list
val hblock :
?padding:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
?name:string ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t ->
?min_width:Mlpost.Num.t ->
?same_width:bool -> Mlpost.Box.t list -> Mlpost.Box.t
val vblock :
?padding:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
?name:string ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t ->
?min_height:Mlpost.Num.t ->
?same_height:bool -> Mlpost.Box.t list -> Mlpost.Box.t
val grid :
?hpadding:Mlpost.Num.t ->
?vpadding:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t -> Mlpost.Box.t array array -> Mlpost.Box.t
val gridl :
?hpadding:Mlpost.Num.t ->
?vpadding:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t -> Mlpost.Box.t list list -> Mlpost.Box.t
val gridi :
?hpadding:Mlpost.Num.t ->
?vpadding:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
?stroke:Mlpost.Color.t option ->
?pen:Mlpost.Pen.t ->
int -> int -> (int -> int -> Mlpost.Box.t) -> Mlpost.Box.t
val place :
Mlpost.Box.position ->
?pos:Mlpost.Box.position ->
?padding:Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Box.t
val nth : int -> Mlpost.Box.t -> Mlpost.Box.t
val get : string -> Mlpost.Box.t -> Mlpost.Box.t
val sub : Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Box.t
val elts : Mlpost.Box.t -> Mlpost.Box.t array
val setp : string -> Mlpost.Point.t -> Mlpost.Box.t -> Mlpost.Box.t
val getp : string -> Mlpost.Box.t -> Mlpost.Point.t
val getpx : string -> Mlpost.Box.t -> Mlpost.Num.t
val getpy : string -> Mlpost.Box.t -> Mlpost.Num.t
val get_fill : Mlpost.Box.t -> Mlpost.Color.t option
val set_fill : Mlpost.Color.t -> Mlpost.Box.t -> Mlpost.Box.t
val get_stroke : Mlpost.Box.t -> Mlpost.Color.t option
val set_stroke : Mlpost.Color.t -> Mlpost.Box.t -> Mlpost.Box.t
val clear_stroke : Mlpost.Box.t -> Mlpost.Box.t
val get_name : Mlpost.Box.t -> string option
val set_name : string -> Mlpost.Box.t -> Mlpost.Box.t
val get_pen : Mlpost.Box.t -> Mlpost.Pen.t option
val set_pen : Mlpost.Pen.t -> Mlpost.Box.t -> Mlpost.Box.t
val set_height :
Mlpost.Command.vposition ->
Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t
val set_width :
Mlpost.Command.hposition ->
Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t
val set_height2 :
Mlpost.Box.vposition ->
Mlpost.Num.t ->
Mlpost.Box.vposition -> Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t
val set_width2 :
Mlpost.Box.hposition ->
Mlpost.Num.t ->
Mlpost.Box.hposition -> Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t
val set_size :
Mlpost.Command.position ->
width:Mlpost.Num.t ->
height:Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t
val same_height :
?pos:Mlpost.Box.vposition -> Mlpost.Box.t list -> Mlpost.Box.t list
val same_width :
?pos:Mlpost.Box.hposition -> Mlpost.Box.t list -> Mlpost.Box.t list
val same_size :
?pos:Mlpost.Box.position -> Mlpost.Box.t list -> Mlpost.Box.t list
val set_post_draw :
(Mlpost.Box.t -> Mlpost.Command.t) -> Mlpost.Box.t -> Mlpost.Box.t
val clear_post_draw : Mlpost.Box.t -> Mlpost.Box.t
val set_pre_draw :
(Mlpost.Box.t -> Mlpost.Command.t) -> Mlpost.Box.t -> Mlpost.Box.t
val clear_pre_draw : Mlpost.Box.t -> Mlpost.Box.t
val shadow : Mlpost.Box.t -> Mlpost.Box.t
val cpath :
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?sep:Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Path.t
val cpath_left :
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
Mlpost.Box.t -> Mlpost.Point.t -> Mlpost.Path.t
val cpath_right :
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
Mlpost.Point.t -> Mlpost.Box.t -> Mlpost.Path.t
val transform : Mlpost.Transform.t -> Mlpost.Box.t -> Mlpost.Box.t
val scale : Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t
val rotate : float -> Mlpost.Box.t -> Mlpost.Box.t
val shift : Mlpost.Point.t -> Mlpost.Box.t -> Mlpost.Box.t
val yscale : Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t
val xscale : Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t
end
module Arrow :
sig
type kind
val simple :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t -> Mlpost.Path.t -> Mlpost.Command.t
val draw :
?kind:Mlpost.Arrow.kind ->
?tex:string ->
?pos:float ->
?anchor:Mlpost.Command.position -> Mlpost.Path.t -> Mlpost.Command.t
val point_to_point :
?kind:Mlpost.Arrow.kind ->
?tex:string ->
?pos:float ->
?anchor:Mlpost.Command.position ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Command.t
val box_to_box :
?kind:Mlpost.Arrow.kind ->
?tex:string ->
?pos:float ->
?anchor:Mlpost.Command.position ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Command.t
val point_to_box :
?kind:Mlpost.Arrow.kind ->
?tex:string ->
?pos:float ->
?anchor:Mlpost.Command.position ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
Mlpost.Point.t -> Mlpost.Box.t -> Mlpost.Command.t
val box_to_point :
?kind:Mlpost.Arrow.kind ->
?tex:string ->
?pos:float ->
?anchor:Mlpost.Command.position ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
Mlpost.Box.t -> Mlpost.Point.t -> Mlpost.Command.t
val classic : Mlpost.Arrow.kind
val triangle : Mlpost.Arrow.kind
val triangle_full : Mlpost.Arrow.kind
val implies : Mlpost.Arrow.kind
val iff : Mlpost.Arrow.kind
type head_description
val make_head :
?cut:Mlpost.Path.t ->
Mlpost.Command.t -> Mlpost.Arrow.head_description
type head =
Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Arrow.head_description
val head_classic :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?angle:float -> ?size:Mlpost.Num.t -> Mlpost.Arrow.head
val head_triangle :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?angle:float -> ?size:Mlpost.Num.t -> Mlpost.Arrow.head
val head_triangle_full :
?color:Mlpost.Color.t ->
?angle:float -> ?size:Mlpost.Num.t -> Mlpost.Arrow.head
val empty : Mlpost.Arrow.kind
val add_line :
?dashed:Mlpost.Dash.t ->
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?from_point:float ->
?to_point:float ->
?dist:Mlpost.Num.t -> Mlpost.Arrow.kind -> Mlpost.Arrow.kind
val add_head :
?head:Mlpost.Arrow.head -> Mlpost.Arrow.kind -> Mlpost.Arrow.kind
val add_foot :
?head:Mlpost.Arrow.head -> Mlpost.Arrow.kind -> Mlpost.Arrow.kind
val add_belt :
?clip:bool ->
?rev:bool ->
?point:float ->
?head:Mlpost.Arrow.head -> Mlpost.Arrow.kind -> Mlpost.Arrow.kind
val draw_thick :
?style:Mlpost.Path.joint ->
?boxed:bool ->
?line_color:Mlpost.Color.t ->
?fill_color:Mlpost.Color.t ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?width:Mlpost.Num.t ->
?head_length:Mlpost.Num.t ->
?head_width:Mlpost.Num.t ->
Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Command.t
end
module Helpers :
sig
val dotlabels :
?pos:Mlpost.Command.position ->
string list -> Mlpost.Point.t list -> Mlpost.Command.t
val draw_simple_arrow :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Command.t
val draw_label_arrow :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?pos:Mlpost.Command.position ->
Mlpost.Picture.t ->
Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Command.t
val draw_labelbox_arrow :
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?pos:Mlpost.Command.position ->
Mlpost.Box.t -> Mlpost.Point.t -> Mlpost.Point.t -> Mlpost.Command.t
val box_arrow :
?within:Mlpost.Box.t ->
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?sep:Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Command.t
val box_line :
?within:Mlpost.Box.t ->
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?sep:Mlpost.Num.t -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Command.t
val box_label_arrow :
?within:Mlpost.Box.t ->
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?sep:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
Mlpost.Picture.t -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Command.t
val box_label_line :
?within:Mlpost.Box.t ->
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?sep:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
Mlpost.Picture.t -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Command.t
val box_labelbox_arrow :
?within:Mlpost.Box.t ->
?color:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?dashed:Mlpost.Dash.t ->
?style:Mlpost.Path.joint ->
?outd:Mlpost.Path.direction ->
?ind:Mlpost.Path.direction ->
?sep:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Box.t -> Mlpost.Command.t
end
module Tree :
sig
type t
type arrow_style = Directed | Undirected
type edge_style = Straight | Curve | Square | HalfSquare
val leaf : Mlpost.Box.t -> Mlpost.Tree.t
val node :
?ls:Mlpost.Num.t ->
?cs:Mlpost.Num.t ->
?arrow_style:Mlpost.Tree.arrow_style ->
?edge_style:Mlpost.Tree.edge_style ->
?stroke:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?sep:Mlpost.Num.t ->
Mlpost.Box.t -> Mlpost.Tree.t list -> Mlpost.Tree.t
val nodel :
?ls:Mlpost.Num.t ->
?cs:Mlpost.Num.t ->
?arrow_style:Mlpost.Tree.arrow_style ->
?edge_style:Mlpost.Tree.edge_style ->
?stroke:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?sep:Mlpost.Num.t ->
Mlpost.Box.t ->
(Mlpost.Tree.t * (Mlpost.Command.position * Mlpost.Picture.t)) list ->
Mlpost.Tree.t
val bin :
?ls:Mlpost.Num.t ->
?cs:Mlpost.Num.t ->
?arrow_style:Mlpost.Tree.arrow_style ->
?edge_style:Mlpost.Tree.edge_style ->
?stroke:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?sep:Mlpost.Num.t ->
Mlpost.Box.t -> Mlpost.Tree.t -> Mlpost.Tree.t -> Mlpost.Tree.t
val to_box : Mlpost.Tree.t -> Mlpost.Box.t
val draw : ?debug:bool -> Mlpost.Tree.t -> Mlpost.Command.t
module Simple :
sig
type t
val leaf : Mlpost.Box.t -> Mlpost.Tree.Simple.t
val node :
?ls:Mlpost.Num.t ->
?cs:Mlpost.Num.t ->
?arrow_style:Mlpost.Tree.arrow_style ->
?edge_style:Mlpost.Tree.edge_style ->
?stroke:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?sep:Mlpost.Num.t ->
?valign:Mlpost.Command.position ->
?halign:Mlpost.Command.position ->
Mlpost.Box.t -> Mlpost.Tree.Simple.t list -> Mlpost.Tree.Simple.t
val bin :
?ls:Mlpost.Num.t ->
?cs:Mlpost.Num.t ->
?arrow_style:Mlpost.Tree.arrow_style ->
?edge_style:Mlpost.Tree.edge_style ->
?stroke:Mlpost.Color.t ->
?pen:Mlpost.Pen.t ->
?sep:Mlpost.Num.t ->
Mlpost.Box.t ->
Mlpost.Tree.Simple.t ->
Mlpost.Tree.Simple.t -> Mlpost.Tree.Simple.t
val to_box : Mlpost.Tree.Simple.t -> Mlpost.Box.t
val draw : ?debug:bool -> Mlpost.Tree.Simple.t -> Mlpost.Command.t
end
end
module Diag :
sig
type node
type node_style = Mlpost.Box.t -> Mlpost.Box.t
val node :
?style:Mlpost.Diag.node_style ->
?fill:Mlpost.Color.t ->
?boxed:bool -> float -> float -> Mlpost.Box.t -> Mlpost.Diag.node
type t
val create : Mlpost.Diag.node list -> Mlpost.Diag.t
type dir = Up | Down | Left | Right | Angle of float
val arrow :
Mlpost.Diag.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.Dash.t ->
?outd:Mlpost.Diag.dir ->
?ind:Mlpost.Diag.dir -> Mlpost.Diag.node -> Mlpost.Diag.node -> unit
val draw :
?scale:(float -> Mlpost.Num.t) ->
?style:Mlpost.Diag.node_style ->
?boxed:bool ->
?fill:Mlpost.Color.t ->
?stroke:Mlpost.Color.t ->
?pen:Mlpost.Pen.t -> Mlpost.Diag.t -> Mlpost.Command.t
end
module Plot :
sig
type skeleton
val mk_skeleton :
int -> int -> Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Plot.skeleton
type labels = int -> Mlpost.Num.t -> Mlpost.Picture.t option
type ticks = (Mlpost.Num.t * Mlpost.Pen.t) option
type drawing = Stepwise | Normal
val draw_grid :
?hdash:(int -> Mlpost.Dash.t) ->
?vdash:(int -> Mlpost.Dash.t) ->
?hpen:(int -> Mlpost.Pen.t) ->
?vpen:(int -> Mlpost.Pen.t) ->
?color:Mlpost.Color.t -> Mlpost.Plot.skeleton -> Mlpost.Command.t
val draw_axes :
?hpen:Mlpost.Pen.t ->
?vpen:Mlpost.Pen.t ->
?hlabel:Mlpost.Plot.labels ->
?vlabel:Mlpost.Plot.labels ->
?ticks:Mlpost.Plot.ticks ->
?closed:bool ->
?hcaption:Mlpost.Picture.t ->
?vcaption:Mlpost.Picture.t ->
Mlpost.Plot.skeleton -> Mlpost.Command.t
val draw_simple_axes :
?hpen:Mlpost.Pen.t ->
?vpen:Mlpost.Pen.t ->
string -> string -> Mlpost.Plot.skeleton -> Mlpost.Command.t
val draw_func :
?pen:Mlpost.Pen.t ->
?drawing:Mlpost.Plot.drawing ->
?style:Mlpost.Path.joint ->
?dashed:Mlpost.Dash.t ->
?color:Mlpost.Color.t ->
?label:Mlpost.Picture.t * Mlpost.Command.position * int ->
?from_x:int ->
?to_x:int ->
(int -> float) -> Mlpost.Plot.skeleton -> Mlpost.Command.t
end
module Hist :
sig
type 'a labels = Values | User of 'a list
val simple :
?width:Mlpost.Num.t ->
?height:Mlpost.Num.t ->
?padding:Mlpost.Num.t ->
?fill:Mlpost.Color.t list ->
?perspective:bool ->
?hcaption:Mlpost.Picture.t ->
?vcaption:Mlpost.Picture.t ->
?histlabel:Mlpost.Command.vposition *
Mlpost.Picture.t Mlpost.Hist.labels ->
?vlabel:Mlpost.Plot.labels ->
?hlabel:Mlpost.Picture.t list -> float list -> Mlpost.Command.t
val compare :
?width:Mlpost.Num.t ->
?height:Mlpost.Num.t ->
?padding:Mlpost.Num.t ->
?fill:Mlpost.Color.t list ->
?perspective:bool ->
?hcaption:Mlpost.Picture.t ->
?vcaption:Mlpost.Picture.t ->
?histlabel:Mlpost.Command.vposition *
Mlpost.Picture.t list Mlpost.Hist.labels ->
?vlabel:Mlpost.Plot.labels ->
?hlabel:Mlpost.Picture.t list -> float list list -> Mlpost.Command.t
val stack :
?width:Mlpost.Num.t ->
?height:Mlpost.Num.t ->
?padding:Mlpost.Num.t ->
?fill:Mlpost.Color.t list ->
?perspective:bool ->
?hcaption:Mlpost.Picture.t ->
?vcaption:Mlpost.Picture.t ->
?histlabel:Mlpost.Command.vposition *
Mlpost.Picture.t list Mlpost.Hist.labels ->
?vlabel:Mlpost.Plot.labels ->
?hlabel:Mlpost.Picture.t list -> float list list -> Mlpost.Command.t
end
module Radar :
sig
val stack :
?radius:Mlpost.Num.t ->
?color:Mlpost.Color.t list ->
?pen:Mlpost.Pen.t ->
?style:Mlpost.Dash.t list ->
?ticks:float ->
?label:string list ->
?scale:float list -> float list list -> Mlpost.Picture.t
val compare :
?radius:Mlpost.Num.t ->
?color:Mlpost.Color.t list ->
?fill:bool ->
?pen:Mlpost.Pen.t ->
?style:Mlpost.Dash.t list ->
?ticks:float ->
?label:string list ->
?scale:float list -> float list list -> Mlpost.Picture.t list
end
module Legend :
sig
val legend :
?ensstroke:Mlpost.Color.t ->
?colstroke:Mlpost.Color.t ->
?fill:Mlpost.Color.t ->
(Mlpost.Color.t * string) list -> Mlpost.Picture.t
end
module Misc :
sig
val write_to_file : string -> (Pervasives.out_channel -> 'a) -> unit
val write_to_formatted_file :
string -> (Format.formatter -> 'a) -> unit
val print_option :
string ->
(Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a option -> unit
val print_list :
('a -> unit -> 'b) -> ('a -> 'c -> unit) -> 'a -> 'c list -> unit
val space : Format.formatter -> unit -> unit
val comma : Format.formatter -> unit -> unit
val fold_from_to : ('a -> int -> 'a) -> 'a -> int -> int -> 'a
end
module Metapost :
sig
val generate_mp :
string ->
?prelude:string -> ?eps:bool -> (int * Mlpost.Command.t) list -> unit
val generate :
string ->
?prelude:string ->
?pdf:bool ->
?eps:bool ->
?verbose:bool -> ?clean:bool -> (int * Mlpost.Command.t) list -> unit
val emit : string -> Mlpost.Command.t -> unit
val dump :
?prelude:string ->
?pdf:bool ->
?eps:bool -> ?verbose:bool -> ?clean:bool -> string -> unit
val read_prelude_from_tex_file : string -> string
val dump_tex : ?prelude:string -> string -> unit
val slideshow :
Mlpost.Command.t list -> int -> (int * Mlpost.Command.t) list
val emit_slideshow : string -> Mlpost.Command.t list -> unit
val dumpable : unit -> unit
val depend : string -> unit
end
module Generate :
sig
val generate_tex :
?pdf:bool -> string -> string -> string -> (int * 'a) list -> unit
val generate_tex_cairo :
string -> string -> string -> string -> (int * 'a) list -> unit
end
module Concrete :
sig
val supported : bool
module CPoint :
sig
type t = { x : float; y : float; }
val add :
Mlpost.Concrete.CPoint.t ->
Mlpost.Concrete.CPoint.t -> Mlpost.Concrete.CPoint.t
val sub :
Mlpost.Concrete.CPoint.t ->
Mlpost.Concrete.CPoint.t -> Mlpost.Concrete.CPoint.t
val opp : Mlpost.Concrete.CPoint.t -> Mlpost.Concrete.CPoint.t
val mult :
float -> Mlpost.Concrete.CPoint.t -> Mlpost.Concrete.CPoint.t
val div :
Mlpost.Concrete.CPoint.t -> float -> Mlpost.Concrete.CPoint.t
module Infix :
sig
val ( +/ ) :
Mlpost.Concrete.CPoint.t ->
Mlpost.Concrete.CPoint.t -> Mlpost.Concrete.CPoint.t
val ( -/ ) :
Mlpost.Concrete.CPoint.t ->
Mlpost.Concrete.CPoint.t -> Mlpost.Concrete.CPoint.t
val ( */ ) :
float -> Mlpost.Concrete.CPoint.t -> Mlpost.Concrete.CPoint.t
val ( // ) :
Mlpost.Concrete.CPoint.t -> float -> Mlpost.Concrete.CPoint.t
end
val print : Format.formatter -> Mlpost.Concrete.CPoint.t -> unit
end
module CPath :
sig
type t
type abscissa = float
type point = Mlpost.Concrete.CPoint.t
val length : Mlpost.Concrete.CPath.t -> float
val is_closed : Mlpost.Concrete.CPath.t -> bool
val is_a_point :
Mlpost.Concrete.CPath.t -> Mlpost.Concrete.CPath.point option
val intersection :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.t ->
(Mlpost.Concrete.CPath.abscissa * Mlpost.Concrete.CPath.abscissa)
list
val one_intersection :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.abscissa * Mlpost.Concrete.CPath.abscissa
val reverse : Mlpost.Concrete.CPath.t -> Mlpost.Concrete.CPath.t
val iter :
(Mlpost.Concrete.CPath.point ->
Mlpost.Concrete.CPath.point ->
Mlpost.Concrete.CPath.point ->
Mlpost.Concrete.CPath.point -> unit) ->
Mlpost.Concrete.CPath.t -> unit
val fold_left :
('a ->
Mlpost.Concrete.CPath.point ->
Mlpost.Concrete.CPath.point ->
Mlpost.Concrete.CPath.point -> Mlpost.Concrete.CPath.point -> 'a) ->
'a -> Mlpost.Concrete.CPath.t -> 'a
val cut_before :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.t -> Mlpost.Concrete.CPath.t
val cut_after :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.t -> Mlpost.Concrete.CPath.t
val split :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.abscissa ->
Mlpost.Concrete.CPath.t * Mlpost.Concrete.CPath.t
val subpath :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.abscissa ->
Mlpost.Concrete.CPath.abscissa -> Mlpost.Concrete.CPath.t
val direction_of_abscissa :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.abscissa -> Mlpost.Concrete.CPath.point
val point_of_abscissa :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.abscissa -> Mlpost.Concrete.CPath.point
val bounding_box :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.point * Mlpost.Concrete.CPath.point
val dist_min_point :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.point -> Mlpost.Concrete.CPath.abscissa
val dist_min_path :
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.t ->
Mlpost.Concrete.CPath.abscissa * Mlpost.Concrete.CPath.abscissa
val print : Format.formatter -> Mlpost.Concrete.CPath.t -> unit
end
val float_of_num : Mlpost.Num.t -> float
val cpoint_of_point : Mlpost.Point.t -> Mlpost.Concrete.CPoint.t
val cpath_of_path : Mlpost.Path.t -> Mlpost.Concrete.CPath.t
val num_of_float : float -> Mlpost.Num.t
val point_of_cpoint : Mlpost.Concrete.CPoint.t -> Mlpost.Point.t
val path_of_cpath : Mlpost.Concrete.CPath.t -> Mlpost.Path.t
val set_verbosity : bool -> unit
val set_prelude : string -> unit
val set_prelude2 : string option -> unit
val set_t1disasm : string option -> unit
end
module Cairost :
sig
val supported : bool
val emit_pdf : ?msg_error:float -> string -> Mlpost.Command.t -> unit
val emit_ps : string -> Mlpost.Command.t -> unit
val emit_png : string -> Mlpost.Command.t -> unit
val emit_svg : string -> Mlpost.Command.t -> unit
val emit_pdfs : string -> Mlpost.Command.t list -> unit
val dump_pdf : unit -> unit
val dump_pdfs : string -> unit
val generate_pdfs : string -> (int * Mlpost.Command.t) list -> unit
type cairo_t = Cairo.t
val emit_cairo :
Mlpost.Cairost.cairo_t -> float * float -> Mlpost.Command.t -> unit
end
end