sig
type cap = [ `Butt | `Round | `Square ]
type join = [ `Bevel | `Miter | `Round ]
type dashes = float * float list
type outline = {
width : float;
cap : Vg.P.cap;
join : Vg.P.join;
miter_angle : float;
dashes : Vg.P.dashes option;
}
val o : Vg.P.outline
val pp_outline : Format.formatter -> Vg.P.outline -> unit
type area = [ `Aeo | `Anz | `O of Vg.P.outline ]
val pp_area : Format.formatter -> Vg.P.area -> unit
type t = Vg.path
val empty : Vg.path
val sub : ?rel:bool -> Gg.p2 -> Vg.path -> Vg.path
val line : ?rel:bool -> Gg.p2 -> Vg.path -> Vg.path
val qcurve : ?rel:bool -> Gg.p2 -> Gg.p2 -> Vg.path -> Vg.path
val ccurve : ?rel:bool -> Gg.p2 -> Gg.p2 -> Gg.p2 -> Vg.path -> Vg.path
val earc :
?rel:bool ->
?large:bool ->
?cw:bool -> ?angle:float -> Gg.size2 -> Gg.p2 -> Vg.path -> Vg.path
val close : Vg.path -> Vg.path
val circle : ?rel:bool -> Gg.p2 -> float -> Vg.path -> Vg.path
val ellipse :
?rel:bool -> ?angle:float -> Gg.p2 -> Gg.size2 -> Vg.path -> Vg.path
val rect : ?rel:bool -> Gg.box2 -> Vg.path -> Vg.path
val rrect : ?rel:bool -> Gg.box2 -> Gg.size2 -> Vg.path -> Vg.path
val last_pt : Vg.path -> Gg.p2
val append : Vg.path -> Vg.path -> Vg.path
val tr : Gg.m3 -> Vg.path -> Vg.path
type fold =
[ `Ccurve of Gg.p2 * Gg.p2 * Gg.p2
| `Close
| `Earc of bool * bool * float * Gg.size2 * Gg.p2
| `Line of Gg.p2
| `Qcurve of Gg.p2 * Gg.p2
| `Sub of Gg.p2 ]
val fold : ?rev:bool -> ('a -> Vg.P.fold -> 'a) -> 'a -> Vg.path -> 'a
val is_empty : Vg.path -> bool
val equal : Vg.path -> Vg.path -> bool
val equal_f : (float -> float -> bool) -> Vg.path -> Vg.path -> bool
val compare : Vg.path -> Vg.path -> int
val compare_f : (float -> float -> int) -> Vg.path -> Vg.path -> int
val to_string : Vg.path -> string
val pp : Format.formatter -> Vg.path -> unit
val pp_f :
(Format.formatter -> float -> unit) ->
Format.formatter -> Vg.path -> unit
end