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.4.0) is NOT compatible with the Haskell Platform (2009.2.0.2) - it uses the split OpenGL packages (RAW, StateVar, etc.).

** WARNING - the module Graphics.Rendering.OpenVG.VG.Paths seems flawed in hindsight, as it ammalgamates the OpenVG VGPathSegment and VGPathCommand data types into one Haskell type. The binding is thus likely to change in the next major revision in what is perhaps the worst place. **.


  1. 3.0 to 0.4.0

[Skip to Readme]
Versions [RSS] [faq] 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.2.*), OpenGL (==2.4.*), OpenGLRaw (>= && <2), StateVar (>= && <2), Tensor (>= && <2) [details]
License BSD-3-Clause
Copyright Stephen Tetley <>
Maintainer Stephen Tetley <>
Category Graphics
Home page
Uploaded by StephenTetley at 2009-12-13T17:01:19Z
Distributions NixOS:0.7.0
Downloads 6371 total (50 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-30 [all 8 reports]


  • Graphics
    • Rendering
      • Graphics.Rendering.OpenVG
        • Util
          • Graphics.Rendering.OpenVG.Util.Colors
          • Graphics.Rendering.OpenVG.Util.PathCommands
        • Graphics.Rendering.OpenVG.VG
          • Graphics.Rendering.OpenVG.VG.BasicTypes
          • 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

For package maintainers and hackage trustees


Readme for OpenVG-0.4.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. Its 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 at all easy - but
there are instructions in the file `InstallWindows.txt`.

On all platforms you will need OpenGL and GLUT and the Haskell
bindings to OpenGL and GLUT installed and working.