Module Mlpost__.Box

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
val margin : float
module Name : sig ... end
module NMap : sig ... end
val print_dom : Stdlib.Format.formatter -> 'a NMap.t -> unit
type t = {
name : Name.t;
width : Mlpost.Num.t;
height : Mlpost.Num.t;
ctr : Mlpost.Point.t;
stroke : Mlpost.Color.t option;
pen : Mlpost.Pen.t option;
fill : Mlpost.Color.t option;
contour : Mlpost.Path.t;
desc : desc;
dash : Mlpost.Dash.t option;
post_draw : t -> Mlpost.Command.t;
pre_draw : t -> Mlpost.Command.t;
}
and desc =
| Emp
| Pic of Mlpost.Picture.t
| Grp of t array * t NMap.t
val width : t -> Mlpost.Num.t
val height : t -> Mlpost.Num.t
val ctr : t -> Mlpost.Point.t
val bpath : t -> Mlpost.Path.t
val set_bpath : Mlpost.Path.t -> t -> t
val halfheight : t -> Mlpost__.Point_lib.t
val halfwidth : t -> Mlpost__.Point_lib.t
val north : t -> Mlpost__.Point_lib.t
val south : t -> Mlpost__.Point_lib.t
val east : t -> Mlpost__.Point_lib.t
val west : t -> Mlpost__.Point_lib.t
val build_point : Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t -> Mlpost__.Point_lib.t
val north_west : t -> Mlpost__.Point_lib.t
val north_east : t -> Mlpost__.Point_lib.t
val south_west : t -> Mlpost__.Point_lib.t
val south_east : t -> Mlpost__.Point_lib.t
type vposition = [
| Mlpost.Command.vposition
| `Custom of t -> Mlpost.Num.t
]
type hposition = [
| Mlpost.Command.hposition
| `Custom of t -> Mlpost.Num.t
]
type vposition_red = [
| Mlpost__.Types.vposition_red
| `Custom of t -> Mlpost.Num.t
]
type hposition_red = [
| Mlpost__.Types.hposition_red
| `Custom of t -> Mlpost.Num.t
]
type position = [
| Mlpost.Command.position
| `Custom of t -> Mlpost.Point.t
]
type position_red = [
| Mlpost__.Types.position_red
| `Custom of t -> Mlpost.Point.t
]
val hreduce : [< `Center | `Custom of t -> Mlpost.Num.t | `East | `Left | `Right | `West ] -> hposition_red
val vreduce : [< `Bot | `Bottom | `Center | `Custom of t -> Mlpost.Num.t | `North | `South | `Top ] -> vposition_red
val pos_reduce : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 ] -> position_red
val corner : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of t -> Mlpost__.Point_lib.t | `East | `Left | `Lowerleft | `Lowerright | `Lowleft | `Lowright | `North | `Northeast | `Northwest | `Right | `South | `Southeast | `Southwest | `Top | `Topleft | `Topright | `Upleft | `Upperleft | `Upperright | `Upright | `West ] -> t -> Mlpost__.Point_lib.t
val cornerh : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of t -> float | `East | `Left | `Lowerleft | `Lowerright | `Lowleft | `Lowright | `North | `Northeast | `Northwest | `Right | `South | `Southeast | `Southwest | `Top | `Topleft | `Topright | `Upleft | `Upperleft | `Upperright | `Upright | `West ] -> t -> float
val cornerv : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of t -> float | `East | `Left | `Lowerleft | `Lowerright | `Lowleft | `Lowright | `North | `Northeast | `Northwest | `Right | `South | `Southeast | `Southwest | `Top | `Topleft | `Topright | `Upleft | `Upperleft | `Upperright | `Upright | `West ] -> t -> float
val transform : Mlpost.Transform.t -> t -> t
val transform_desc : Mlpost.Transform.t -> desc -> desc
val shift : Mlpost__.Point_lib.t -> t -> t
val shift_desc : Mlpost__.Point_lib.t -> desc -> desc
val scale : float -> t -> t
val rotate : float -> t -> t
val yscale : float -> t -> t
val xscale : float -> t -> t
val center : Mlpost__.Point_lib.t -> t -> t
val border : [< `East | `North | `South | `West ] -> t -> float
val draw : ?⁠debug:bool -> t -> Mlpost__.Types.commandpic
val rect_ : float -> float -> float * float * Mlpost__.Types.path
val circ_ : float -> float -> float * float * Mlpost__.Types.path
val ellipse_ : float -> float -> float * float * Mlpost__.Types.path
val round_rect_ : float -> float -> float * float * Mlpost__.Types.path
val round_box_ : float -> float -> float * float * Mlpost__.Types.path
val patatoid_ : float -> float -> float * float * Mlpost__.Types.path
val patatoid2_ : float -> float -> float * float * Mlpost__.Types.path
val from_style : style -> Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t * Mlpost.Num.t * Mlpost__.Types.path
val make_contour : style -> ?⁠dx:float -> ?⁠dy:float -> float -> float -> Mlpost__.Matrix.point -> Mlpost.Num.t * Mlpost.Num.t * Mlpost__.Types.path
val no_drawing : 'a -> Mlpost__.Types.commandpic
val fresh_name : unit -> Name.t
val mkbox : ?⁠style:style -> ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> ?⁠pre_draw:(t -> Mlpost.Command.t) -> ?⁠post_draw:(t -> Mlpost.Command.t) -> float -> float -> Mlpost__.Matrix.point -> desc -> t
val pic : ?⁠style:style -> ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> Mlpost__.Types.commandpic -> t
val merge_maps : t list -> t NMap.t
val box : ?⁠style:style -> ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val path : ?⁠style:style -> ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> Mlpost__.Types.path -> t
val empty : ?⁠width:float -> ?⁠height:float -> ?⁠style:style -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> unit -> t
val empty_from_box : ?⁠style:style -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val group : ?⁠style:style -> ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t list -> t
val group_array : ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠fill:Mlpost.Color.t -> ?⁠dx:float -> ?⁠dy:float -> t array -> t
val group_rect : ?⁠name:string -> ?⁠stroke:Mlpost__.Types.color option -> float -> float -> Mlpost__.Matrix.point -> t list -> t
type 'a box_creator = ?⁠dx:Mlpost.Num.t -> ?⁠dy:Mlpost.Num.t -> ?⁠name:string -> ?⁠brush:Mlpost.Brush.t -> ?⁠stroke:Mlpost.Color.t option -> ?⁠pen:Mlpost.Pen.t -> ?⁠dash:Mlpost.Dash.t -> ?⁠fill:Mlpost.Color.t -> 'a -> t
val rect : ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val circle : ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val ellipse : ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val round_rect : ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val patatoid : ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val patatoid2 : ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val round_box : ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t -> t
val tex : ?⁠style:style -> ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> string -> t
val nth : int -> t -> t
val elts : t -> t array
val elts_list : t -> t list
val get' : NMap.key -> t -> t
val get : string -> t -> t
val sub : t -> t -> t
val relative : t -> t -> t
val get_fill : t -> Mlpost.Color.t option
val set_fill : Mlpost.Color.t -> t -> t
val get_stroke : t -> Mlpost.Color.t option
val set_stroke : Mlpost.Color.t -> t -> t
val clear_stroke : t -> t
val get_name : t -> string option
val get_dash : t -> Mlpost.Dash.t option
val set_dash : Mlpost.Dash.t -> t -> t
val clear_dash : t -> t
val set_name : string -> t -> t
val set_post_draw : (t -> Mlpost.Command.t) -> t -> t
val set_pre_draw : (t -> Mlpost.Command.t) -> t -> t
val add_post_draw : (t -> Mlpost__.Types.commandpic) -> t -> t
val clear_post_draw : t -> t
val clear_pre_draw : t -> t
val shadow : t -> t
val get_pen : t -> Mlpost.Pen.t option
val set_pen : Mlpost.Pen.t -> t -> t
val set_contour : Mlpost.Path.t -> t -> t
val ycoord : [< `Bot | `Bottom | `Center | `Custom of t -> Mlpost.Num.t | `North | `South | `Top ] -> t -> Mlpost.Num.t
val xcoord : [< `Center | `Custom of t -> Mlpost.Num.t | `East | `Left | `Right | `West ] -> t -> Mlpost.Num.t
val box_fold : ('a -> 'b -> 'a * 'c) -> 'a -> 'b list -> 'c list
val halign : ?⁠pos:vposition -> float -> t list -> t list
val set_height : [< `Bot | `Bottom | `Center | `Custom of t -> Mlpost.Num.t | `North | `South | `Top ] -> Mlpost.Num.t -> t -> t
val set_width : [< `Center | `Custom of t -> Mlpost.Num.t | `East | `Left | `Right | `West ] -> Mlpost.Num.t -> t -> t
val set_gen2 : ('a -> t -> float) -> ((float -> float) -> (Mlpost.Num.t * Mlpost.Num.t) -> Mlpost.Num.t * Mlpost.Num.t) -> 'a -> float -> 'a -> float -> t -> t
val set_height2 : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of t -> float | `East | `Left | `Lowerleft | `Lowerright | `Lowleft | `Lowright | `North | `Northeast | `Northwest | `Right | `South | `Southeast | `Southwest | `Top | `Topleft | `Topright | `Upleft | `Upperleft | `Upperright | `Upright | `West ] as 'a -> float -> 'a -> float -> t -> t
val set_width2 : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of t -> float | `East | `Left | `Lowerleft | `Lowerright | `Lowleft | `Lowright | `North | `Northeast | `Northwest | `Right | `South | `Southeast | `Southwest | `Top | `Topleft | `Topright | `Upleft | `Upperleft | `Upperright | `Upright | `West ] as 'a -> float -> 'a -> float -> t -> t
val valign : ?⁠pos:[< `Center | `Custom of t -> Mlpost.Num.t | `East | `Left | `Right | `West Center ] -> float -> t list -> t list
val extractv : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 ] -> [> `Center | `Custom of t -> float | `North | `South ]
val extracth : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 ] -> [> `Center | `Custom of t -> float | `East | `West ]
val set_size : [< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 ] -> width:Mlpost.Num.t -> height:Mlpost.Num.t -> t -> t
val max_height : t list -> Mlpost.Num.t
val max_width : t list -> Mlpost.Num.t
val same_size : ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> t list -> t list
val same_height : ?⁠pos:[< `Bot | `Bottom | `Center | `Custom of t -> Mlpost.Num.t | `North | `South | `Top Center ] -> t list -> t list
val same_width : ?⁠pos:[< `Center | `Custom of t -> Mlpost.Num.t | `East | `Left | `Right | `West Center ] -> t list -> t list
val hplace : ?⁠padding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠min_width:Mlpost.Num.t -> ?⁠same_width:bool -> t list -> t list
val vplace : ?⁠padding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠min_height:Mlpost.Num.t -> ?⁠same_height:bool -> t list -> t list
val hbox_list : ?⁠padding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠min_width:Mlpost.Num.t -> ?⁠same_width:bool -> t list -> t list
val vbox_list : ?⁠padding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠min_height:Mlpost.Num.t -> ?⁠same_height:bool -> t list -> t list
val hequalize : [< `Bot | `Bottom | `Center | `Custom of t -> Mlpost.Num.t | `North | `South | `Top ] -> Mlpost.Num.t list -> (t -> t) list
val wequalize : [< `Center | `Custom of t -> Mlpost.Num.t | `East | `Left | `Right | `West ] -> Mlpost.Num.t list -> (t -> t) list
val hbox : ?⁠padding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠style:style -> ?⁠min_width:Mlpost.Num.t -> ?⁠same_width:bool -> ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:Mlpost__.Types.brush -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t list -> t
val vbox : ?⁠padding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠style:style -> ?⁠min_height:Mlpost.Num.t -> ?⁠same_height:bool -> ?⁠dx:float -> ?⁠dy:float -> ?⁠name:string -> ?⁠brush:'a -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t list -> t
val modify_box : ?⁠stroke:Mlpost.Color.t option -> ?⁠pen:Mlpost.Pen.t -> ?⁠dash:Mlpost.Dash.t -> t -> t
val hblock : ?⁠padding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠name:string -> ?⁠stroke:Mlpost.Color.t option -> ?⁠pen:Mlpost.Pen.t -> ?⁠dash:Mlpost.Dash.t -> ?⁠min_width:Mlpost.Num.t -> ?⁠same_width:bool -> t list -> t
val vblock : ?⁠padding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠name:string -> ?⁠stroke:Mlpost.Color.t option -> ?⁠pen:Mlpost.Pen.t -> ?⁠dash:Mlpost.Dash.t -> ?⁠min_height:Mlpost.Num.t -> ?⁠same_height:bool -> t list -> t
val tabularl : ?⁠hpadding:float -> ?⁠vpadding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠style:style -> ?⁠name:string -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t list list -> t
val tabular : ?⁠hpadding:float -> ?⁠vpadding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠style:style -> ?⁠name:string -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> t array array -> t
val tabulari : ?⁠hpadding:float -> ?⁠vpadding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠style:style -> ?⁠name:string -> ?⁠stroke:Mlpost__.Types.color option -> ?⁠pen:Mlpost__.Types.pen -> ?⁠dash:Mlpost__.Types.dash -> ?⁠fill:Mlpost.Color.t -> int -> int -> (int -> int -> t) -> t
val gridl : ?⁠hpadding:float -> ?⁠vpadding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠stroke:Mlpost.Color.t option -> ?⁠pen:Mlpost.Pen.t -> ?⁠dash:Mlpost.Dash.t -> t list list -> t
val grid : ?⁠hpadding:float -> ?⁠vpadding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠stroke:Mlpost.Color.t option -> ?⁠pen:Mlpost.Pen.t -> ?⁠dash:Mlpost.Dash.t -> t array array -> t
val gridi : ?⁠hpadding:float -> ?⁠vpadding:float -> ?⁠pos:[< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of 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 Center ] -> ?⁠stroke:Mlpost.Color.t option -> ?⁠pen:Mlpost.Pen.t -> ?⁠dash:Mlpost.Dash.t -> int -> int -> (int -> int -> t) -> t
val henlarge : t list -> t list
val venlarge : t list -> t list
module P = Mlpost.Path
val strip : ?⁠sep:float -> Mlpost__.Types.path -> Mlpost__.Types.path
val cpath : ?⁠style:Mlpost__.Types.joint -> ?⁠outd:Mlpost__.Types.direction -> ?⁠ind:Mlpost__.Types.direction -> ?⁠sep:float -> t -> t -> Mlpost__.Types.path
val cpath_left : ?⁠style:Mlpost__.Types.joint -> ?⁠outd:Mlpost__.Types.direction -> ?⁠ind:Mlpost__.Types.direction -> ?⁠sep:float -> t -> Mlpost__.Types.point -> Mlpost__.Types.path
val cpath_right : ?⁠style:Mlpost__.Types.joint -> ?⁠outd:Mlpost__.Types.direction -> ?⁠ind:Mlpost__.Types.direction -> ?⁠sep:float -> Mlpost__.Types.point -> t -> Mlpost__.Types.path
val setp : string -> Mlpost__.Point_lib.t -> t -> t
val getp : string -> t -> Mlpost.Point.t
val getpx : string -> t -> float
val getpy : string -> t -> float
val opposite_position : position -> position
val place : position -> ?⁠pos:position -> ?⁠padding:float -> t -> t -> t
val set_pos : Mlpost__.Point_lib.t -> t -> t