cairo-core: Cairo Haskell binding (partial)

[ bsd3, graphics, library ] [ Propose Tags ]

For using Cairo in Haskell. Functions/Types for X11, Windows, MacOS are not included.


[Skip to Readme]
Versions [faq] 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
Maintainer magiclouds@gmail.com
Category Graphics
Home page https://github.com/magicloud/cairo-core#readme
Source repo head: git clone https://github.com/magicloud/cairo-core
Uploaded by magicloud at Tue Apr 9 02:40:18 UTC 2019
Distributions NixOS:1.16.7
Downloads 318 total (81 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2019-04-09 [all 3 reports]

Modules

  • 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.Image
        • Graphics.Cairo.Surfaces.PDF
        • Graphics.Cairo.Surfaces.PNG
        • Graphics.Cairo.Surfaces.PostScript
        • Graphics.Cairo.Surfaces.Recording
        • Graphics.Cairo.Surfaces.SVG
        • Graphics.Cairo.Surfaces.Script
        • Graphics.Cairo.Surfaces.Surface
      • Graphics.Cairo.Types
      • Utilities
        • Graphics.Cairo.Utilities.ErrorHandling
        • Graphics.Cairo.Utilities.Matrix
        • Graphics.Cairo.Utilities.VersionInformation

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for cairo-core-1.16.7

[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.

Type

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

Render

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.