OpenVG 0.1 → 0.2
raw patch · 29 files changed
+1136/−306 lines, 29 filesdep ~basesetup-changed
Dependency ranges changed: base
Files
- InstallWindows.txt +9/−16
- NEWS +24/−0
- OpenVG.cabal +9/−4
- README.txt +13/−2
- Setup.hs +5/−0
- Setup.lhs +0/−3
- src/Graphics/Rendering/OpenVG.hs +2/−2
- src/Graphics/Rendering/OpenVG/Util/Colors.hs +627/−0
- src/Graphics/Rendering/OpenVG/Util/PathCommands.hs +173/−0
- src/Graphics/Rendering/OpenVG/VG.hs +3/−2
- src/Graphics/Rendering/OpenVG/VG/BasicTypes.hsc +8/−5
- src/Graphics/Rendering/OpenVG/VG/Blending.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/CFunDecls.hsc +224/−232
- src/Graphics/Rendering/OpenVG/VG/Constants.hsc +2/−2
- src/Graphics/Rendering/OpenVG/VG/DrawingContext.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/Extending.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/Images.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/Paint.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/Parameters.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/Paths.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/RenderingQuality.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/Scissoring.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/ShivaExtensions.hs +2/−2
- src/Graphics/Rendering/OpenVG/VG/Utils.hs +2/−2
- src/Graphics/Rendering/OpenVG/VGU.hs +2/−2
- src/Graphics/Rendering/OpenVG/VGU/CInternals.hsc +7/−8
- src/Graphics/Rendering/OpenVG/VGU/Errors.hs +2/−2
- src/Graphics/Rendering/OpenVG/VGU/ErrorsInternal.hs +2/−2
- src/Graphics/Rendering/OpenVG/VGU/VGU.hs +2/−2
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