`Private.Data`

Internal data.

`type segment = [ `

`| `Sub of Gg.p2`

`| `Line of Gg.p2`

`| `Qcurve of Gg.p2 * Gg.p2`

`| `Ccurve of Gg.p2 * Gg.p2 * Gg.p2`

`| `Earc of bool * bool * float * Gg.size2 * Gg.p2`

`| `Close`

` ]`

The type for path segments.

`type path = segment list`

The type for paths. The segment list is reversed. A few invariants apply. See the comment in `Vg`

's source.

The type for transforms. Not uniformely expressed as a matrix since renderers may have shorter syntaxes for some transforms.

`val tr_to_m3 : tr -> Gg.M3.t`

`tr_to_m3 tr`

is the matrix of `tr`

.

`val inv_tr_to_m3 : tr -> Gg.M3.t`

`inv_tr_to_m3 tr`

is the matrix inverse of `tr`

.

`type glyph_run = {`

`font : font;`

`text : string option;`

`o : Gg.p2;`

(*Unused for now, always P2.o

*)`blocks : bool * (int * int) list;`

`advances : Gg.v2 list;`

`glyphs : glyph list;`

`}`

The type for glyph runs.