The diagrams-cairo package

[Tags: bsd3, library]

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


[Skip to ReadMe]

Properties

Versions0.1, 0.1.1, 0.1.2, 0.2, 0.3, 0.4, 0.5, 0.5.0.1, 0.5.0.2, 0.6, 0.7, 1.0, 1.0.1, 1.0.1.1, 1.0.1.2, 1.1, 1.1.0.1, 1.1.0.2, 1.2, 1.2.0.1, 1.2.0.2, 1.2.0.3, 1.2.0.4, 1.2.0.5, 1.2.0.6, 1.2.0.7, 1.3, 1.3.0.1, 1.3.0.2, 1.3.0.3
Change logCHANGES.markdown
Dependenciesbase (>=4.2 && <4.8), cairo (>=0.12.4 && <0.13), colour, containers (>=0.3 && <0.6), data-default-class (>=0.0.1 && <0.1), diagrams-core (==1.0.*), diagrams-lib (==1.0.*), directory, filepath, ghc-prim, hashable (>=1.1 && <1.3), lens (>=3.8 && <4), mtl (>=2.0 && <2.2), old-time, process, split (>=0.1.2 && <0.3), statestack (==0.2.*), time, unix (>=2.4 && <2.7) [details]
LicenseBSD3
AuthorBrent Yorgey
Maintainerdiagrams-discuss@googlegroups.com
CategoryGraphics
Home pagehttp://projects.haskell.org/diagrams
Bug trackerhttp://github.com/diagrams/diagrams-cairo/issues
Source repositoryhead: git clone http://github.com/diagrams/diagrams-cairo.git
UploadedSun Jan 26 23:45:10 UTC 2014 by BrentYorgey
DistributionsDebian:1.2.0.7, LTSHaskell:1.2.0.7, NixOS:1.3.0.3, Stackage:1.3.0.3
Downloads6138 total (410 in last 30 days)
Votes
0 []
StatusDocs available [build log]
Successful builds reported [all 1 reports]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for diagrams-cairo-1.0.1

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.

Installation

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 = mainWith (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
./Circle

Usage: ./Circle [-w|--width WIDTH] [-h|--height HEIGHT] [-o|--output OUTPUT]
                [--loop] [-s|--src ARG] [-i|--interval INTERVAL]
  Command-line diagram generation.

Available options:
  -?,--help                Show this help text
  -w,--width WIDTH         Desired WIDTH of the output image
  -h,--height HEIGHT       Desired HEIGHT of the output image
  -o,--output OUTPUT       OUTPUT file
  -l,--loop                Run in a self-recompiling loop
  -s,--src ARG             Source file to watch
  -i,--interval INTERVAL   When running in a loop, check for changes every INTERVAL seconds.
ommand-line diagram generation.

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.