Declarative 2D vector graphics for OCaml
Module Vg . Vgr . Private

Internal data

module Data : sig ... end

Internal data.

module Font : sig ... end

Font helpers.

module P : sig ... end

Paths helpers.

module I : sig ... end

Image helpers


type renderer

The type for renderers.

type k = renderer -> [ `Ok | `Partial ]

The type for renderer continuations.

type render_fun = [ `End | `Image of Gg.size2 * Gg.box2 * Data.image ] -> k -> k

The type for rendering functions.

type 'a render_target = renderer -> 'a -> bool * render_fun constraint 'a = [< dst ]

The type for render targets. The function takes a created renderer and its destination. It should return a boolean indicating whether multiple images can be rendered on the target, and a function that is invoked by the renderer to render a new image or end the rendering sequence.

val create_target : 'a render_target -> 'a target

create_target t makes an end-user render target from t.

val renderer : t -> renderer

renderer r is r's internal representation.

val limit : renderer -> int

limit r is r's render limit.

val warn : renderer -> warning -> unit

warn r w reports the warning w on r.

val partial : k -> renderer -> [> `Partial ]

partial k r suspends the renderer r and returns `Partial. Rendering will continue with k r, on render `Await.

Writing destinations

val flush : k -> renderer -> [ `Ok | `Partial ]

flush k r flushes the renderer r. If r writes on a stored destination this function must be called by the rendering function on `End.

val writeb : int -> k -> renderer -> [ `Ok | `Partial ]

writeb b k r writes the byte b and kontinues.

val writes : string -> int -> int -> k -> renderer -> [ `Ok | `Partial ]

writes s j l k r writes l bytes from s starting at j and kontinues.

val writebuf : Buffer.t -> int -> int -> k -> renderer -> [ `Ok | `Partial ]

writebuf buf j l k r write l bytes from buf starting at j and kontinues.


val add_xml_data : Buffer.t -> string -> unit

add_xml_data b s adds s to b, escapes '<', '>', '&' and '"' (but not single quotes) and maps illegal XML unicode characters to the replacement character U+FFFD.