Module Mlpost.Picture


module Picture: sig .. end
Functions to manipulate commands as if they were pictures


Pictures are a powerful way to reuse and modify parts of a figure
type t = Command.t 
The abstract type of pictures
val make : Command.t -> t
Make a picture from a drawing command
val tex : string -> t
Take a string in Latex format and transform it into a picture
val transform : Transform.t -> t -> t
Apply a transformation to a picture
val bbox : t -> Path.t
Get the bounding box of a picture (with default padding, as in MetaPost)
val corner_bbox : ?dx:Num.t -> ?dy:Num.t -> t -> Path.t
Get the bounding box of a picture, according to its corners and supplied padding dx and dy.
val center : Point.t -> t -> t
Place a picture centered at some point
val place_up_left : Point.t -> t -> t
Place a picture with its upper left corner at some point
val place_up_right : Point.t -> t -> t
Place a picture with its upper right corner at some point
val place_bot_left : Point.t -> t -> t
Place a picture with its bottom left corner at some point
val place_bot_right : Point.t -> t -> t
Place a picture with its bottom right corner at some point
val beside : t -> t -> t
beside p1 p2 returns a picture in which p2 is placed right to p1
val below : t -> t -> t
below p1 p2 returns a picture in which p2 is placed below p1

Special points of the bounding box of a picture


val ctr : t -> Point.t
ctr.png
val north : t -> Point.t
north.png
val south : t -> Point.t
south.png
val west : t -> Point.t
west.png
val east : t -> Point.t
east.png
val north_west : t -> Point.t
north_west.png
val south_west : t -> Point.t
south_west.png
val north_east : t -> Point.t
north_east.png
val south_east : t -> Point.t
south_east.png
val corner : Command.position -> t -> Point.t

Special points of the bounding box of a picture (Deprecated)


val ulcorner : t -> Point.t
These have been superseded by the preceding functions
val llcorner : t -> Point.t
val urcorner : t -> Point.t
val lrcorner : t -> Point.t
val clip : t -> Path.t -> t
clip pic path limits pic to the cyclic path path; all elements outside of path are cut off.

Dimensions


val width : t -> Num.t
val height : t -> Num.t

Predefined Transformations
val scale : Num.t -> t -> t
val rotate : float -> t -> t
val shift : Point.t -> t -> t
val yscale : Num.t -> t -> t
val xscale : Num.t -> t -> t
val spin : float -> t -> t
type escaped = [ `Backslash | `Underscore ] 
val escape_latex : escaped list -> string -> string
val escape_all : string -> string
val set_pos : Point.t -> t -> t
alias of center