cairo-core: Cairo Haskell binding (core functions)

[ bsd3, graphics, library ] [ Propose Tags ]

Cairo Haskell binding (core functions). Please checkout cairo-opts for other functions.

[Skip to Readme]


  • Graphics
    • Cairo
      • Drawing
        • Graphics.Cairo.Drawing.Cairo
        • Graphics.Cairo.Drawing.Paths
        • Graphics.Cairo.Drawing.Patterns
        • Graphics.Cairo.Drawing.Region
        • Graphics.Cairo.Drawing.TagsLinks
        • Graphics.Cairo.Drawing.Text
        • Graphics.Cairo.Drawing.Transformations
      • Fonts
        • Graphics.Cairo.Fonts.FontFace
        • Graphics.Cairo.Fonts.FontOptions
        • Graphics.Cairo.Fonts.ScaledFont
      • Graphics.Cairo.HasStatus
      • Graphics.Cairo.Render
      • Surfaces
        • Graphics.Cairo.Surfaces.Device
        • Graphics.Cairo.Surfaces.Surface
      • Graphics.Cairo.Types
      • Utilities
        • Graphics.Cairo.Utilities.ErrorHandling
        • Graphics.Cairo.Utilities.Matrix
        • Graphics.Cairo.Utilities.VersionInformation


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.16.7
Change log Changelog
Dependencies base (>=4.7 && <5), monad-extras, transformers [details]
License BSD-3-Clause
Copyright None
Author Magicloud
Category Graphics
Home page
Source repo head: git clone
Uploaded by magicloud at 2019-02-02T07:14:58Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2221 total (12 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2019-02-02 [all 2 reports]

Readme for cairo-core-1.16.3

[back to package description]

Cairo Haskell binding - Core

This is a library for Haskell to use Cairo function straightforwardly. This package only contains non-optional functions (which is not controlled by building flags). Optional functions like surface supporting and font supporting are in "cairo-opts".

The source is inspired by garetxe and cohomology.

Memory safe

All the pointers should be reference/destroy -ed as manual required, if possible. Hopefully I did not miss any part or misunderstand the document.


When making the library, I tried to use more meaningful type name. So one looking at the type signature would know what to do.


A sugar monad wrapping all functions use Context as first parameter, like cairo from gtk2hs does.

Status check

Checking the status of most Cairo objects is necessary, after creation, or a sequence of actions on it. A sugar method with is given for Render. And a method use is given for regular IO monad.