module type PRINTER = sig type 'a t val create: unit -> 'a t (* Start a new path. *) val move_to: Gg.v2 -> 'a t -> 'a t val line_to: Gg.v2 -> 'a t -> 'a t (** [quadratic_to ctrl0 ctrl1 p1] ctreate a quadratic curve from the current point to [p1], with control points [ctrl0] and [ctrl1] *) val quadratic_to: Gg.v2 -> Gg.v2 -> Gg.v2 -> 'a t -> 'a t (** Request for the path to be closed *) val close: 'a t -> 'a t end