packages feed

OpenVG 0.1 → 0.2

raw patch · 29 files changed

+1136/−306 lines, 29 filesdep ~basesetup-changed

Dependency ranges changed: base

Files

InstallWindows.txt view
@@ -1,7 +1,7 @@ It is tedious to install ShivaVG on Windows with MinGW/Msys (I -don't think Cygwin will work at all). With GHC-6.10.1 most -people appear to be following these instructions to install -HOpenGL and HGLUT - they are the ones I followed:+don't think Cygwin will work at all). With GHC-6.10.1 (and 6.10.2,+and 6.10.3 ?) most people appear to be following these instructions +to install HOpenGL and HGLUT - they are the ones I followed:  http://netsuperbrain.com/blog/posts/freeglut-windows-hopengl-hglut/ @@ -49,15 +49,15 @@ > tar xvfz OpenVG-0.1.tar.gz  > cd OpenVG-0.1-> runhaskell Setup.hs configure-> runhaskell Setup.hs build-> runhaskell Setup.hs install-> runhaskell Setup.hs haddock+> runhaskell Setup.lhs configure+> runhaskell Setup.lhs build+> runhaskell Setup.lhs install+> runhaskell Setup.lhs haddock  To run the test you need to copy `openvg32.dll` from-the shivavg src directory into OpenVG-0.1/examples.+the shivavg src directory into OpenVG-0.2/examples. The cd to examples and run with:-> runhaskell -lopenvg TestVgu.hs+> runhaskell -lopenvg32 TestVgu.hs  This should display a white window with some line drawn shapes.@@ -105,11 +105,4 @@   -   -  -- --   -   
+ NEWS view
@@ -0,0 +1,24 @@+++version 0.2 (07 Jul 2009):+  * Updated to support ShivaVG version 0.2.1+  * ShivaVG 0.2.1 add support for+    - vgHardwareQuery ++  * ShivaVG 0.2.1 stubbed a number of functions that were previously missing+    - vgMask+    - vgChildImage+    - vgGetParent+    - vgColorMatrix+    - vgConvolve+    - vgSeparableConvolve+    - vgGaussianBlur+    - vgLookup+    - vgLookupSingle++    - vguComputeWarpQuadToSquare+    - vguComputeWarpSquareToQuad+    - vguComputeWarpQuadToQuad+ +version 0.1 (02 Feb 2009):+  * Support for ShivaVG version 0.2.0 
OpenVG.cabal view
@@ -1,33 +1,38 @@ name:             OpenVG-version:          0.1+version:          0.2 license:          BSD3 license-file:     LICENSE copyright:        Stephen Tetley <stephen.tetley@gmail.com> maintainer:       Stephen Tetley <stephen.tetley@gmail.com> homepage:         http://code.google.com/p/copperbox/ category:         Graphics-synopsis:         OpenVG (shivag-0.2.0) binding+synopsis:         OpenVG (shivag-0.2.1) binding description:   A Haskell binding for the OpenVG vector graphics API version 1.0.1-  (specifically the shivavg-0.2.0 implementation).+  specifically the shivavg-0.2.1 implementation.+  *** Windows users - use version 1.0 and ShivaVG-0.2.0. *** + build-type:         Simple stability:          alpha cabal-version:      >= 1.2  extra-source-files:   InstallWindows.txt,+  NEWS,   README.txt,   examples/TestUtils.hs,   examples/TestVgu.hs  library   hs-source-dirs:     src-  build-depends:      base, OpenGL >= 2.2, GLUT >= 2.1.1.2+  build-depends:      base < 5, OpenGL >= 2.2, GLUT >= 2.1.1.2       exposed-modules:     Graphics.Rendering.OpenVG,+    Graphics.Rendering.OpenVG.Util.Colors,+    Graphics.Rendering.OpenVG.Util.PathCommands,     Graphics.Rendering.OpenVG.VG,     Graphics.Rendering.OpenVG.VGU,     Graphics.Rendering.OpenVG.VG.BasicTypes,
README.txt view
@@ -1,9 +1,20 @@ 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+ I've tested the bindings on both Windows XP (MinGW/Msys) -and MacOSX leopard.+and MacOSX Leopard. -KNOWN PROBLEMS:+On MacOSX both the 0.2 and 0.1 bindings seem work on +their respective libraries.++On Windows I've not been able to get the 0.2 bindings to work,+so go with Haskell OpenVG 0.1 and ShivaVG-0.2.0.++++OTHER PROBLEMS:  MacOSX - runhaskell / GHCi freeze the shell when you try to run the example TestVgu.hs. You will have to compile it first.
+ Setup.hs view
@@ -0,0 +1,5 @@+#!/usr/bin/env runhaskell++import Distribution.Simple++main = defaultMain
− Setup.lhs
@@ -1,3 +0,0 @@-#!/usr/bin/env runhaskell-> import Distribution.Simple-> main = defaultMain
src/Graphics/Rendering/OpenVG.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
+ src/Graphics/Rendering/OpenVG/Util/Colors.hs view
@@ -0,0 +1,627 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Graphics.Rendering.OpenVG.Util.Colors+-- Copyright   :  (c) Stephen Tetley 2009+-- License     :  BSD3+--+-- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>+-- Stability   :  highly unstable+-- Portability :  GHC+--+-- Colour definitions named with the SVG \'named colours\', but+-- defining OpenGL colours. +--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Util.Colors (+    -- * Named colours+    aliceblue, +    antiquewhite,+    aqua,+    aquamarine,+    azure,+    beige,+    bisque,+    black,+    blanchedalmond,+    blue,+    blueviolet,+    brown,+    burlywood,+    cadetblue,+    chartreuse,+    chocolate,+    coral,+    cornflowerblue,+    cornsilk,+    crimson,+    cyan,+    darkblue,+    darkcyan,+    darkgoldenrod,+    darkgray,+    darkgreen,+    darkgrey,+    darkkhaki,+    darkmagenta,+    darkolivegreen,+    darkorange,+    darkorchid,+    darkred,+    darksalmon,+    darkseagreen,+    darkslateblue,+    darkslategray,+    darkslategrey,+    darkturquoise,+    darkviolet,+    deeppink,+    deepskyblue,+    dimgray,+    dimgrey,+    dodgerblue,+    firebrick,+    floralwhite,+    forestgreen,+    fuchsia,+    gainsboro,+    ghostwhite,+    gold,+    goldenrod,+    gray,+    grey,+    green,+    greenyellow,+    honeydew,+    hotpink,+    indianred,+    indigo,+    ivory,+    khaki,+    lavender,+    lavenderblush,+    lawngreen,+    lemonchiffon,+    lightblue,+    lightcoral,+    lightcyan,+    lightgoldenrodyellow,+    lightgray,+    lightgreen,+    lightgrey,+    lightpink,+    lightsalmon,+    lightseagreen,+    lightskyblue,+    lightslategray,+    lightslategrey,+    lightsteelblue,+    lightyellow,+    lime,+    limegreen,+    linen,+    magenta,+    maroon,+    mediumaquamarine,+    mediumblue,+    mediumorchid,+    mediumpurple,+    mediumseagreen,+    mediumslateblue,+    mediumspringgreen,+    mediumturquoise,+    mediumvioletred,+    midnightblue,+    mintcream,+    mistyrose,+    moccasin,+    navajowhite,+    navy,+    oldlace,+    olive,+    olivedrab,+    orange,+    orangered,+    orchid,+    palegoldenrod,+    palegreen,+    paleturquoise,+    palevioletred,+    papayawhip,+    peachpuff,+    peru,+    pink,+    plum,+    powderblue,+    purple,+    red,+    rosybrown,+    royalblue,+    saddlebrown,+    salmon,+    sandybrown,+    seagreen,+    seashell,+    sienna,+    silver,+    skyblue,+    slateblue,+    slategray,+    slategrey,+    snow,+    springgreen,+    steelblue,+    tan,+    teal,+    thistle,+    tomato,+    turquoise,+    violet,+    wheat,+    white,+    whitesmoke,+    yellow,+    yellowgreen+) where++import Graphics.Rendering.OpenGL.GL ( +    Color4(..), Color3(..), GLfloat )++import Prelude hiding ( tan )++class RGB t where rgb :: GLfloat -> GLfloat -> GLfloat -> t GLfloat++instance RGB Color4 where+  rgb r g b = Color4 (r / 255.0) (g / 255.0) (b / 255.0) 1.0++instance RGB Color3 where+  rgb r g b = Color3 (r / 255.0) (g / 255.0) (b / 255.0)+  +  +aliceblue           :: RGB c => c GLfloat+aliceblue           = rgb 240 248 255++antiquewhite        :: RGB c => c GLfloat+antiquewhite        = rgb 250 235 215++aqua                :: RGB c => c GLfloat+aqua                = rgb 0 255 255++aquamarine          :: RGB c => c GLfloat+aquamarine          = rgb 127 255 212++azure               :: RGB c => c GLfloat+azure               = rgb 240 255 255++beige               :: RGB c => c GLfloat  +beige               = rgb 245 245 220++bisque              :: RGB c => c GLfloat+bisque              = rgb 255 228 196++black               :: RGB c => c GLfloat+black               = rgb  0 0 0++blanchedalmond      :: RGB c => c GLfloat+blanchedalmond      = rgb 255 235 205++blue                :: RGB c => c GLfloat+blue                = rgb  0 0 255++blueviolet          :: RGB c => c GLfloat+blueviolet          = rgb 138 43 226++brown               :: RGB c => c GLfloat+brown               = rgb 165 42 42++burlywood           :: RGB c => c GLfloat+burlywood           = rgb 222 184 135++cadetblue           :: RGB c => c GLfloat+cadetblue           = rgb  95 158 160++chartreuse          :: RGB c => c GLfloat+chartreuse          = rgb 127 255 0++chocolate           :: RGB c => c GLfloat+chocolate           = rgb 210 105 30++coral               :: RGB c => c GLfloat+coral               = rgb 255 127 80++cornflowerblue      :: RGB c => c GLfloat+cornflowerblue      = rgb 100 149 237++cornsilk            :: RGB c => c GLfloat+cornsilk            = rgb 255 248 220++crimson             :: RGB c => c GLfloat+crimson             = rgb 220 20 60++cyan                :: RGB c => c GLfloat+cyan                = rgb  0 255 255++darkblue            :: RGB c => c GLfloat+darkblue            = rgb  0 0 139++darkcyan            :: RGB c => c GLfloat+darkcyan            = rgb  0 139 139++darkgoldenrod       :: RGB c => c GLfloat+darkgoldenrod       = rgb 184 134 11++darkgray            :: RGB c => c GLfloat+darkgray            = rgb 169 169 169++darkgreen           :: RGB c => c GLfloat+darkgreen           = rgb  0 100 0++darkgrey            :: RGB c => c GLfloat+darkgrey            = rgb 169 169 169++darkkhaki           :: RGB c => c GLfloat+darkkhaki           = rgb 189 183 107++darkmagenta         :: RGB c => c GLfloat+darkmagenta         = rgb 139 0 139++darkolivegreen      :: RGB c => c GLfloat+darkolivegreen      = rgb  85 107 47++darkorange          :: RGB c => c GLfloat+darkorange          = rgb 255 140 0++darkorchid          :: RGB c => c GLfloat+darkorchid          = rgb 153 50 204++darkred             :: RGB c => c GLfloat+darkred             = rgb 139 0 0++darksalmon          :: RGB c => c GLfloat+darksalmon          = rgb 233 150 122++darkseagreen        :: RGB c => c GLfloat+darkseagreen        = rgb 143 188 143++darkslateblue       :: RGB c => c GLfloat+darkslateblue       = rgb  72 61 139++darkslategray       :: RGB c => c GLfloat+darkslategray       = rgb  47 79 79++darkslategrey       :: RGB c => c GLfloat+darkslategrey       = rgb  47 79 79++darkturquoise       :: RGB c => c GLfloat+darkturquoise       = rgb  0 206 209++darkviolet          :: RGB c => c GLfloat+darkviolet          = rgb 148 0 211++deeppink            :: RGB c => c GLfloat+deeppink            = rgb 255 20 147++deepskyblue         :: RGB c => c GLfloat+deepskyblue         = rgb  0 191 255++dimgray             :: RGB c => c GLfloat+dimgray             = rgb 105 105 105++dimgrey             :: RGB c => c GLfloat+dimgrey             = rgb 105 105 105++dodgerblue          :: RGB c => c GLfloat+dodgerblue          = rgb  30 144 255++firebrick           :: RGB c => c GLfloat+firebrick           = rgb 178 34 34++floralwhite         :: RGB c => c GLfloat+floralwhite         = rgb 255 250 240++forestgreen         :: RGB c => c GLfloat+forestgreen         = rgb  34 139 34++fuchsia             :: RGB c => c GLfloat+fuchsia             = rgb 255 0 255++gainsboro           :: RGB c => c GLfloat+gainsboro           = rgb 220 220 220++ghostwhite          :: RGB c => c GLfloat+ghostwhite          = rgb 248 248 255++gold                :: RGB c => c GLfloat+gold                = rgb 255 215 0++goldenrod           :: RGB c => c GLfloat+goldenrod           = rgb 218 165 32++gray                :: RGB c => c GLfloat+gray                = rgb 128 128 128++grey                :: RGB c => c GLfloat+grey                = rgb 128 128 128++green               :: RGB c => c GLfloat+green               = rgb  0 128 0++greenyellow         :: RGB c => c GLfloat+greenyellow         = rgb 173 255 47++honeydew            :: RGB c => c GLfloat+honeydew            = rgb 240 255 240++hotpink             :: RGB c => c GLfloat+hotpink             = rgb 255 105 180++indianred           :: RGB c => c GLfloat+indianred           = rgb 205 92 92++indigo              :: RGB c => c GLfloat+indigo              = rgb  75 0 130++ivory               :: RGB c => c GLfloat+ivory               = rgb 255 255 240++khaki               :: RGB c => c GLfloat+khaki               = rgb 240 230 140++lavender            :: RGB c => c GLfloat+lavender            = rgb 230 230 250++lavenderblush       :: RGB c => c GLfloat+lavenderblush       = rgb 255 240 245++lawngreen           :: RGB c => c GLfloat+lawngreen           = rgb 124 252 0++lemonchiffon        :: RGB c => c GLfloat+lemonchiffon        = rgb 255 250 205++lightblue           :: RGB c => c GLfloat+lightblue           = rgb 173 216 230++lightcoral          :: RGB c => c GLfloat+lightcoral          = rgb 240 128 128++lightcyan           :: RGB c => c GLfloat+lightcyan           = rgb 224 255 255++lightgoldenrodyellow  :: RGB c => c GLfloat+lightgoldenrodyellow  = rgb 250 250 210++lightgray           :: RGB c => c GLfloat+lightgray           = rgb 211 211 211++lightgreen          :: RGB c => c GLfloat+lightgreen          = rgb 144 238 144++lightgrey           :: RGB c => c GLfloat+lightgrey           = rgb 211 211 211++lightpink           :: RGB c => c GLfloat+lightpink           = rgb 255 182 193++lightsalmon         :: RGB c => c GLfloat+lightsalmon         = rgb 255 160 122++lightseagreen       :: RGB c => c GLfloat+lightseagreen       = rgb  32 178 170++lightskyblue        :: RGB c => c GLfloat+lightskyblue        = rgb 135 206 250++lightslategray      :: RGB c => c GLfloat+lightslategray      = rgb 119 136 153++lightslategrey      :: RGB c => c GLfloat+lightslategrey      = rgb 119 136 153++lightsteelblue      :: RGB c => c GLfloat+lightsteelblue      = rgb 176 196 222++lightyellow         :: RGB c => c GLfloat+lightyellow         = rgb 255 255 224++lime                :: RGB c => c GLfloat+lime                = rgb  0 255 0++limegreen           :: RGB c => c GLfloat+limegreen           = rgb  50 205 50++linen               :: RGB c => c GLfloat+linen               = rgb 250 240 230++magenta             :: RGB c => c GLfloat+magenta             = rgb 255 0 255++maroon              :: RGB c => c GLfloat+maroon              = rgb 128 0 0++mediumaquamarine    :: RGB c => c GLfloat+mediumaquamarine    = rgb 102 205 170++mediumblue          :: RGB c => c GLfloat+mediumblue          = rgb 0 0 205++mediumorchid        :: RGB c => c GLfloat+mediumorchid        = rgb 186 85 211++mediumpurple        :: RGB c => c GLfloat+mediumpurple        = rgb 147 112 219++mediumseagreen      :: RGB c => c GLfloat+mediumseagreen      = rgb 60 179 113++mediumslateblue     :: RGB c => c GLfloat+mediumslateblue     = rgb 123 104 238++mediumspringgreen   :: RGB c => c GLfloat+mediumspringgreen   = rgb 0 250 154++mediumturquoise     :: RGB c => c GLfloat+mediumturquoise     = rgb 72 209 204++mediumvioletred     :: RGB c => c GLfloat+mediumvioletred     = rgb 199 21 133++midnightblue        :: RGB c => c GLfloat+midnightblue        = rgb  25 25 112++mintcream           :: RGB c => c GLfloat+mintcream           = rgb 245 255 250++mistyrose           :: RGB c => c GLfloat+mistyrose           = rgb 255 228 225++moccasin            :: RGB c => c GLfloat+moccasin            = rgb 255 228 181++navajowhite         :: RGB c => c GLfloat+navajowhite         = rgb 255 222 173++navy                :: RGB c => c GLfloat+navy                = rgb  0 0 128++oldlace             :: RGB c => c GLfloat+oldlace             = rgb 253 245 230++olive               :: RGB c => c GLfloat+olive               = rgb 128 128 0++olivedrab           :: RGB c => c GLfloat+olivedrab           = rgb 107 142 35++orange              :: RGB c => c GLfloat+orange              = rgb 255 165 0++orangered           :: RGB c => c GLfloat+orangered           = rgb 255 69 0++orchid              :: RGB c => c GLfloat+orchid              = rgb 218 112 214++palegoldenrod       :: RGB c => c GLfloat+palegoldenrod       = rgb 238 232 170++palegreen           :: RGB c => c GLfloat+palegreen           = rgb 152 251 152++paleturquoise       :: RGB c => c GLfloat+paleturquoise       = rgb 175 238 238++palevioletred       :: RGB c => c GLfloat+palevioletred       = rgb 219 112 147++papayawhip          :: RGB c => c GLfloat+papayawhip          = rgb 255 239 213++peachpuff           :: RGB c => c GLfloat+peachpuff           = rgb 255 218 185++peru                :: RGB c => c GLfloat+peru                = rgb 205 133 63++pink                :: RGB c => c GLfloat+pink                = rgb 255 192 203++plum                :: RGB c => c GLfloat+plum                = rgb 221 160 221++powderblue          :: RGB c => c GLfloat+powderblue          = rgb 176 224 230++purple              :: RGB c => c GLfloat+purple              = rgb 128 0 128++red                 :: RGB c => c GLfloat+red                 = rgb 255 0 0++rosybrown           :: RGB c => c GLfloat+rosybrown           = rgb 188 143 143++royalblue           :: RGB c => c GLfloat+royalblue           = rgb  65 105 225++saddlebrown         :: RGB c => c GLfloat+saddlebrown         = rgb 139 69 19++salmon              :: RGB c => c GLfloat+salmon              = rgb 250 128 114++sandybrown          :: RGB c => c GLfloat+sandybrown          = rgb 244 164 96++seagreen            :: RGB c => c GLfloat+seagreen            = rgb  46 139 87++seashell            :: RGB c => c GLfloat+seashell            = rgb 255 245 238++sienna              :: RGB c => c GLfloat+sienna              = rgb 160 82 45++silver              :: RGB c => c GLfloat+silver              = rgb 192 192 192++skyblue             :: RGB c => c GLfloat+skyblue             = rgb 135 206 235++slateblue           :: RGB c => c GLfloat+slateblue           = rgb 106 90 205++slategray           :: RGB c => c GLfloat+slategray           = rgb 112 128 144++slategrey           :: RGB c => c GLfloat+slategrey           = rgb 112 128 144++snow                :: RGB c => c GLfloat+snow                = rgb 255 250 250++springgreen         :: RGB c => c GLfloat+springgreen         = rgb  0 255 127++steelblue           :: RGB c => c GLfloat+steelblue           = rgb  70 130 180++tan                 :: RGB c => c GLfloat+tan                 = rgb 210 180 140++teal                :: RGB c => c GLfloat+teal                = rgb  0 128 128++thistle             :: RGB c => c GLfloat+thistle             = rgb 216 191 216++tomato              :: RGB c => c GLfloat+tomato              = rgb 255 99 71++turquoise           :: RGB c => c GLfloat+turquoise           = rgb  64 224 208++violet              :: RGB c => c GLfloat+violet              = rgb 238 130 238++wheat               :: RGB c => c GLfloat+wheat               = rgb 245 222 179++white               :: RGB c => c GLfloat+white               = rgb 255 255 255++whitesmoke          :: RGB c => c GLfloat+whitesmoke          = rgb 245 245 245++yellow              :: RGB c => c GLfloat+yellow              = rgb 255 255 0++yellowgreen         :: RGB c => c GLfloat+yellowgreen         = rgb 154 205 50+++++
+ src/Graphics/Rendering/OpenVG/Util/PathCommands.hs view
@@ -0,0 +1,173 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Graphics.Rendering.OpenVG.Util.PathCommands+-- Copyright   :  (c) Stephen Tetley 2009+-- License     :  BSD3+--+-- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>+-- Stability   :  highly unstable+-- Portability :  GHC+--+-- Path Segment commands corresponding to section 8.5.2+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Util.PathCommands (+  -- * Translate Path Commands+  pathData,+  +  -- * Path commands+  closePath,+  moveAbs, moveRel,+  lineAbs, lineRel,+  hlineAbs, hlineRel,+  vlineAbs, vlineRel,+  quadraticAbs, quadraticRel,+  cubicAbs, cubicRel,+  smoothQuadAbs, smoothQuadRel,+  smoothCubicAbs, smoothCubicRel,+  smallCcwArcAbs, smallCcwArcRel,+  smallCwArcAbs, smallCwArcRel,+  largeCcwArcAbs, largeCcwArcRel,+  largeCwArcAbs, largeCwArcRel,+  +  +) where++import Graphics.Rendering.OpenVG.VG.Paths++data SegmentCommand a = +     CLOSE_PATH+   | MOVE_TO    PathType a a+   | LINE_TO    PathType a a+   | HLINE_TO   PathType a+   | VLINE_TO   PathType a+   | QUAD_TO    PathType a a a a+   | CUBIC_TO   PathType a a a a a a+   | SQUAD_TO   PathType a a+   | SCUBIC_TO  PathType a a a a+   | SCCWARC_TO PathType a a a a a+   | SCWARC_TO  PathType a a a a a+   | LCCWARC_TO PathType a a a a a+   | LCWARC_TO  PathType a a a a a+   deriving ( Eq, Show )++pathData :: StorablePathData a => [SegmentCommand a] -> ([PathCommand], [a])+pathData = foldr fn ([],[]) where+  fn :: SegmentCommand a -> ([PathCommand], [a]) -> ([PathCommand], [a])+  fn CLOSE_PATH                     (xs,ys) = (ClosePath:xs,ys) +  fn (MOVE_TO t x y)                (xs,ys) +          | t == Absolute                   = (MoveToAbs : xs, x:y:ys)+          | otherwise                       = (MoveToRel : xs, x:y:ys)+  fn (LINE_TO t x y)                (xs,ys) +          | t == Absolute                   = (LineToAbs : xs, x:y:ys)+          | otherwise                       = (LineToRel : xs, x:y:ys)+  fn (HLINE_TO t x)                 (xs,ys)+          | t == Absolute                   = (HLineToAbs : xs, x:ys)+          | otherwise                       = (HLineToRel : xs, x:ys)+  fn (VLINE_TO t y)                 (xs,ys)+          | t == Absolute                   = (VLineToAbs : xs, y:ys)+          | otherwise                       = (VLineToRel : xs, y:ys)+  fn (QUAD_TO t x y x' y')          (xs,ys)+          | t == Absolute                   = (QuadToAbs : xs, x:y:x':y':ys)+          | otherwise                       = (QuadToRel : xs, x:y:x':y':ys)+  fn (CUBIC_TO t x y x' y' x'' y'') (xs,ys)+          | t == Absolute                   = (CubicToAbs : xs, x:y:x':y':x'':y'':ys)+          | otherwise                       = (CubicToRel : xs, x:y:x':y':x'':y'':ys)+  fn (SQUAD_TO t x y)               (xs,ys)+          | t == Absolute                   = (SQuadToAbs : xs, x:y:ys)+          | otherwise                       = (SQuadToRel : xs, x:y:ys)+  fn (SCUBIC_TO t x y x' y')        (xs,ys)+          | t == Absolute                   = (SCubicToAbs : xs, x:y:x':y':ys)+          | otherwise                       = (SCubicToRel : xs, x:y:x':y':ys)+  fn (SCCWARC_TO t rh rv rt x y)    (xs,ys)+          | t == Absolute                   = (SCCWArcToAbs : xs, rh:rv:rt:x:y:ys)+          | otherwise                       = (SCCWArcToRel : xs, rh:rv:rt:x:y:ys)+  fn (SCWARC_TO t rh rv rt x y)     (xs,ys)+          | t == Absolute                   = (SCWArcToAbs : xs, rh:rv:rt:x:y:ys)+          | otherwise                       = (SCWArcToRel : xs, rh:rv:rt:x:y:ys)+  fn (LCCWARC_TO t rh rv rt x y)    (xs,ys)+          | t == Absolute                   = (LCCWArcToAbs : xs, rh:rv:rt:x:y:ys)+          | otherwise                       = (LCCWArcToRel : xs, rh:rv:rt:x:y:ys)+  fn (LCWARC_TO t rh rv rt x y)     (xs,ys)+          | t == Absolute                   = (LCWArcToAbs : xs, rh:rv:rt:x:y:ys)+          | otherwise                       = (LCWArcToRel : xs, rh:rv:rt:x:y:ys)+++closePath :: SegmentCommand a+closePath = CLOSE_PATH++moveAbs :: StorablePathData a => a -> a -> SegmentCommand a+moveAbs = MOVE_TO Absolute ++moveRel :: StorablePathData a => a -> a -> SegmentCommand a+moveRel = MOVE_TO Relative ++lineAbs :: StorablePathData a => a -> a -> SegmentCommand a+lineAbs = LINE_TO Absolute ++lineRel :: StorablePathData a => a -> a -> SegmentCommand a+lineRel = LINE_TO Relative ++hlineAbs :: StorablePathData a => a -> SegmentCommand a+hlineAbs = VLINE_TO Absolute ++hlineRel :: StorablePathData a => a -> SegmentCommand a+hlineRel = HLINE_TO Relative ++vlineAbs :: StorablePathData a => a -> SegmentCommand a+vlineAbs = VLINE_TO Absolute ++vlineRel :: StorablePathData a => a -> SegmentCommand a+vlineRel = VLINE_TO Relative ++quadraticAbs :: StorablePathData a => a -> a -> a -> a -> SegmentCommand a+quadraticAbs = QUAD_TO Absolute++quadraticRel :: StorablePathData a => a -> a -> a -> a -> SegmentCommand a+quadraticRel = QUAD_TO Relative++cubicAbs :: StorablePathData a => a -> a -> a -> a -> a -> a -> SegmentCommand a+cubicAbs = CUBIC_TO Absolute++cubicRel :: StorablePathData a => a -> a -> a -> a -> a -> a -> SegmentCommand a+cubicRel = CUBIC_TO Relative++smoothQuadAbs :: StorablePathData a => a -> a -> SegmentCommand a+smoothQuadAbs = SQUAD_TO Absolute++smoothQuadRel :: StorablePathData a => a -> a -> SegmentCommand a+smoothQuadRel = SQUAD_TO Relative++smoothCubicAbs :: StorablePathData a => a -> a -> a -> a -> SegmentCommand a+smoothCubicAbs = SCUBIC_TO Absolute++smoothCubicRel :: StorablePathData a => a -> a -> a -> a -> SegmentCommand a+smoothCubicRel = SCUBIC_TO Relative++smallCcwArcAbs :: StorablePathData a => a -> a -> a -> a -> a -> SegmentCommand a+smallCcwArcAbs = SCCWARC_TO Absolute++smallCcwArcRel :: StorablePathData a => a -> a -> a -> a -> a -> SegmentCommand a+smallCcwArcRel = SCCWARC_TO Relative++smallCwArcAbs :: StorablePathData a => a -> a -> a -> a -> a -> SegmentCommand a+smallCwArcAbs = SCWARC_TO Absolute++smallCwArcRel :: StorablePathData a => a -> a -> a -> a -> a -> SegmentCommand a+smallCwArcRel = SCWARC_TO Relative++largeCcwArcAbs :: StorablePathData a => a -> a -> a -> a -> a -> SegmentCommand a+largeCcwArcAbs = LCCWARC_TO Absolute++largeCcwArcRel :: StorablePathData a => a -> a -> a -> a -> a -> SegmentCommand a+largeCcwArcRel = LCCWARC_TO Relative++largeCwArcAbs :: StorablePathData a => a -> a -> a -> a -> a -> SegmentCommand a+largeCwArcAbs = LCWARC_TO Absolute++largeCwArcRel :: StorablePathData a => a -> a -> a -> a -> a -> SegmentCommand a+largeCwArcRel = LCWARC_TO Relative+
src/Graphics/Rendering/OpenVG/VG.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable@@ -14,6 +14,7 @@ -- (version 1.0.1). -- The implementation targets the Shiva-VG implementation which is not  -- complete. Image Filters and Querying Hardware are not implemented. +-- --------------------------------------------------------------------------------  module Graphics.Rendering.OpenVG.VG (
src/Graphics/Rendering/OpenVG/VG/BasicTypes.hsc view
@@ -5,8 +5,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.BasicTypes--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable@@ -39,9 +39,10 @@  #include <vg/openvg.h> -import Data.Word ( Word32 ) import Graphics.Rendering.OpenGL.GL.BasicTypes +import Foreign.Ptr+ type VGfloat    = GLfloat type VGbyte     = GLbyte type VGubyte    = GLubyte@@ -74,10 +75,12 @@     | otherwise = error ("unmarshalBool: illegal value " ++ show x)        -type VGHandle = #type VGHandle+newtype VGHandle = VGHandle (Ptr ()) + vg_INVALID_HANDLE :: VGHandle -vg_INVALID_HANDLE = #const VG_INVALID_HANDLE+vg_INVALID_HANDLE = VGHandle nullPtr+  type VGPath  = VGHandle type VGImage = VGHandle
src/Graphics/Rendering/OpenVG/VG/Blending.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Blending--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/CFunDecls.hsc view
@@ -5,8 +5,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.CFunDecls--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable@@ -40,40 +40,40 @@ type VGTilingMode'          = VGenum  -foreign import ccall unsafe "vg/openvg.h vgGetError" +foreign import ccall unsafe "vg/openvg.h vgGetError"     vgGetError :: IO VGErrorCode'   -foreign import ccall unsafe "vg/openvg.h vgFlush" +foreign import ccall unsafe "vg/openvg.h vgFlush"     vgFlush :: IO ()-    -foreign import ccall unsafe "vg/openvg.h vgFinish" ++foreign import ccall unsafe "vg/openvg.h vgFinish"     vgFinish ::  IO ()-    -        ++ -- getters and setters-foreign import ccall unsafe "vg/openvg.h vgSeti" +foreign import ccall unsafe "vg/openvg.h vgSeti"     vgSeti :: VGenum -> VGint -> IO ()-    + foreign import ccall unsafe "vg/openvg.h vgSetf"     vgSetf :: VGenum -> VGfloat -> IO ()-    -foreign import ccall unsafe "vg/openvg.h vgSetfv" ++foreign import ccall unsafe "vg/openvg.h vgSetfv"     vgSetfv :: VGenum -> VGint -> Ptr VGfloat -> IO ()-    + foreign import ccall unsafe "vg/openvg.h vgSetiv"     vgSetiv :: VGenum -> VGint -> Ptr VGint -> IO () -foreign import ccall unsafe "vg/openvg.h vgGetf" +foreign import ccall unsafe "vg/openvg.h vgGetf"     vgGetf :: VGenum -> IO VGfloat-    + foreign import ccall unsafe "vg/openvg.h vgGeti"     vgGeti :: VGenum -> IO VGint  foreign import ccall unsafe "vg/openvg.h vgGetVectorSize"     vgGetVectorSize :: VGenum -> IO VGint-    + foreign import ccall unsafe "vg/openvg.h vgGetfv"     vgGetfv :: VGenum -> VGint -> IO (Ptr VGfloat) @@ -92,355 +92,348 @@ foreign import ccall unsafe "vg/openvg.h vgSetParameteriv"     vgSetParameteriv :: VGHandle -> VGenum -> VGint -> Ptr VGint -> IO () -foreign import ccall unsafe "vg/openvg.h vgGetParameterf"  -    vgGetParameterf :: VGHandle -> VGenum -> IO VGfloat                                                             +foreign import ccall unsafe "vg/openvg.h vgGetParameterf"+    vgGetParameterf :: VGHandle -> VGenum -> IO VGfloat -foreign import ccall unsafe "vg/openvg.h vgGetParameteri"  +foreign import ccall unsafe "vg/openvg.h vgGetParameteri"     vgGetParameteri :: VGHandle -> VGenum -> IO VGint -foreign import ccall unsafe "vg/openvg.h vgGetParameterVectorSize"  +foreign import ccall unsafe "vg/openvg.h vgGetParameterVectorSize"     vgGetParameterVectorSize :: VGHandle -> VGenum -> IO VGint -foreign import ccall unsafe "vg/openvg.h vgGetParameterfv"  +foreign import ccall unsafe "vg/openvg.h vgGetParameterfv"     vgGetParameterfv :: VGHandle -> VGenum -> VGint -> IO (Ptr VGfloat) -foreign import ccall unsafe "vg/openvg.h vgGetParameteriv"  +foreign import ccall unsafe "vg/openvg.h vgGetParameteriv"     vgGetParameteriv :: VGHandle -> VGenum -> VGint -> IO (Ptr VGint) -    + -- | Matrix Manipulation -- set the current matrix to the identity matrix-foreign import ccall unsafe "vg/openvg.h vgLoadIdentity"  +foreign import ccall unsafe "vg/openvg.h vgLoadIdentity"     vgLoadIdentity :: IO ()-    -foreign import ccall unsafe "vg/openvg.h vgLoadMatrix"  ++foreign import ccall unsafe "vg/openvg.h vgLoadMatrix"     vgLoadMatrix :: Ptr VGfloat -> IO () -foreign import ccall unsafe "vg/openvg.h vgGetMatrix"  +foreign import ccall unsafe "vg/openvg.h vgGetMatrix"     vgGetMatrix :: IO (Ptr VGfloat) --- multiple the current matrix by the given matrix    -foreign import ccall unsafe "vg/openvg.h vgMultMatrix"  +-- multiple the current matrix by the given matrix+foreign import ccall unsafe "vg/openvg.h vgMultMatrix"     vgMultMatrix :: Ptr VGfloat -> IO ()-     -foreign import ccall unsafe "vg/openvg.h vgTranslate"  ++foreign import ccall unsafe "vg/openvg.h vgTranslate"     vgTranslate :: VGfloat -> VGfloat -> IO ()-    -foreign import ccall unsafe "vg/openvg.h vgScale"  ++foreign import ccall unsafe "vg/openvg.h vgScale"     vgScale :: VGfloat -> VGfloat -> IO ()-    -foreign import ccall unsafe "vg/openvg.h vgShear"  ++foreign import ccall unsafe "vg/openvg.h vgShear"     vgShear :: VGfloat -> VGfloat -> IO ()-    -foreign import ccall unsafe "vg/openvg.h vgRotate"  ++foreign import ccall unsafe "vg/openvg.h vgRotate"     vgRotate :: VGfloat -> IO ()  -- | Masking and Clearing-{---- TODO vgMask seems to be missing in the dll... ?-foreign import ccall unsafe "vg/openvg.h vgMask"  -    vgMask :: VGImage -> VGMaskOperation' -> ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgMask"+    vgMask :: VGImage -> VGMaskOperation' ->                   VGint -> VGint -> VGint -> VGint -> IO ()--}-    -foreign import ccall unsafe "vg/openvg.h vgClear"  +++foreign import ccall unsafe "vg/openvg.h vgClear"     vgClear :: VGint -> VGint -> VGint -> VGint -> IO ()    -- | Paths-foreign import ccall unsafe "vg/openvg.h vgCreatePath"  -    vgCreatePath :: VGint -                 -> VGPathDatatype' -                 -> VGfloat +foreign import ccall unsafe "vg/openvg.h vgCreatePath"+    vgCreatePath :: VGint+                 -> VGPathDatatype'                  -> VGfloat-                 -> VGint -                 -> VGint -                 -> VGbitfield +                 -> VGfloat+                 -> VGint+                 -> VGint+                 -> VGbitfield                  -> IO VGPath-      -foreign import ccall unsafe "vg/openvg.h vgClearPath"  ++foreign import ccall unsafe "vg/openvg.h vgClearPath"     vgClearPath :: VGPath -> VGbitfield -> IO () -foreign import ccall unsafe "vg/openvg.h vgDestroyPath"  +foreign import ccall unsafe "vg/openvg.h vgDestroyPath"     vgDestroyPath :: VGPath -> IO ()-    -foreign import ccall unsafe "vg/openvg.h vgRemovePathCapabilities"  ++foreign import ccall unsafe "vg/openvg.h vgRemovePathCapabilities"     vgRemovePathCapabilities :: VGPath -> VGbitfield -> IO () -foreign import ccall unsafe "vg/openvg.h vgGetPathCapabilities"  +foreign import ccall unsafe "vg/openvg.h vgGetPathCapabilities"     vgGetPathCapabilities :: VGPath -> IO VGbitfield-    -foreign import ccall unsafe "vg/openvg.h vgAppendPath"  ++foreign import ccall unsafe "vg/openvg.h vgAppendPath"     vgAppendPath :: VGPath -> VGPath -> IO () --- append the data in /Ptr a/ to the path handle /VGPath/.    -foreign import ccall unsafe "vg/openvg.h vgAppendPathData"  +-- append the data in /Ptr a/ to the path handle /VGPath/.+foreign import ccall unsafe "vg/openvg.h vgAppendPathData"     vgAppendPathData :: VGPath -> VGint -> Ptr VGubyte -> Ptr a -> IO ()  -foreign import ccall unsafe "vg/openvg.h vgModifyPathCoords"  +foreign import ccall unsafe "vg/openvg.h vgModifyPathCoords"     vgModifyPathCoords :: VGPath -> VGint -> VGint -> Ptr a -> IO ()-     -foreign import ccall unsafe "vg/openvg.h vgTransformPath"  ++foreign import ccall unsafe "vg/openvg.h vgTransformPath"     vgTransformPath :: VGPath -> VGPath -> IO ()-    -    -foreign import ccall unsafe "vg/openvg.h vgInterpolatePath"  -    vgInterpolatePath :: VGPath -                      -> VGPath -                      -> VGPath -                      -> VGfloat +++foreign import ccall unsafe "vg/openvg.h vgInterpolatePath"+    vgInterpolatePath :: VGPath+                      -> VGPath+                      -> VGPath+                      -> VGfloat                       -> IO VGboolean-{---- TODO vgPathLength seems to be missing in the dll... ?-foreign import ccall unsafe "vg/openvg.h vgPathLength"  -    vgPathLength :: VGPath -> VGint -> VGint -> IO VGfloat   --} -{---- TODO vgPointAlongPath seems to be missing in the dll... ?                                -foreign import ccall unsafe "vg/openvg.h vgPointAlongPath"  -    vgPointAlongPath :: VGPath -                     -> VGint -                     -> VGint +-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgPathLength"+    vgPathLength :: VGPath -> VGint -> VGint -> IO VGfloat++++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgPointAlongPath"+    vgPointAlongPath :: VGPath+                     -> VGint+                     -> VGint                      -> VGfloat                      -> Ptr VGfloat                      -> Ptr VGfloat                      -> Ptr VGfloat                      -> Ptr VGfloat-                     -> IO ()  --}+                     -> IO () -foreign import ccall unsafe "vg/openvg.h vgPathBounds"  -    vgPathBounds :: VGPath -                 -> Ptr VGfloat -                 -> Ptr VGfloat ++foreign import ccall unsafe "vg/openvg.h vgPathBounds"+    vgPathBounds :: VGPath                  -> Ptr VGfloat                  -> Ptr VGfloat-                 -> IO () -                                                   +                 -> Ptr VGfloat+                 -> Ptr VGfloat+                 -> IO () -foreign import ccall unsafe "vg/openvg.h vgPathTransformedBounds"  -    vgPathTransformedBounds :: VGPath -                            -> Ptr VGfloat -                            -> Ptr VGfloat ++foreign import ccall unsafe "vg/openvg.h vgPathTransformedBounds"+    vgPathTransformedBounds :: VGPath                             -> Ptr VGfloat                             -> Ptr VGfloat-                            -> IO () +                            -> Ptr VGfloat+                            -> Ptr VGfloat+                            -> IO () -foreign import ccall unsafe "vg/openvg.h vgDrawPath"  +foreign import ccall unsafe "vg/openvg.h vgDrawPath"     vgDrawPath :: VGPath -> VGbitfield -> IO ()   --- | Paint -foreign import ccall unsafe "vg/openvg.h vgCreatePaint"  -    vgCreatePaint :: IO VGPaint    +-- | Paint+foreign import ccall unsafe "vg/openvg.h vgCreatePaint"+    vgCreatePaint :: IO VGPaint -foreign import ccall unsafe "vg/openvg.h vgDestroyPaint"  +foreign import ccall unsafe "vg/openvg.h vgDestroyPaint"     vgDestroyPaint :: VGPaint -> IO ()-    -foreign import ccall unsafe "vg/openvg.h vgSetPaint"  ++foreign import ccall unsafe "vg/openvg.h vgSetPaint"     vgSetPaint :: VGPaint -> VGbitfield -> IO ()  {- -- TODO vgGetPaint seems to be missing in the dll... ?-foreign import ccall unsafe "vg/openvg.h vgGetPaint"  +foreign import ccall unsafe "vg/openvg.h vgGetPaint"     vgGetPaint :: VGPaintMode' -> IO VGPaint -}  {- -- TODO vgSetColor seems to be missing in the dll... ?-foreign import ccall unsafe "vg/openvg.h vgSetColor"  +foreign import ccall unsafe "vg/openvg.h vgSetColor"     vgSetColor :: VGPaint -> VGuint -> IO () -}  {- -- TODO vgGetColor seems to be missing in the dll... ?-foreign import ccall unsafe "vg/openvg.h vgGetColor"  +foreign import ccall unsafe "vg/openvg.h vgGetColor"     vgGetColor :: VGPaint -> IO VGuint -} -foreign import ccall unsafe "vg/openvg.h vgPaintPattern"  +foreign import ccall unsafe "vg/openvg.h vgPaintPattern"     vgPaintPattern :: VGPaint -> VGImage -> IO ()   -- | Images -foreign import ccall unsafe "vg/openvg.h vgCreateImage"  -    vgCreateImage :: VGImageFormat' +foreign import ccall unsafe "vg/openvg.h vgCreateImage"+    vgCreateImage :: VGImageFormat'                   -> VGint                   -> VGint                   -> VGbitfield                   -> IO VGImage-                                  -                                  -foreign import ccall unsafe "vg/openvg.h vgDestroyImage"  -    vgDestroyImage :: VGImage -> IO () -                  -foreign import ccall unsafe "vg/openvg.h vgClearImage"  -    vgClearImage :: VGImage -> VGint -> VGint -> VGint -> VGint -> IO () -                              -foreign import ccall unsafe "vg/openvg.h vgImageSubData"  -    vgImageSubData :: VGImage +++foreign import ccall unsafe "vg/openvg.h vgDestroyImage"+    vgDestroyImage :: VGImage -> IO ()++foreign import ccall unsafe "vg/openvg.h vgClearImage"+    vgClearImage :: VGImage -> VGint -> VGint -> VGint -> VGint -> IO ()++foreign import ccall unsafe "vg/openvg.h vgImageSubData"+    vgImageSubData :: VGImage                    -> Ptr a                    -> VGint-                   -> VGImageFormat' -                   -> VGint -                   -> VGint +                   -> VGImageFormat'                    -> VGint-                   -> VGint +                   -> VGint+                   -> VGint+                   -> VGint                    -> IO ()-                                     -foreign import ccall unsafe "vg/openvg.h vgGetImageSubData"  -    vgGetImageSubData :: VGImage ++foreign import ccall unsafe "vg/openvg.h vgGetImageSubData"+    vgGetImageSubData :: VGImage                       -> Ptr a                       -> VGint-                      -> VGImageFormat' -                      -> VGint -                      -> VGint +                      -> VGImageFormat'                       -> VGint-                      -> VGint +                      -> VGint+                      -> VGint+                      -> VGint                       -> IO () -{---- TODO vgChildImage seems to be missing in the dll... ?-foreign import ccall unsafe "vg/openvg.h vgChildImage"  +-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgChildImage"     vgChildImage :: VGImage -> VGint -> VGint -> VGint -> VGint -> IO VGImage--} -{---- TODO vgGetParent seems to be missing in the dll... ?                        -foreign import ccall unsafe "vg/openvg.h vgGetParent"  ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgGetParent"     vgGetParent :: VGImage -> IO VGImage--}  -foreign import ccall unsafe "vg/openvg.h vgCopyImage"  -    vgCopyImage :: VGImage -> VGint -> VGint -                -> VGImage -> VGint -> VGint -                -> VGint   -> VGint ++foreign import ccall unsafe "vg/openvg.h vgCopyImage"+    vgCopyImage :: VGImage -> VGint -> VGint+                -> VGImage -> VGint -> VGint+                -> VGint   -> VGint                 -> VGboolean                 -> IO ()-    -                             -foreign import ccall unsafe "vg/openvg.h vgDrawImage"  +++foreign import ccall unsafe "vg/openvg.h vgDrawImage"     vgDrawImage :: VGImage -> IO () -foreign import ccall unsafe "vg/openvg.h vgSetPixels"  -    vgSetPixels :: VGint -                -> VGint -                -> VGImage -                -> VGint -                -> VGint -                -> VGint -                -> VGint +foreign import ccall unsafe "vg/openvg.h vgSetPixels"+    vgSetPixels :: VGint+                -> VGint+                -> VGImage+                -> VGint+                -> VGint+                -> VGint+                -> VGint                 -> IO () -foreign import ccall unsafe "vg/openvg.h vgWritePixels"  +foreign import ccall unsafe "vg/openvg.h vgWritePixels"     vgWritePixels :: Ptr a-                  -> VGint -                  -> VGImageFormat'  -                  -> VGint -                  -> VGint -                  -> VGint -                  -> VGint +                  -> VGint+                  -> VGImageFormat'+                  -> VGint+                  -> VGint+                  -> VGint+                  -> VGint                   -> IO ()-                 -foreign import ccall unsafe "vg/openvg.h vgGetPixels"  ++foreign import ccall unsafe "vg/openvg.h vgGetPixels"     vgGetPixels :: VGImage-                -> VGint -                -> VGint  -                -> VGint -                -> VGint -                -> VGint -                -> VGint +                -> VGint+                -> VGint+                -> VGint+                -> VGint+                -> VGint+                -> VGint                 -> IO ()-                  -foreign import ccall unsafe "vg/openvg.h vgReadPixels"  -    vgReadPixels :: Ptr a ++foreign import ccall unsafe "vg/openvg.h vgReadPixels"+    vgReadPixels :: Ptr a                  -> VGint-                 -> VGImageFormat' -                 -> VGint  -                 -> VGint -                 -> VGint -                 -> VGint +                 -> VGImageFormat'+                 -> VGint+                 -> VGint+                 -> VGint+                 -> VGint                  -> IO ()-                 -foreign import ccall unsafe "vg/openvg.h vgCopyPixels"  ++foreign import ccall unsafe "vg/openvg.h vgCopyPixels"     vgCopyPixels :: VGint                  -> VGint-                 -> VGint  -                 -> VGint -                 -> VGint -                 -> VGint +                 -> VGint+                 -> VGint+                 -> VGint+                 -> VGint                  -> IO ()-                               + -- | Image Filters -{---- TODO vgColorMatrix seems to be missing in the dll... ? -foreign import ccall unsafe "vg/openvg.h vgColorMatrix"  ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgColorMatrix"     vgColorMatrix :: VGImage -> VGImage -> Ptr VGfloat -> IO ()--}      -{---- TODO vgConvolve seems to be missing in the dll... ? -foreign import ccall unsafe "vg/openvg.h vgConvolve"  -    vgConvolve :: VGImage ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgConvolve"+    vgConvolve :: VGImage                -> VGImage                -> VGint                -> VGint                -> VGint-               -> VGint +               -> VGint                -> Ptr VGshort                -> VGfloat                -> VGfloat                -> VGTilingMode'-               -> IO ()                            --}+               -> IO () -{---- TODO vgSeparableConvolve seems to be missing in the dll... ? -foreign import ccall unsafe "vg/openvg.h vgSeparableConvolve"  -    vgSeparableConvolve :: VGImage +-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgSeparableConvolve"+    vgSeparableConvolve :: VGImage                         -> VGImage                         -> VGint                         -> VGint                         -> VGint-                        -> VGint +                        -> VGint                         -> Ptr VGshort                         -> Ptr VGshort                         -> VGfloat                         -> VGfloat                         -> VGTilingMode'-                        -> IO () --}+                        -> IO () -{---- TODO vgGaussianBlur seems to be missing in the dll... ?            -foreign import ccall unsafe "vg/openvg.h vgGaussianBlur"  -    vgGaussianBlur :: VGImage ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgGaussianBlur"+    vgGaussianBlur :: VGImage                    -> VGImage                    -> VGfloat                    -> VGfloat                    -> VGTilingMode'-                   -> IO () --}+                   -> IO () -{---- TODO vgLookup seems to be missing in the dll... ? -foreign import ccall unsafe "vg/openvg.h vgLookup"  -    vgLookup :: VGImage ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgLookup"+    vgLookup :: VGImage              -> VGImage              -> Ptr VGubyte              -> Ptr VGubyte@@ -448,47 +441,46 @@              -> Ptr VGubyte              -> VGboolean              -> VGboolean-             -> IO () --}+             -> IO () -{---- TODO vgLookupSingle seems to be missing in the dll... ?-foreign import ccall unsafe "vg/openvg.h vgLookupSingle"  -    vgLookupSingle :: VGImage ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgLookupSingle"+    vgLookupSingle :: VGImage                    -> VGImage                    -> Ptr VGuint                    -> VGImageChannel'                    -> VGboolean                    -> VGboolean-                   -> IO () --}+                   -> IO ()   -- | Hardware Queries-{---- TODO vgHardwareQuery seems to be missing in the dll... ?-foreign import ccall unsafe "vg/openvg.h vgHardwareQuery"  -    vgHardwareQuery :: VGHardwareQueryType' -                    -> VGint ++-- | Query hardware capabilites++-- Implemented in shivaVG 0.2.1+foreign import ccall unsafe "vg/openvg.h vgHardwareQuery"+    vgHardwareQuery :: VGHardwareQueryType'+                    -> VGint                     -> IO VGHardwareQueryResult'--}  -- | Renderer and Extension Information-foreign import ccall unsafe "vg/openvg.h vgGetString"  -    vgGetString :: VGStringID' -> IO CString +foreign import ccall unsafe "vg/openvg.h vgGetString"+    vgGetString :: VGStringID' -> IO CString  -- | Shiva-VG Extensions -- See the README in the shiva archive.-foreign import ccall unsafe "vg/openvg.h vgCreateContextSH"  +foreign import ccall unsafe "vg/openvg.h vgCreateContextSH"     vgCreateContextSH :: VGint -> VGint -> IO VGboolean-    -foreign import ccall unsafe "vg/openvg.h vgResizeSurfaceSH"  ++foreign import ccall unsafe "vg/openvg.h vgResizeSurfaceSH"     vgResizeSurfaceSH :: VGint -> VGint -> IO ()-     -foreign import ccall unsafe "vg/openvg.h vgDestroyContextSH"  ++foreign import ccall unsafe "vg/openvg.h vgDestroyContextSH"     vgDestroyContextSH :: IO ()-    +   
src/Graphics/Rendering/OpenVG/VG/Constants.hsc view
@@ -5,8 +5,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Constants--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/DrawingContext.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.ShivaExtensions--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/Extending.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Extending--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/Images.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Images--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/Paint.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Paint--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/Parameters.hs view
@@ -4,8 +4,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Parameters--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/Paths.hs view
@@ -5,8 +5,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Paths--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/RenderingQuality.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.RenderingQuality--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/Scissoring.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Scissoring--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/ShivaExtensions.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.ShivaExtensions--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VG/Utils.hs view
@@ -4,8 +4,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Utils--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VGU.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VGU--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VGU/CInternals.hsc view
@@ -5,8 +5,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VGU.CInternals--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable@@ -78,11 +78,8 @@            -> VGfloat -> VGfloat            -> VGenum             -> IO VGUErrorCode'  -                 -{- --- not implemented by shiva-vg-+-- Stubbed in shivaVG 0.2.1 (not implemented) foreign import ccall unsafe "vg/openvg.h vguComputeWarpQuadToSquare"     vguComputeWarpQuadToSquare :: VGfloat -> VGfloat                                 -> VGfloat -> VGfloat@@ -91,7 +88,7 @@                                -> Ptr VGfloat                                -> IO VGUErrorCode'   -+-- Stubbed in shivaVG 0.2.1 (not implemented) foreign import ccall unsafe "vg/openvg.h vguComputeWarpSquareToQuad"     vguComputeWarpSquareToQuad :: VGfloat -> VGfloat                                 -> VGfloat -> VGfloat@@ -100,6 +97,7 @@                                -> Ptr VGfloat                                -> IO VGUErrorCode'   +-- Stubbed in shivaVG 0.2.1 (not implemented) foreign import ccall unsafe "vg/openvg.h vguComputeWarpQuadToQuad"     vguComputeWarpQuadToQuad :: VGfloat -> VGfloat                               -> VGfloat -> VGfloat@@ -111,6 +109,7 @@                              -> VGfloat -> VGfloat                              -> Ptr VGfloat                              -> IO VGUErrorCode'  --}  ++  -- end of file
src/Graphics/Rendering/OpenVG/VGU/Errors.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Errors--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VGU/ErrorsInternal.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VG.Errors--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable
src/Graphics/Rendering/OpenVG/VGU/VGU.hs view
@@ -3,8 +3,8 @@ -------------------------------------------------------------------------------- -- | -- Module      :  Graphics.Rendering.OpenVG.VGU.VGU--- Copyright   :  (c) Stephen Tetley 2008--- License     :  BSD-style (see the LICENSE file in the distribution)+-- Copyright   :  (c) Stephen Tetley 2008, 2009+-- License     :  BSD3 -- -- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com> -- Stability   :  highly unstable