module type PRINTER = sig type t val create: unit -> t (* Start a new path. *) val move_to: Gg.v2 -> t -> t val line_to: Gg.v2 -> t -> 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 -> t -> t (** Request for the path to be closed *) val close: t -> t end