Description

cairo bindings and wrappers for the D programming language.

Package Information

Version0.0.1-alpha.3+1.10.2 (2016-Feb-03)
Homepage https://github.com/cairoD/cairoD
Repository https://github.com/cairoD/cairoD
LicenseBSL-1.0
CopyrightCopyright © 2011-2015, Johannes Pfau
AuthorsJohannes Pfau, Andrej Mitrovic
Registered byJohannes Pfau
Dependencies

derelict-ft

Installation

To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Readme

cairoD Build Status

This is a D2 binding and wrapper for the cairo graphics library.

Currently cairoD targets cairo version 1.10.2.

Homepage: https://github.com/cairoD/cairoD

API Documentation: https://cairod.github.io/cairoD/api/cairo/cairo.html

Examples

The cairoD library ships with some examples in the example directory. Some of these examples are ported from cairographics.org, some are original. To build these examples, simply use dub:

dub run

On windows you have to manually copy the DLLs into the bin directory. Run

dub build

This will build the example and copy the executable to the bin directory. Then copy all DLLs from /lib/32 or /lib/64 into the bin directory and run the example.exe manually.

Some examples can directly present the results in a GTK2 or GTK3 window. Simply use the correct dub configurations:

dub run --config=gtk2
dub run --config=gtk3

GTK3 example image

Building

You can use [dub] to make this library a dependency for your project.

Windows support

cairoD can be used on windows, but it requires cairo DLLs and matching import libraries. We provide a set of DLLs and import libraries in the lib directory. Copy the lib folder into your dub project and then use this dub configuration to support all windows compilers:

    "libs-windows-x86-dmd": ["lib/32/mars/cairo"],
    "libs-windows-x86-gdc": ["lib/32/msvc_mingw/cairo"],
    "libs-windows-x86-ldc": ["lib/32/msvc_mingw/cairo"],
    "libs-windows-x86_64": ["lib/64/cairo"],
    "copyFiles-windows-x86": ["lib/32/*.dll"],
    "copyFiles-windows-x86_64": ["lib/64/*.dll"]

Note: cairoD currently uses the windows-headers package for the Win32Surface. Use the CairoWindowsDruntime version if you want to use the windows bindings shipped with D version 2.070+.

Customizing the cairoD configuration

The cairo library provides certain features as optional extensions. CairoD does not provide access to these extensions by default. To enable the extensions, pass the matching version to your D compiler or specify the versions in your dub.json file:

"dependencies": {
    "cairod": {"version": "~>0.0.1"}
},
"versions": ["CairoPNG"]

The following versions are available:

| version name | Cairo C feature | Description | | -------------------- | -------------------------- | ----------------------------------------------- | | CairoPNG | CAIROHASPNGFUNCTIONS | Enable loading/saving of PNG files | | CairoPSSurface | CAIROHASPSSURFACE | Enable cairo.ps module | | CairoPDFSurface | CAIROHASPDFSURFACE | Enable cairo.pdf module | | CairoSVGSurface | CAIROHASSVGSURFACE | Enable cairo.svg module | | CairoFTFont | CAIROHASFTFONT | Enable cairo.ft module (FreeType fonts) | | CairoWin32Surface | CAIROHASWIN32SURFACE | Enable cairo.win32 module (rendering) | | CairoWin32Font | CAIROHASWIN32FONT | Enable cairo.win32 module (fonts) | | CairoXlibSurface | CAIROHASXLIBSURFACE | Enable cairo.xlib module | | CairoXCBSurface | CAIROHASXCBSURFACE | Enable cairo.xcb module | | CairoDirectFBSurface | CAIROHASDIRECTFBSURFACE | Enable cairo.directfb module | | CairoWindowsDruntime | - | Use core.sys.windows instead of windows-headers |

License

Distributed under the Boost Software License, Version 1.0.

See the accompanying file LICENSE10.txt or view it online.

Available versions

0.0.1-alpha.3+1.10.2 0.0.1-alpha.2+1.10.2 0.0.1-alpha.1+1.10.2 ~master