sig
module type POS =
sig
type t
type repr
val ctr : Mlpost.Pos.POS.t -> Mlpost.Point.t
val height : Mlpost.Pos.POS.t -> Mlpost.Num.t
val width : Mlpost.Pos.POS.t -> Mlpost.Num.t
val shift :
Mlpost.Point.t -> Mlpost.Pos.POS.repr -> Mlpost.Pos.POS.repr
val center : Mlpost.Point.t -> Mlpost.Pos.POS.t -> Mlpost.Pos.POS.repr
val v : Mlpost.Pos.POS.t -> Mlpost.Pos.POS.repr
end
module type SEQ =
sig
module P : POS
type 'a seq
type t
type repr = P.repr seq
val ctr : t -> Point.t
val height : t -> Num.t
val width : t -> Num.t
val shift : Point.t -> repr -> repr
val center : Point.t -> t -> repr
val v : t -> repr
val horizontal :
?dx:Mlpost.Num.t ->
?pos:Mlpost.Command.position -> P.t Mlpost.Pos.SEQ.seq -> t
val vertical :
?dy:Mlpost.Num.t ->
?pos:Mlpost.Command.position -> P.t Mlpost.Pos.SEQ.seq -> t
val tabular :
?dx:Mlpost.Num.t ->
?dy:Mlpost.Num.t ->
?pos:Mlpost.Command.position ->
P.t Mlpost.Pos.SEQ.seq Mlpost.Pos.SEQ.seq -> t Mlpost.Pos.SEQ.seq
end
module List_ :
functor (P : POS) ->
sig
module P :
sig
type t = P.t
type repr = P.repr
val ctr : t -> Point.t
val height : t -> Num.t
val width : t -> Num.t
val shift : Point.t -> repr -> repr
val center : Point.t -> t -> repr
val v : t -> repr
end
type 'a seq = 'a list
type t
type repr = P.repr seq
val ctr : t -> Point.t
val height : t -> Num.t
val width : t -> Num.t
val shift : Point.t -> repr -> repr
val center : Point.t -> t -> repr
val v : t -> repr
val horizontal : ?dx:Num.t -> ?pos:Command.position -> P.t seq -> t
val vertical : ?dy:Num.t -> ?pos:Command.position -> P.t seq -> t
val tabular :
?dx:Num.t ->
?dy:Num.t -> ?pos:Command.position -> P.t seq seq -> t seq
end
module Array_ :
functor (P : POS) ->
sig
module P :
sig
type t = P.t
type repr = P.repr
val ctr : t -> Point.t
val height : t -> Num.t
val width : t -> Num.t
val shift : Point.t -> repr -> repr
val center : Point.t -> t -> repr
val v : t -> repr
end
type 'a seq = 'a array
type t
type repr = P.repr seq
val ctr : t -> Point.t
val height : t -> Num.t
val width : t -> Num.t
val shift : Point.t -> repr -> repr
val center : Point.t -> t -> repr
val v : t -> repr
val horizontal : ?dx:Num.t -> ?pos:Command.position -> P.t seq -> t
val vertical : ?dy:Num.t -> ?pos:Command.position -> P.t seq -> t
val tabular :
?dx:Num.t ->
?dy:Num.t -> ?pos:Command.position -> P.t seq seq -> t seq
end
type 'a tree = N of 'a * 'a Mlpost.Pos.tree list
module type TREE =
sig
module P : POS
type t
type repr = P.repr tree
val ctr : t -> Point.t
val height : t -> Num.t
val width : t -> Num.t
val shift : Point.t -> repr -> repr
val center : Point.t -> t -> repr
val v : t -> repr
val place :
?dx:Mlpost.Num.t -> ?dy:Mlpost.Num.t -> P.t Mlpost.Pos.tree -> t
end
module Tree :
functor (P : POS) ->
sig
module P :
sig
type t = P.t
type repr = P.repr
val ctr : t -> Point.t
val height : t -> Num.t
val width : t -> Num.t
val shift : Point.t -> repr -> repr
val center : Point.t -> t -> repr
val v : t -> repr
end
type t
type repr = P.repr tree
val ctr : t -> Point.t
val height : t -> Num.t
val width : t -> Num.t
val shift : Point.t -> repr -> repr
val center : Point.t -> t -> repr
val v : t -> repr
val place : ?dx:Num.t -> ?dy:Num.t -> P.t tree -> t
end
end