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

Changelog

  1. 3.0 to 0.4.0

  • LinearGradient type changed to be Vector4 VGfloat.

  • RadialGradient changed to (Vector4 VGfloat, VGfloat).

  • Removed Marshal and Unmarshal type classes, marshallBool and unmarshalBool moved out of the BasicTypes module.

  • Type change for colorRampStops.

  • Name change - maxStops changed to maxColorRampStops.

  • PathType(..) changed to PathAbsRel(..).

  • Substantial changes to Haddock docs.

  • Error handling in VGU redone - the original code in ErrorsInternal was taken wholesale from Sven Panne's OpenGL binding to help me bootstrap the OpenVG binding. Regrettably I forgot to replace it or attribute it - I've now replaced it. Sincere apologies to Sven Panne.


[Skip to Readme]

Modules

  • 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

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

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.2 && <2.3), OpenGL (>=2.4 && <2.5), OpenGLRaw (>=1.1.0.1 && <2), StateVar (>=1.0.0.0 && <2), Tensor (>=1.0.0.1 && <2) [details]
License BSD-3-Clause
Copyright Stephen Tetley <stephen.tetley@gmail.com>
Author
Maintainer Stephen Tetley <stephen.tetley@gmail.com>
Category Graphics
Home page http://code.google.com/p/copperbox/
Uploaded by StephenTetley at 2009-12-13T17:01:19Z
Distributions
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-12-30 [all 8 reports]

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.



OTHER PROBLEMS:

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

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.