OpenVG: OpenVG (ShivaVG-0.2.1) binding

[ bsd3, graphics, library ] [ Propose Tags ]

A Haskell binding for the OpenVG vector graphics API version 1.0.1, specifically the ShivaVG-0.2.1 implementation.

This version (0.7.0) should be compatible with the Haskell Platform (2013.2.0.0).

** WARNING - large parts of the API (particular the Paths module) are untested and may be revised in future. **.


  1. 6.0 to 0.7.0

  • Updated to work with GHC 7.6 and Platform 2013.2.0.0.

  • Updated Windows install instructions.

  1. 5.0 to 0.6.0

  • Added an opaque matrix type to RenderingQuality. Acknowledgement - this was derived from the Matrix class in HOpenGL.

  • Revised Image module - PixelData is now an opaque type rather than a raw pointer.

  • Work on Path module - pathBounds implemented. This module is entirely untested and may change again in the future.

[Skip to Readme]


  • Graphics
    • Rendering
      • Graphics.Rendering.OpenVG
        • Graphics.Rendering.OpenVG.VG
          • Graphics.Rendering.OpenVG.VG.Blending
          • Graphics.Rendering.OpenVG.VG.DrawingContext
          • Graphics.Rendering.OpenVG.VG.Extending
          • Graphics.Rendering.OpenVG.VG.Images
          • Graphics.Rendering.OpenVG.VG.Paint
          • Graphics.Rendering.OpenVG.VG.Parameters
          • Graphics.Rendering.OpenVG.VG.Paths
          • Graphics.Rendering.OpenVG.VG.RenderingQuality
          • Graphics.Rendering.OpenVG.VG.Scissoring
          • Graphics.Rendering.OpenVG.VG.ShivaExtensions
        • Graphics.Rendering.OpenVG.VGU
          • Graphics.Rendering.OpenVG.VGU.VGU


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.1, 0.2, 0.2.1, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0
Change log Changes
Dependencies base (<5), GLUT (>=2.4), OpenGL (>=2.8), OpenGLRaw (>=1.3), OpenVGRaw (>=0.4.0) [details]
License BSD-3-Clause
Copyright Stephen Tetley <>
Maintainer Stephen Tetley <>
Category Graphics
Home page
Uploaded by StephenTetley at 2014-01-01T17:07:00Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 7043 total (31 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 2016-10-25 [all 10 reports]

Readme for OpenVG-0.7.0

[back to package description]
Haskell bindings to ShivaVG (OpenVG implementation).

Haskell OpenVG 0.1 binds to ShivaVG-0.2.0
Haskell OpenVG 0.2 binds to ShivaVG-0.2.1
Haskell OpenVG 0.2.1 binds to ShivaVG-0.2.1
Haskell OpenVG 0.3.0 binds to ShiaVG-0.2.1 
(thanks to Stefan Kirsten for the patches).
Haskell OpenVG 0.4.0 binds to ShivaVG-0.2.1

I've tested the bindings on both Windows XP (MinGW/Msys) 
and MacOSX Leopard.

On MacOSX both the 0.2 and 0.1 bindings seem work on 
their respective libraries.

On Windows the version 0.4.0 bindings now work, though please 
make sure your Haskell OpenGL binding works first before trying 
the OpenVG binding.


MacOSX - runhaskell / GHCi freeze the shell when you try to run
the example TestVgu.hs. You will have to compile it first.

Windows - running the test through GHCi kills the GHCi session
when you close the display window. It's better to run through 

Shiva-VG (the C Library) should install quite easily on MacOSX - 
I installed it with the usual `configure`, `make` & 
`make install`. I would imagine Linux is easy too. Windows isn't 
all that easy - but there are instructions in the file 

On all platforms you will need OpenGL and GLUT and the Haskell
bindings to OpenGL and GLUT installed and working, these are
part of the Platform.