Module Picasso

Picasso is an Abstract element drawing library. It handles most of the boilerplate you usually write to draw abstract elements and allows you to view those.

module Colors : sig ... end

Colors handling

module Drawable : sig ... end

Module of drawable abstractions

module Rendering : sig ... end

Module for 2d drawing of abstract elements, handles the 'camera' settings, 2D projection, and some graphical options

module Rendering3d : sig ... end

Module for 3D model generation of abstract elements

exception BackendError of string

raised by rendering function when a backend is not installed or when an internal error occurs

Drawing utilities

val show : Rendering.t -> unit

Main drawing function. Displays a Rendering.t using one of the backend available. It first tries with gtk, and if lablgtk is not installed, retries using graphics. If none of the backend is installed, outputs a .svg file in the current directory, named after the title of the window if specified, otherwise named "picassonumber.svg"

val to_latex : ?filename:string -> ?tikz_only:bool -> Rendering.t -> unit

Outputs a tex file with a tikz figure corresponding to a Rendering.t. If the tikz_only option is set to false (default is true), it outputs the full tex document and not only the tikz figure

val to_svg : ?filename:string -> Rendering.t -> unit

Outputs a svg file with a figure corresponding to a Rendering.t

val to_obj : ?filename:string -> Rendering3d.t -> unit

Builds an obj file corresponding to a Rendering3D context

Backend specific drawing functions

val in_gtk_canvas : Rendering.t -> unit

Displays a Rendering.t within a scrollable, zoomable gtk canvas.

val in_graphics_canvas : Rendering.t -> unit

Displays a Rendering.t within a graphics window. The window created can be exited cleanly by pressing any key.

  • raises BackendError

    if the graphics library is not installed