Module Typography.Diagrams

module Diagrams: Diagrams

module Drivers: RawContent
val diagram : 'a -> 'a
val swap : 'a * 'b -> 'b * 'a
val pi : float
val one_third : float
val half_pi : float
val to_deg : float -> float
val to_rad : float -> float
val default_line_width : float Pervasives.ref
val ex : Document.environment -> float
val scale_env : Document.environment -> float
val drag_hook : ((float * float -> bool -> unit) ->
float * float -> bool -> (string * Util.visibility) list)
Pervasives.ref
val mem_compare : ('a -> 'b -> int) -> 'a -> 'b list -> bool
val list_last : 'a list -> 'a
val only_last : 'a -> 'b -> 'b list
val array_last : 'a array -> 'a
val array_update_last : 'a array -> 'a -> unit
val array_update : ('a -> 'a) -> 'a array -> unit
val acurve_update : ('a -> 'a) -> ('b -> 'b) -> ('a array * 'b array) array -> unit
val list_split_last_rev : 'a list -> 'a list * 'a
val app_default : ('a -> 'b -> 'c option) -> 'a -> 'b -> 'c -> 'c
val max_list : ('a -> 'b) -> 'b -> 'a list -> 'b
val max_list_list : ('a -> 'b) -> 'b -> 'a list list -> 'b
module Point: sig .. end
module Vector: sig .. end
module Curve: sig .. end
module Transfo: 
functor (X : Set.OrderedType) -> sig .. end
type anchor = [ `A
| `Angle of float
| `Apex
| `B
| `Base
| `BaseEast
| `BaseWest
| `C
| `Center
| `Curvilinear of float
| `CurvilinearFromStart of float
| `D
| `East
| `Edge of int
| `End
| `Line
| `LineEast
| `LineWest
| `Main
| `North
| `NorthEast
| `NorthWest
| `Pdf
| `South
| `SouthBase
| `SouthEast
| `SouthLine
| `SouthWest
| `Start
| `Temporal of float
| `Vec of Vector.t
| `Vertex of int
| `West ]
val opposite : [> `Angle of float
| `Base
| `BaseEast
| `BaseWest
| `Center
| `East
| `LineEast
| `LineWest
| `Main
| `North
| `NorthEast
| `NorthWest
| `Pdf
| `South
| `SouthEast
| `SouthWest
| `Vec of float * float
| `West ] ->
[> `Angle of float
| `Base
| `BaseEast
| `BaseWest
| `Center
| `East
| `LineEast
| `LineWest
| `Main
| `North
| `NorthEast
| `NorthWest
| `Pdf
| `South
| `SouthEast
| `SouthWest
| `Vec of float * float
| `West ]
module Gentity: sig .. end
type gentity = Gentity.t 
val coord : Point.t -> Gentity.t
val coord3d : Proj3d.projection -> float * float * float -> Gentity.t
val translate : float * float -> Gentity.t -> Gentity.t
module Node: sig .. end
module Matrix: sig .. end
module Matrix3d: sig .. end
module Edge: sig .. end
module Entity: sig .. end
type entity = Entity.t 
module MakeDiagram: 
functor (Args : sig
val env : Document.environment
end) -> sig .. end
val default_where : Node.info array array -> float * float
val default_deco : 'a -> Node.info array array -> 'b list * (float * float)
val xarrow : ?margin:float ->
?decoration:(Document.environment ->
Node.info Matrix.matrix ->
Entity.t list * (float * float)) ->
Maths.math list -> Maths.math list
val xto : ?margin:float -> Maths.math list -> Maths.math list
val xot : ?margin:float -> Maths.math list -> Maths.math list
module type Diagram = module type of MakeDiagram (struct let env = assert false end)
val drawingOfDiagram : Document.content list -> Document.environment -> Box.drawingBox