packages feed

diagrams-cairo-0.6: README.markdown

[![Build Status](https://secure.travis-ci.org/diagrams/diagrams-cairo.png)](http://travis-ci.org/diagrams/diagrams-cairo)

_diagrams-cairo_ is a rendering backend for [diagrams], a powerful,
flexible, declarative domain-specific language for creating vector graphics,
using the [Haskell programming language][haskell].

[diagrams]: http://projects.haskell.org/diagrams/
[haskell]: http://www.haskell.org/haskellwiki/Haskell

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

[cairo]: http://www.cairographics.org/

# Installation

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

# Basic usage

A simple example that uses _diagrams-cairo_ to draw a blue circle:

```haskell
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.