The diagrams-cairo package

[ Tags: bsd3, graphics, library ] [ Propose Tags ]

A full-featured backend for rendering diagrams using the cairo rendering engine.

[Skip to Readme]


Versions 0.1, 0.1.1, 0.1.2, 0.2, 0.3, 0.4, 0.5,,, 0.6, 0.7, 1.0, 1.0.1,,, 1.1,,, 1.2,,,,,,,, 1.3,,,,,,, 1.3.1,,, 1.4
Change log CHANGES.markdown
Dependencies base (>=4.2 && <4.7), cairo (>=0.12.4 && <0.13), cmdargs (>=0.6 && <0.11), colour, diagrams-core (==0.7.*), diagrams-lib (==0.7.*), directory, filepath, mtl (>=2.0 && <2.2), old-time, process, split (>=0.1.2 && <0.3), time, unix (>=2.4 && <2.7) [details]
License BSD3
Author Brent Yorgey
Category Graphics
Home page
Bug tracker
Source repo head: git clone
Uploaded Fri Aug 9 15:24:13 UTC 2013 by BrentYorgey
Distributions Debian:, LTSHaskell:1.4, NixOS:1.4, openSUSE:1.4
Downloads 15900 total (125 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for diagrams-cairo-0.7

[back to package description]

Build Status

diagrams-cairo is a rendering backend for diagrams, a powerful, flexible, declarative domain-specific language for creating vector graphics, using the Haskell programming language.

diagrams-cairo is implemented using the cairo rendering engine and is a fully-featured, officially supported backend for diagrams.


cabal update && cabal install gtk2hs-buildtools diagrams-cairo

Basic usage

A simple example that uses diagrams-cairo to draw a blue circle:

import Diagrams.Prelude
import Diagrams.Backend.Cairo.CmdLine

d = circle 1 # fc blue

main = defaultMain (pad 1.1 d)

Save this to file named Circle.hs and compile it:

ghc --make Circle.hs

This will generate an executable which, when run, outputs a blue circle to some file. Run the executable with the --help option to find out more about how to call it.

$ ./Circle --help
Command-line diagram generation.

Circle [OPTIONS]

Common flags:
  -w --width=INT    Desired width of the output image
  -h --height=INT   Desired height of the output image
  -o --output=FILE  Output file
  -? --help         Display help message
  -V --version      Print version information

The output type will be automatically determined from the file extension. Currently PNG, PDF, PS, and SVG are supported.

$ ./Circle -o circle.png -w 400

The command above generates a PNG file with a width of 400px.

Advanced usage

Instead of just creating a standalone executable, the cairo backend can also be called from within a larger program. For more information, see the Diagram.Backend.Cairo module.