package picasso

  1. Overview
  2. Docs

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 name "picassonumber.svg"

val to_latex : ?tikz_only:bool -> Rendering.t -> string -> 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 : Rendering.t -> string -> unit

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

val to_obj : Rendering3d.t -> string -> 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