OpenVGRaw (empty) → 0.1.0
raw patch · 20 files changed
+2117/−0 lines, 20 filesdep +OpenGLRawdep +basesetup-changed
Dependencies added: OpenGLRaw, base
Files
- Changes +3/−0
- LICENSE +30/−0
- OpenVGRaw.cabal +57/−0
- Setup.hs +5/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/BasicTypes.hsc +62/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Blending.hs +39/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/CFunDecls.hsc +397/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Constants.hsc +385/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Core101.hs +449/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/DrawingContext.hs +40/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Extending.hs +30/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Images.hs +65/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Paint.hs +58/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Parameters.hs +93/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Paths.hs +127/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/RenderingQuality.hs +50/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/Scissoring.hs +39/−0
- src/Graphics/Rendering/OpenVG/Raw/VG/ShivaExtensions.hs +27/−0
- src/Graphics/Rendering/OpenVG/Raw/VGU/CInternals.hsc +116/−0
- src/Graphics/Rendering/OpenVG/Raw/VGU/VGU.hs +45/−0
+ Changes view
@@ -0,0 +1,3 @@++version 0.1.0 (?? Dec 2009):+ * Initial version - extracted code from OpenVG-0.5.0
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2008 Stephen Peter Tetley++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions+are met:++1. Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright+ notice, this list of conditions and the following disclaimer in the+ documentation and/or other materials provided with the distribution.++3. Neither the name of the author nor the names of his contributors+ may be used to endorse or promote products derived from this software+ without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE+POSSIBILITY OF SUCH DAMAGE.
+ OpenVGRaw.cabal view
@@ -0,0 +1,57 @@+name: OpenVGRaw+version: 0.1.0+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: Raw binding to OpenVG (ShivaVG-0.2.1 implementation).+description:+ A raw Haskell binding to OpenVG vector graphics API version + 1.0.1, specifically the ShivaVG-0.2.1 implementation.+ .+ Following Sven Panne\'s OpenGL model this is essentially a 1:1+ mapping between the OpenVG C API and Haskell.+ .+build-type: Simple+stability: experimental+cabal-version: >= 1.2++extra-source-files:+ Changes++library+ hs-source-dirs: src+ build-depends: base < 5,+ OpenGLRaw >= 1.1.0.1 && < 2++ exposed-modules:+ Graphics.Rendering.OpenVG.Raw.VG.Blending,+ Graphics.Rendering.OpenVG.Raw.VG.Core101,+ Graphics.Rendering.OpenVG.Raw.VG.DrawingContext,+ Graphics.Rendering.OpenVG.Raw.VG.Extending,+ Graphics.Rendering.OpenVG.Raw.VG.Images,+ Graphics.Rendering.OpenVG.Raw.VG.Paint,+ Graphics.Rendering.OpenVG.Raw.VG.Parameters,+ Graphics.Rendering.OpenVG.Raw.VG.Paths,+ Graphics.Rendering.OpenVG.Raw.VG.RenderingQuality,+ Graphics.Rendering.OpenVG.Raw.VG.Scissoring,+ Graphics.Rendering.OpenVG.Raw.VG.ShivaExtensions,+ Graphics.Rendering.OpenVG.Raw.VGU.VGU++ other-modules:+ Graphics.Rendering.OpenVG.Raw.VG.BasicTypes,+ Graphics.Rendering.OpenVG.Raw.VG.Constants,+ Graphics.Rendering.OpenVG.Raw.VG.CFunDecls,+ Graphics.Rendering.OpenVG.Raw.VGU.CInternals+ + extensions:+ ForeignFunctionInterface, CPP++ ghc-options: -Wall + ++ + +
+ Setup.hs view
@@ -0,0 +1,5 @@+#!/usr/bin/env runhaskell++import Distribution.Simple++main = defaultMain
+ src/Graphics/Rendering/OpenVG/Raw/VG/BasicTypes.hsc view
@@ -0,0 +1,62 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.BasicTypes+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : highly unstable+-- Portability : GHC+--+-- This module corresponds to sections 3.2 (Primitive Data Types) +-- and 3.6 (Handle-based Data Types) of the OpenVG 1.0.1 specs.+-- +--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.BasicTypes where++#include <vg/openvg.h>++import Graphics.Rendering.OpenGL.Raw.Core31++import Foreign.Ptr++type VGfloat = GLfloat+type VGbyte = GLbyte+type VGubyte = GLubyte+type VGshort = GLshort+type VGint = GLint+type VGuint = GLuint+type VGbitfield = GLbitfield++type VGenum = GLenum ++++type VGboolean = GLint++#{enum VGboolean,+ , vg_FALSE = VG_FALSE+ , vg_TRUE = VG_TRUE+ }+ +newtype VGHandle = VGHandle (Ptr ())+++vg_INVALID_HANDLE :: VGHandle +vg_INVALID_HANDLE = VGHandle nullPtr+++type VGPath = VGHandle+type VGImage = VGHandle+type VGPaint = VGHandle+++type Point = (VGfloat, VGfloat)++
+ src/Graphics/Rendering/OpenVG/Raw/VG/Blending.hs view
@@ -0,0 +1,39 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Blending+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 12 (Blending) +-- of the OpenVG 1.0.1 specs.+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.Blending (+ -- * Tokens+ vg_BLEND_SRC,+ vg_BLEND_SRC_OVER,+ vg_BLEND_DST_OVER,+ vg_BLEND_SRC_IN,+ vg_BLEND_DST_IN,+ vg_BLEND_MULTIPLY,+ vg_BLEND_SCREEN,+ vg_BLEND_DARKEN,+ vg_BLEND_LIGHTEN,+ vg_BLEND_ADDITIVE,+ vg_BLEND_SRC_OUT_SH,+ vg_BLEND_DST_OUT_SH,+ vg_BLEND_SRC_ATOP_SH,+ vg_BLEND_DST_ATOP_SH++) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101++
+ src/Graphics/Rendering/OpenVG/Raw/VG/CFunDecls.hsc view
@@ -0,0 +1,397 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.CFunDecls+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : highly unstable+-- Portability : GHC+--+-- Internal module declaring all the foreign declarations of the +-- functions defined in <vg/openvg.h>.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.CFunDecls where++#include <vg/openvg.h>++import Graphics.Rendering.OpenVG.Raw.VG.BasicTypes++import Foreign.Ptr ( Ptr )+import Foreign.C.String ( CString )+++--------------------------------------------------------------------------------+--+-- Section 4 - Drawing Context+++foreign import ccall unsafe "vg/openvg.h vgGetError"+ vgGetError :: IO VGenum++++foreign import ccall unsafe "vg/openvg.h vgFlush"+ vgFlush :: IO ()++foreign import ccall unsafe "vg/openvg.h vgFinish"+ vgFinish :: IO ()++--------------------------------------------------------------------------------+--+-- Section 5 - Setting API Parameters++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"+ 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"+ 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)++foreign import ccall unsafe "vg/openvg.h vgGetiv"+ vgGetiv :: VGenum -> VGint -> IO (Ptr VGint)++foreign import ccall unsafe "vg/openvg.h vgSetParameterf"+ vgSetParameterf :: VGHandle -> VGenum -> VGfloat -> IO ()++foreign import ccall unsafe "vg/openvg.h vgSetParameteri"+ vgSetParameteri :: VGHandle -> VGenum -> VGint -> IO ()++foreign import ccall unsafe "vg/openvg.h vgSetParameterfv"+ vgSetParameterfv :: VGHandle -> VGenum -> VGint -> Ptr VGfloat -> IO ()++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 vgGetParameteri"+ vgGetParameteri :: VGHandle -> VGenum -> IO VGint++foreign import ccall unsafe "vg/openvg.h vgGetParameterVectorSize"+ vgGetParameterVectorSize :: VGHandle -> VGenum -> IO VGint++foreign import ccall unsafe "vg/openvg.h vgGetParameterfv"+ vgGetParameterfv :: VGHandle -> VGenum -> VGint -> IO (Ptr VGfloat)++foreign import ccall unsafe "vg/openvg.h vgGetParameteriv"+ vgGetParameteriv :: VGHandle -> VGenum -> VGint -> IO (Ptr VGint)++--------------------------------------------------------------------------------+-- Section 6 - Rendering Quality++foreign import ccall unsafe "vg/openvg.h vgLoadIdentity"+ vgLoadIdentity :: IO ()++foreign import ccall unsafe "vg/openvg.h vgLoadMatrix"+ vgLoadMatrix :: Ptr VGfloat -> IO ()++foreign import ccall unsafe "vg/openvg.h vgGetMatrix"+ vgGetMatrix :: IO (Ptr VGfloat)++foreign import ccall unsafe "vg/openvg.h vgMultMatrix"+ vgMultMatrix :: Ptr VGfloat -> IO ()++foreign import ccall unsafe "vg/openvg.h vgTranslate"+ vgTranslate :: VGfloat -> VGfloat -> IO ()++foreign import ccall unsafe "vg/openvg.h vgScale"+ vgScale :: VGfloat -> VGfloat -> IO ()++foreign import ccall unsafe "vg/openvg.h vgShear"+ vgShear :: VGfloat -> VGfloat -> IO ()++foreign import ccall unsafe "vg/openvg.h vgRotate"+ vgRotate :: VGfloat -> IO ()++--------------------------------------------------------------------------------+-- Section 7 - Scissoring++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgMask"+ vgMask :: VGImage -> VGenum -> VGint -> VGint -> VGint -> VGint -> IO ()+++foreign import ccall unsafe "vg/openvg.h vgClear"+ vgClear :: VGint -> VGint -> VGint -> VGint -> IO ()+++--------------------------------------------------------------------------------+-- Section 8 - Paths++foreign import ccall unsafe "vg/openvg.h vgCreatePath"+ vgCreatePath :: VGint -> VGenum -> VGfloat -> VGfloat -> VGint -> VGint+ -> VGbitfield+ -> IO VGPath++foreign import ccall unsafe "vg/openvg.h vgClearPath"+ vgClearPath :: VGPath -> VGbitfield -> IO ()++foreign import ccall unsafe "vg/openvg.h vgDestroyPath"+ vgDestroyPath :: VGPath -> IO ()++foreign import ccall unsafe "vg/openvg.h vgRemovePathCapabilities"+ vgRemovePathCapabilities :: VGPath -> VGbitfield -> IO ()++foreign import ccall unsafe "vg/openvg.h vgGetPathCapabilities"+ vgGetPathCapabilities :: VGPath -> IO VGbitfield++foreign import ccall unsafe "vg/openvg.h vgAppendPath"+ vgAppendPath :: VGPath -> VGPath -> IO ()++foreign import ccall unsafe "vg/openvg.h vgAppendPathData"+ vgAppendPathData :: VGPath -> VGint -> Ptr VGubyte -> Ptr a -> IO ()++foreign import ccall unsafe "vg/openvg.h vgModifyPathCoords"+ vgModifyPathCoords :: VGPath -> VGint -> VGint -> Ptr a -> IO ()++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 -> IO VGboolean++-- 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 ()+++foreign import ccall unsafe "vg/openvg.h vgPathBounds"+ vgPathBounds :: VGPath + -> Ptr VGfloat -> Ptr VGfloat + -> Ptr VGfloat -> Ptr VGfloat+ -> IO ()+++foreign import ccall unsafe "vg/openvg.h vgPathTransformedBounds"+ vgPathTransformedBounds :: VGPath+ -> Ptr VGfloat -> Ptr VGfloat+ -> Ptr VGfloat -> Ptr VGfloat+ -> IO ()++foreign import ccall unsafe "vg/openvg.h vgDrawPath"+ vgDrawPath :: VGPath -> VGbitfield -> IO ()+++--------------------------------------------------------------------------------+-- Section 9 - Paint++foreign import ccall unsafe "vg/openvg.h vgCreatePaint"+ vgCreatePaint :: IO VGPaint++foreign import ccall unsafe "vg/openvg.h vgDestroyPaint"+ vgDestroyPaint :: VGPaint -> IO ()++foreign import ccall unsafe "vg/openvg.h vgSetPaint"+ vgSetPaint :: VGPaint -> VGbitfield -> IO ()+++-- vgGetPaint - NOT IMPLEMENTED BY SHIVA-VG+-- foreign import ccall unsafe "vg/openvg.h vgGetPaint"+-- vgGetPaint :: VGenum -> IO VGPaint++++-- vgSetColor - NOT IMPLEMENTED BY SHIVA-VG+-- foreign import ccall unsafe "vg/openvg.h vgSetColor"+-- vgSetColor :: VGPaint -> VGuint -> IO ()++++-- vgGetColor - NOT IMPLEMENTED BY SHIVA-VG+-- foreign import ccall unsafe "vg/openvg.h vgGetColor"+-- vgGetColor :: VGPaint -> IO VGuint+++foreign import ccall unsafe "vg/openvg.h vgPaintPattern"+ vgPaintPattern :: VGPaint -> VGImage -> IO ()++--------------------------------------------------------------------------------+-- Section 10 - Images+++foreign import ccall unsafe "vg/openvg.h vgCreateImage"+ vgCreateImage :: VGenum -> 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 -> Ptr a -> VGint -> VGenum+ -> VGint -> VGint -> VGint -> VGint+ -> IO ()+++foreign import ccall unsafe "vg/openvg.h vgGetImageSubData"+ vgGetImageSubData :: VGImage -> Ptr a -> VGint -> VGenum+ -> VGint -> VGint -> VGint -> VGint+ -> IO ()++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgChildImage"+ vgChildImage :: VGImage -> VGint -> VGint -> VGint -> VGint -> IO VGImage+++-- 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+ -> VGboolean+ -> IO ()+++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+ -> IO ()++foreign import ccall unsafe "vg/openvg.h vgWritePixels"+ vgWritePixels :: Ptr a -> VGint -> VGenum+ -> VGint -> VGint -> VGint -> VGint+ -> IO ()+++foreign import ccall unsafe "vg/openvg.h vgGetPixels"+ vgGetPixels :: VGImage -> VGint -> VGint+ -> VGint -> VGint -> VGint -> VGint+ -> IO ()++foreign import ccall unsafe "vg/openvg.h vgReadPixels"+ vgReadPixels :: Ptr a -> VGint -> VGenum + -> VGint -> VGint -> VGint -> VGint+ -> IO ()+++foreign import ccall unsafe "vg/openvg.h vgCopyPixels"+ vgCopyPixels :: VGint -> VGint+ -> VGint -> VGint -> VGint -> VGint+ -> IO ()++--------------------------------------------------------------------------------+-- Section 11 - Image Filters+++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgColorMatrix"+ vgColorMatrix :: VGImage -> VGImage -> Ptr VGfloat -> IO ()+++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgConvolve"+ vgConvolve :: VGImage -> VGImage+ -> VGint -> VGint -> VGint -> VGint+ -> Ptr VGshort + -> VGfloat -> VGfloat+ -> VGenum+ -> IO ()++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgSeparableConvolve"+ vgSeparableConvolve :: VGImage -> VGImage+ -> VGint -> VGint -> VGint -> VGint+ -> Ptr VGshort -> Ptr VGshort+ -> VGfloat -> VGfloat+ -> VGenum+ -> IO ()+++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgGaussianBlur"+ vgGaussianBlur :: VGImage -> VGImage -> VGfloat+ -> VGfloat -> VGenum+ -> IO ()+++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgLookup"+ vgLookup :: VGImage -> VGImage + -> Ptr VGubyte -> Ptr VGubyte + -> Ptr VGubyte -> Ptr VGubyte+ -> VGboolean -> VGboolean+ -> IO ()+++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vgLookupSingle"+ vgLookupSingle :: VGImage -> VGImage+ -> Ptr VGuint+ -> VGenum+ -> VGboolean -> VGboolean+ -> IO ()++--------------------------------------------------------------------------------+-- Section 13 - Querying Hardware++foreign import ccall unsafe "vg/openvg.h vgHardwareQuery"+ vgHardwareQuery :: VGenum -> VGint -> IO VGenum++foreign import ccall unsafe "vg/openvg.h vgGetString"+ vgGetString :: VGenum -> IO CString++--------------------------------------------------------------------------------+-- Shiva-VG Extensions - see the README in the shiva archive.++foreign import ccall unsafe "vg/openvg.h vgCreateContextSH"+ vgCreateContextSH :: VGint -> VGint -> IO VGboolean++foreign import ccall unsafe "vg/openvg.h vgResizeSurfaceSH"+ vgResizeSurfaceSH :: VGint -> VGint -> IO ()+++foreign import ccall unsafe "vg/openvg.h vgDestroyContextSH"+ vgDestroyContextSH :: IO ()+++++++++
+ src/Graphics/Rendering/OpenVG/Raw/VG/Constants.hsc view
@@ -0,0 +1,385 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Constants+-- Copyright : (c) Stephen Tetley 2008, 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : highly unstable+-- Portability : GHC+--+-- Aliases for constants defined in <vg/openvg.h>.+--+--------------------------------------------------------------------------------+++module Graphics.Rendering.OpenVG.Raw.VG.Constants where++#include <vg/openvg.h>++import Graphics.Rendering.OpenVG.Raw.VG.BasicTypes++vg_OPENVG_VERSION_1_0_1 :: VGint+vg_OPENVG_VERSION_1_0_1 = #const OPENVG_VERSION_1_0_1++vg_PATH_FORMAT_STANDARD :: VGint+vg_PATH_FORMAT_STANDARD = #const VG_PATH_FORMAT_STANDARD++vg_MAXSHORT :: VGshort+vg_MAXSHORT = #const VG_MAXSHORT++vg_MAXINT :: VGint+vg_MAXINT = #const VG_MAXINT++-- VG_MAX_FLOAT is part of the VGParamType enumeration+++-- | Enumerations++#{enum VGenum,+ , vg_NO_ERROR = VG_NO_ERROR+ , vg_BAD_HANDLE_ERROR = VG_BAD_HANDLE_ERROR+ , vg_ILLEGAL_ARGUMENT_ERROR = VG_ILLEGAL_ARGUMENT_ERROR+ , vg_OUT_OF_MEMORY_ERROR = VG_OUT_OF_MEMORY_ERROR+ , vg_PATH_CAPABILITY_ERROR = VG_PATH_CAPABILITY_ERROR+ , vg_UNSUPPORTED_IMAGE_FORMAT_ERROR = VG_UNSUPPORTED_IMAGE_FORMAT_ERROR+ , vg_UNSUPPORTED_PATH_FORMAT_ERROR = VG_UNSUPPORTED_PATH_FORMAT_ERROR+ , vg_IMAGE_IN_USE_ERROR = VG_IMAGE_IN_USE_ERROR+ , vg_NO_CONTEXT_ERROR = VG_NO_CONTEXT_ERROR+ }+ +#{enum VGenum,+ , vg_MATRIX_MODE = VG_MATRIX_MODE+ , vg_FILL_RULE = VG_FILL_RULE+ , vg_IMAGE_QUALITY = VG_IMAGE_QUALITY+ , vg_RENDERING_QUALITY = VG_RENDERING_QUALITY+ , vg_BLEND_MODE = VG_BLEND_MODE+ , vg_IMAGE_MODE = VG_IMAGE_MODE+ + , vg_SCISSOR_RECTS = VG_SCISSOR_RECTS++ , vg_STROKE_LINE_WIDTH = VG_STROKE_LINE_WIDTH+ , vg_STROKE_CAP_STYLE = VG_STROKE_CAP_STYLE+ , vg_STROKE_JOIN_STYLE = VG_STROKE_JOIN_STYLE+ , vg_STROKE_MITER_LIMIT = VG_STROKE_MITER_LIMIT+ , vg_STROKE_DASH_PATTERN = VG_STROKE_DASH_PATTERN+ , vg_STROKE_DASH_PHASE = VG_STROKE_DASH_PHASE+ , vg_STROKE_DASH_PHASE_RESET = VG_STROKE_DASH_PHASE_RESET++ , vg_TILE_FILL_COLOR = VG_TILE_FILL_COLOR++ , vg_CLEAR_COLOR = VG_CLEAR_COLOR++ , vg_MASKING = VG_MASKING+ , vg_SCISSORING = VG_SCISSORING++ , vg_PIXEL_LAYOUT = VG_PIXEL_LAYOUT+ , vg_SCREEN_LAYOUT = VG_SCREEN_LAYOUT++ , vg_FILTER_FORMAT_LINEAR = VG_FILTER_FORMAT_LINEAR+ , vg_FILTER_FORMAT_PREMULTIPLIED = VG_FILTER_FORMAT_PREMULTIPLIED++ , vg_FILTER_CHANNEL_MASK = VG_FILTER_CHANNEL_MASK++ , vg_MAX_SCISSOR_RECTS = VG_MAX_SCISSOR_RECTS+ , vg_MAX_DASH_COUNT = VG_MAX_DASH_COUNT+ , vg_MAX_KERNEL_SIZE = VG_MAX_KERNEL_SIZE+ , vg_MAX_SEPARABLE_KERNEL_SIZE = VG_MAX_SEPARABLE_KERNEL_SIZE+ , vg_MAX_COLOR_RAMP_STOPS = VG_MAX_COLOR_RAMP_STOPS+ , vg_MAX_IMAGE_WIDTH = VG_MAX_IMAGE_WIDTH+ , vg_MAX_IMAGE_HEIGHT = VG_MAX_IMAGE_HEIGHT+ , vg_MAX_IMAGE_PIXELS = VG_MAX_IMAGE_PIXELS+ , vg_MAX_IMAGE_BYTES = VG_MAX_IMAGE_BYTES+ , vg_MAX_FLOAT = VG_MAX_FLOAT+ , vg_MAX_GAUSSIAN_STD_DEVIATION = VG_MAX_GAUSSIAN_STD_DEVIATION + }+ ++#{enum VGenum,+ , vg_RENDERING_QUALITY_NONANTIALIASED = VG_RENDERING_QUALITY_NONANTIALIASED+ , vg_RENDERING_QUALITY_FASTER = VG_RENDERING_QUALITY_FASTER+ , vg_RENDERING_QUALITY_BETTER = VG_RENDERING_QUALITY_BETTER + } + +++#{enum VGenum,+ , vg_PIXEL_LAYOUT_UNKNOWN = VG_PIXEL_LAYOUT_UNKNOWN+ , vg_PIXEL_LAYOUT_RGB_VERTICAL = VG_PIXEL_LAYOUT_RGB_VERTICAL+ , vg_PIXEL_LAYOUT_BGR_VERTICAL = VG_PIXEL_LAYOUT_BGR_VERTICAL+ , vg_PIXEL_LAYOUT_RGB_HORIZONTAL = VG_PIXEL_LAYOUT_RGB_HORIZONTAL+ , vg_PIXEL_LAYOUT_BGR_HORIZONTAL = VG_PIXEL_LAYOUT_BGR_HORIZONTAL+ }++#{enum VGenum,+ , vg_MATRIX_PATH_USER_TO_SURFACE = VG_MATRIX_PATH_USER_TO_SURFACE+ , vg_MATRIX_IMAGE_USER_TO_SURFACE = VG_MATRIX_IMAGE_USER_TO_SURFACE+ , vg_MATRIX_FILL_PAINT_TO_USER = VG_MATRIX_FILL_PAINT_TO_USER+ , vg_MATRIX_STROKE_PAINT_TO_USER = VG_MATRIX_STROKE_PAINT_TO_USER+ }++#{enum VGenum,+ , vg_CLEAR_MASK = VG_CLEAR_MASK+ , vg_FILL_MASK = VG_FILL_MASK+ , vg_SET_MASK = VG_SET_MASK+ , vg_UNION_MASK = VG_UNION_MASK+ , vg_INTERSECT_MASK = VG_INTERSECT_MASK+ , vg_SUBTRACT_MASK = VG_SUBTRACT_MASK+ }+ + +#{enum VGenum,+ , vg_PATH_DATATYPE_S_8 = VG_PATH_DATATYPE_S_8+ , vg_PATH_DATATYPE_S_16 = VG_PATH_DATATYPE_S_16+ , vg_PATH_DATATYPE_S_32 = VG_PATH_DATATYPE_S_32+ , vg_PATH_DATATYPE_F = VG_PATH_DATATYPE_F+ }++#{enum VGenum,+ , vg_ABSOLUTE = VG_ABSOLUTE+ , vg_RELATIVE = VG_RELATIVE+ }++#{enum VGenum,+ , vg_CLOSE_PATH = VG_CLOSE_PATH+ , vg_MOVE_TO = VG_MOVE_TO+ , vg_LINE_TO = VG_LINE_TO+ , vg_HLINE_TO = VG_HLINE_TO+ , vg_VLINE_TO = VG_VLINE_TO+ , vg_QUAD_TO = VG_QUAD_TO+ , vg_CUBIC_TO = VG_CUBIC_TO+ , vg_SQUAD_TO = VG_SQUAD_TO+ , vg_SCUBIC_TO = VG_SCUBIC_TO+ , vg_SCCWARC_TO = VG_SCCWARC_TO+ , vg_SCWARC_TO = VG_SCWARC_TO+ , vg_LCCWARC_TO = VG_LCCWARC_TO+ , vg_LCWARC_TO = VG_LCWARC_TO+ }+++#{enum VGenum,+ , vg_MOVE_TO_ABS = VG_MOVE_TO_ABS+ , vg_MOVE_TO_REL = VG_MOVE_TO_REL+ , vg_LINE_TO_ABS = VG_LINE_TO_ABS+ , vg_LINE_TO_REL = VG_LINE_TO_REL+ , vg_HLINE_TO_ABS = VG_HLINE_TO_ABS+ , vg_HLINE_TO_REL = VG_HLINE_TO_REL+ , vg_VLINE_TO_ABS = VG_VLINE_TO_ABS+ , vg_VLINE_TO_REL = VG_VLINE_TO_REL+ , vg_QUAD_TO_ABS = VG_QUAD_TO_ABS+ , vg_QUAD_TO_REL = VG_QUAD_TO_REL+ , vg_CUBIC_TO_ABS = VG_CUBIC_TO_ABS+ , vg_CUBIC_TO_REL = VG_CUBIC_TO_REL+ , vg_SQUAD_TO_ABS = VG_SQUAD_TO_ABS+ , vg_SQUAD_TO_REL = VG_SQUAD_TO_REL+ , vg_SCUBIC_TO_ABS = VG_SCUBIC_TO_ABS+ , vg_SCUBIC_TO_REL = VG_SCUBIC_TO_REL+ , vg_SCCWARC_TO_ABS = VG_SCCWARC_TO_ABS+ , vg_SCCWARC_TO_REL = VG_SCCWARC_TO_REL+ , vg_SCWARC_TO_ABS = VG_SCWARC_TO_ABS+ , vg_SCWARC_TO_REL = VG_SCWARC_TO_REL+ , vg_LCCWARC_TO_ABS = VG_LCCWARC_TO_ABS+ , vg_LCCWARC_TO_REL = VG_LCCWARC_TO_REL+ , vg_LCWARC_TO_ABS = VG_LCWARC_TO_ABS+ , vg_LCWARC_TO_REL = VG_LCWARC_TO_REL+ }++-- typedef VGHandle VGPath;+++#{enum VGenum,+ , vg_PATH_CAPABILITY_APPEND_FROM = VG_PATH_CAPABILITY_APPEND_FROM+ , vg_PATH_CAPABILITY_APPEND_TO = VG_PATH_CAPABILITY_APPEND_TO+ , vg_PATH_CAPABILITY_MODIFY = VG_PATH_CAPABILITY_MODIFY+ , vg_PATH_CAPABILITY_TRANSFORM_FROM = VG_PATH_CAPABILITY_TRANSFORM_FROM+ , vg_PATH_CAPABILITY_TRANSFORM_TO = VG_PATH_CAPABILITY_TRANSFORM_TO+ , vg_PATH_CAPABILITY_INTERPOLATE_FROM = VG_PATH_CAPABILITY_INTERPOLATE_FROM+ , vg_PATH_CAPABILITY_INTERPOLATE_TO = VG_PATH_CAPABILITY_INTERPOLATE_TO+ , vg_PATH_CAPABILITY_PATH_LENGTH = VG_PATH_CAPABILITY_PATH_LENGTH+ , vg_PATH_CAPABILITY_POINT_ALONG_PATH = VG_PATH_CAPABILITY_POINT_ALONG_PATH+ , vg_PATH_CAPABILITY_TANGENT_ALONG_PATH = VG_PATH_CAPABILITY_TANGENT_ALONG_PATH+ , vg_PATH_CAPABILITY_PATH_BOUNDS = VG_PATH_CAPABILITY_PATH_BOUNDS+ , vg_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS = VG_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS+ , vg_PATH_CAPABILITY_ALL = VG_PATH_CAPABILITY_ALL+ }++#{enum VGenum,+ , vg_PATH_FORMAT = VG_PATH_FORMAT+ , vg_PATH_DATATYPE = VG_PATH_DATATYPE+ , vg_PATH_SCALE = VG_PATH_SCALE+ , vg_PATH_BIAS = VG_PATH_BIAS+ , vg_PATH_NUM_SEGMENTS = VG_PATH_NUM_SEGMENTS+ , vg_PATH_NUM_COORDS = VG_PATH_NUM_COORDS+ }++#{enum VGenum,+ , vg_CAP_BUTT = VG_CAP_BUTT+ , vg_CAP_ROUND = VG_CAP_ROUND+ , vg_CAP_SQUARE = VG_CAP_SQUARE+ }++#{enum VGenum,+ , vg_JOIN_MITER = VG_JOIN_MITER+ , vg_JOIN_ROUND = VG_JOIN_ROUND+ , vg_JOIN_BEVEL = VG_JOIN_BEVEL+ }++#{enum VGenum,+ , vg_EVEN_ODD = VG_EVEN_ODD+ , vg_NON_ZERO = VG_NON_ZERO+ }++#{enum VGenum,+ , vg_STROKE_PATH = VG_STROKE_PATH+ , vg_FILL_PATH = VG_FILL_PATH+}++-- typedef VGHandle VGPaint;++#{enum VGenum,+ , vg_PAINT_TYPE = VG_PAINT_TYPE+ , vg_PAINT_COLOR = VG_PAINT_COLOR+ , vg_PAINT_COLOR_RAMP_SPREAD_MODE = VG_PAINT_COLOR_RAMP_SPREAD_MODE+ , vg_PAINT_COLOR_RAMP_PREMULTIPLIED = VG_PAINT_COLOR_RAMP_PREMULTIPLIED+ , vg_PAINT_COLOR_RAMP_STOPS = VG_PAINT_COLOR_RAMP_STOPS++ , vg_PAINT_LINEAR_GRADIENT = VG_PAINT_LINEAR_GRADIENT++ , vg_PAINT_RADIAL_GRADIENT = VG_PAINT_RADIAL_GRADIENT++ , vg_PAINT_PATTERN_TILING_MODE = VG_PAINT_PATTERN_TILING_MODE+}++#{enum VGenum,+ , vg_PAINT_TYPE_COLOR = VG_PAINT_TYPE_COLOR+ , vg_PAINT_TYPE_LINEAR_GRADIENT = VG_PAINT_TYPE_LINEAR_GRADIENT+ , vg_PAINT_TYPE_RADIAL_GRADIENT = VG_PAINT_TYPE_RADIAL_GRADIENT+ , vg_PAINT_TYPE_PATTERN = VG_PAINT_TYPE_PATTERN+ }++#{enum VGenum,+ , vg_COLOR_RAMP_SPREAD_PAD = VG_COLOR_RAMP_SPREAD_PAD+ , vg_COLOR_RAMP_SPREAD_REPEAT = VG_COLOR_RAMP_SPREAD_REPEAT+ , vg_COLOR_RAMP_SPREAD_REFLECT = VG_COLOR_RAMP_SPREAD_REFLECT+ }++#{enum VGenum,+ , vg_TILE_FILL = VG_TILE_FILL+ , vg_TILE_PAD = VG_TILE_PAD+ , vg_TILE_REPEAT = VG_TILE_REPEAT+ , vg_TILE_REFLECT = VG_TILE_REFLECT+ }++#{enum VGenum,+ , vg_sRGBX_8888 = VG_sRGBX_8888+ , vg_sRGBA_8888 = VG_sRGBA_8888+ , vg_sRGBA_8888_PRE = VG_sRGBA_8888_PRE+ , vg_sRGB_565 = VG_sRGB_565+ , vg_sRGBA_5551 = VG_sRGBA_5551+ , vg_sRGBA_4444 = VG_sRGBA_4444+ , vg_sL_8 = VG_sL_8+ , vg_lRGBX_8888 = VG_lRGBX_8888+ , vg_lRGBA_8888 = VG_lRGBA_8888+ , vg_lRGBA_8888_PRE = VG_lRGBA_8888_PRE+ , vg_lL_8 = VG_lL_8+ , vg_A_8 = VG_A_8+ , vg_BW_1 = VG_BW_1++ , vg_sXRGB_8888 = VG_sXRGB_8888+ , vg_sARGB_8888 = VG_sARGB_8888+ , vg_sARGB_8888_PRE = VG_sARGB_8888_PRE+ , vg_sARGB_1555 = VG_sARGB_1555+ , vg_sARGB_4444 = VG_sARGB_4444+ , vg_lXRGB_8888 = VG_lXRGB_8888+ , vg_lARGB_8888 = VG_lARGB_8888+ , vg_lARGB_8888_PRE = VG_lARGB_8888_PRE++ , vg_sBGRX_8888 = VG_sBGRX_8888+ , vg_sBGRA_8888 = VG_sBGRA_8888+ , vg_sBGRA_8888_PRE = VG_sBGRA_8888_PRE+ , vg_sBGR_565 = VG_sBGR_565+ , vg_sBGRA_5551 = VG_sBGRA_5551+ , vg_sBGRA_4444 = VG_sBGRA_4444+ , vg_lBGRX_8888 = VG_lBGRX_8888+ , vg_lBGRA_8888 = VG_lBGRA_8888+ , vg_lBGRA_8888_PRE = VG_lBGRA_8888_PRE++ , vg_sXBGR_8888 = VG_sXBGR_8888+ , vg_sABGR_8888 = VG_sABGR_8888+ , vg_sABGR_8888_PRE = VG_sABGR_8888_PRE+ , vg_sABGR_1555 = VG_sABGR_1555+ , vg_sABGR_4444 = VG_sABGR_4444+ , vg_lXBGR_8888 = VG_lXBGR_8888+ , vg_lABGR_8888 = VG_lABGR_8888+ , vg_lABGR_8888_PRE = VG_lABGR_8888_PRE+}+++-- typedef VGHandle VGImage;+++#{enum VGenum,+ , vg_IMAGE_QUALITY_NONANTIALIASED = VG_IMAGE_QUALITY_NONANTIALIASED+ , vg_IMAGE_QUALITY_FASTER = VG_IMAGE_QUALITY_FASTER+ , vg_IMAGE_QUALITY_BETTER = VG_IMAGE_QUALITY_BETTER+ }++#{enum VGenum,+ , vg_IMAGE_FORMAT = VG_IMAGE_FORMAT+ , vg_IMAGE_WIDTH = VG_IMAGE_WIDTH+ , vg_IMAGE_HEIGHT = VG_IMAGE_HEIGHT+ }++#{enum VGenum,+ , vg_DRAW_IMAGE_NORMAL = VG_DRAW_IMAGE_NORMAL+ , vg_DRAW_IMAGE_MULTIPLY = VG_DRAW_IMAGE_MULTIPLY+ , vg_DRAW_IMAGE_STENCIL = VG_DRAW_IMAGE_STENCIL+ }++#{enum VGenum,+ , vg_RED = VG_RED+ , vg_GREEN = VG_GREEN+ , vg_BLUE = VG_BLUE+ , vg_ALPHA = VG_ALPHA+ }++#{enum VGenum,+ , vg_BLEND_SRC = VG_BLEND_SRC+ , vg_BLEND_SRC_OVER = VG_BLEND_SRC_OVER+ , vg_BLEND_DST_OVER = VG_BLEND_DST_OVER+ , vg_BLEND_SRC_IN = VG_BLEND_SRC_IN+ , vg_BLEND_DST_IN = VG_BLEND_DST_IN+ , vg_BLEND_MULTIPLY = VG_BLEND_MULTIPLY+ , vg_BLEND_SCREEN = VG_BLEND_SCREEN+ , vg_BLEND_DARKEN = VG_BLEND_DARKEN+ , vg_BLEND_LIGHTEN = VG_BLEND_LIGHTEN+ , vg_BLEND_ADDITIVE = VG_BLEND_ADDITIVE+ , vg_BLEND_SRC_OUT_SH = VG_BLEND_SRC_OUT_SH+ , vg_BLEND_DST_OUT_SH = VG_BLEND_DST_OUT_SH+ , vg_BLEND_SRC_ATOP_SH = VG_BLEND_SRC_ATOP_SH+ , vg_BLEND_DST_ATOP_SH = VG_BLEND_DST_ATOP_SH+ }++#{enum VGenum,+ , vg_IMAGE_FORMAT_QUERY = VG_IMAGE_FORMAT_QUERY+ , vg_PATH_DATATYPE_QUERY = VG_PATH_DATATYPE_QUERY+ }++#{enum VGenum,+ , vg_HARDWARE_ACCELERATED = VG_HARDWARE_ACCELERATED+ , vg_HARDWARE_UNACCELERATED = VG_HARDWARE_UNACCELERATED+ }++#{enum VGenum,+ , vg_VENDOR = VG_VENDOR+ , vg_RENDERER = VG_RENDERER+ , vg_VERSION = VG_VERSION+ , vg_EXTENSIONS = VG_EXTENSIONS+ }++-- end of file+
+ src/Graphics/Rendering/OpenVG/Raw/VG/Core101.hs view
@@ -0,0 +1,449 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Core101+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- All the raw functions and types from the OpenVG 1.0.1 core +-- specs (implemented by ShivaVG-0.2.1)+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.Core101 (++ -- BasicTypes.hsc+ -- * Primitive Types+ VGbyte, + VGubyte, + VGshort, + VGint, + VGuint, + VGbitfield, + VGboolean, + VGfloat,+ + VGenum,+ + -- * Handle-based Types+ VGHandle,+ + VGPath, + VGImage, + VGPaint,++ -- Constants.hsc+ -- Section 3 - Constants+ vg_OPENVG_VERSION_1_0_1,+ + vg_FALSE, + vg_TRUE,+ + vg_MAXSHORT,+ vg_MAXINT,+ + vg_INVALID_HANDLE,++ -- Section 4 - Drawing Context+ vg_NO_ERROR,+ vg_BAD_HANDLE_ERROR,+ vg_ILLEGAL_ARGUMENT_ERROR,+ vg_OUT_OF_MEMORY_ERROR,+ vg_PATH_CAPABILITY_ERROR,+ vg_UNSUPPORTED_IMAGE_FORMAT_ERROR,+ vg_UNSUPPORTED_PATH_FORMAT_ERROR,+ vg_IMAGE_IN_USE_ERROR,+ vg_NO_CONTEXT_ERROR,+++ -- Section 5 - Setting API Parameters+ vg_MATRIX_MODE,+ vg_FILL_RULE,+ vg_IMAGE_QUALITY,+ vg_RENDERING_QUALITY,+ vg_BLEND_MODE,+ vg_IMAGE_MODE,+ + vg_SCISSOR_RECTS,++ vg_STROKE_LINE_WIDTH,+ vg_STROKE_CAP_STYLE,+ vg_STROKE_JOIN_STYLE,+ vg_STROKE_MITER_LIMIT,+ vg_STROKE_DASH_PATTERN,+ vg_STROKE_DASH_PHASE,+ vg_STROKE_DASH_PHASE_RESET,++ vg_TILE_FILL_COLOR,++ vg_CLEAR_COLOR,++ vg_MASKING,+ vg_SCISSORING,++ vg_PIXEL_LAYOUT,+ vg_SCREEN_LAYOUT,++ vg_FILTER_FORMAT_LINEAR,+ vg_FILTER_FORMAT_PREMULTIPLIED,++ vg_FILTER_CHANNEL_MASK,++ vg_MAX_SCISSOR_RECTS,+ vg_MAX_DASH_COUNT,+ vg_MAX_KERNEL_SIZE,+ vg_MAX_SEPARABLE_KERNEL_SIZE,+ vg_MAX_COLOR_RAMP_STOPS,+ vg_MAX_IMAGE_WIDTH,+ vg_MAX_IMAGE_HEIGHT,+ vg_MAX_IMAGE_PIXELS,+ vg_MAX_IMAGE_BYTES,+ vg_MAX_FLOAT,+ vg_MAX_GAUSSIAN_STD_DEVIATION,++ -- Section 6 - Rendering Quality and Antialiasing+ vg_RENDERING_QUALITY_NONANTIALIASED,+ vg_RENDERING_QUALITY_FASTER,+ vg_RENDERING_QUALITY_BETTER,++ vg_PIXEL_LAYOUT_UNKNOWN,+ vg_PIXEL_LAYOUT_RGB_VERTICAL,+ vg_PIXEL_LAYOUT_BGR_VERTICAL,+ vg_PIXEL_LAYOUT_RGB_HORIZONTAL,+ vg_PIXEL_LAYOUT_BGR_HORIZONTAL,+++ vg_MATRIX_PATH_USER_TO_SURFACE,+ vg_MATRIX_IMAGE_USER_TO_SURFACE,+ vg_MATRIX_FILL_PAINT_TO_USER,+ vg_MATRIX_STROKE_PAINT_TO_USER,++ -- Section 7 - Scissoring+ vg_CLEAR_MASK,+ vg_FILL_MASK,+ vg_SET_MASK,+ vg_UNION_MASK,+ vg_INTERSECT_MASK,+ vg_SUBTRACT_MASK,+ + -- Section 8 - Paths+ vg_PATH_FORMAT_STANDARD,+ + vg_PATH_DATATYPE_S_8,+ vg_PATH_DATATYPE_S_16,+ vg_PATH_DATATYPE_S_32,+ vg_PATH_DATATYPE_F,++ vg_ABSOLUTE,+ vg_RELATIVE,++ vg_CLOSE_PATH,+ vg_MOVE_TO,+ vg_LINE_TO,+ vg_HLINE_TO,+ vg_VLINE_TO,+ vg_QUAD_TO,+ vg_CUBIC_TO,+ vg_SQUAD_TO,+ vg_SCUBIC_TO,+ vg_SCCWARC_TO,+ vg_SCWARC_TO,+ vg_LCCWARC_TO,+ vg_LCWARC_TO,+++ vg_MOVE_TO_ABS,+ vg_MOVE_TO_REL,+ vg_LINE_TO_ABS,+ vg_LINE_TO_REL,+ vg_HLINE_TO_ABS,+ vg_HLINE_TO_REL,+ vg_VLINE_TO_ABS,+ vg_VLINE_TO_REL,+ vg_QUAD_TO_ABS,+ vg_QUAD_TO_REL,+ vg_CUBIC_TO_ABS,+ vg_CUBIC_TO_REL,+ vg_SQUAD_TO_ABS,+ vg_SQUAD_TO_REL,+ vg_SCUBIC_TO_ABS,+ vg_SCUBIC_TO_REL,+ vg_SCCWARC_TO_ABS,+ vg_SCCWARC_TO_REL,+ vg_SCWARC_TO_ABS,+ vg_SCWARC_TO_REL,+ vg_LCCWARC_TO_ABS,+ vg_LCCWARC_TO_REL,+ vg_LCWARC_TO_ABS,+ vg_LCWARC_TO_REL,+++ vg_PATH_CAPABILITY_APPEND_FROM,+ vg_PATH_CAPABILITY_APPEND_TO,+ vg_PATH_CAPABILITY_MODIFY,+ vg_PATH_CAPABILITY_TRANSFORM_FROM,+ vg_PATH_CAPABILITY_TRANSFORM_TO,+ vg_PATH_CAPABILITY_INTERPOLATE_FROM,+ vg_PATH_CAPABILITY_INTERPOLATE_TO,+ vg_PATH_CAPABILITY_PATH_LENGTH,+ vg_PATH_CAPABILITY_POINT_ALONG_PATH,+ vg_PATH_CAPABILITY_TANGENT_ALONG_PATH,+ vg_PATH_CAPABILITY_PATH_BOUNDS,+ vg_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS,+ vg_PATH_CAPABILITY_ALL,++ vg_PATH_FORMAT,+ vg_PATH_DATATYPE,+ vg_PATH_SCALE,+ vg_PATH_BIAS,+ vg_PATH_NUM_SEGMENTS,+ vg_PATH_NUM_COORDS,+ + vg_CAP_BUTT,+ vg_CAP_ROUND,+ vg_CAP_SQUARE,+ + vg_JOIN_MITER,+ vg_JOIN_ROUND,+ vg_JOIN_BEVEL,+ + vg_EVEN_ODD,+ vg_NON_ZERO,++ vg_STROKE_PATH,+ vg_FILL_PATH,++ -- Section 9 - Paint+ vg_PAINT_TYPE,+ vg_PAINT_COLOR,+ vg_PAINT_COLOR_RAMP_SPREAD_MODE,+ vg_PAINT_COLOR_RAMP_PREMULTIPLIED,+ vg_PAINT_COLOR_RAMP_STOPS,++ vg_PAINT_LINEAR_GRADIENT,++ vg_PAINT_RADIAL_GRADIENT,++ vg_PAINT_PATTERN_TILING_MODE,+++ vg_PAINT_TYPE_COLOR,+ vg_PAINT_TYPE_LINEAR_GRADIENT,+ vg_PAINT_TYPE_RADIAL_GRADIENT,+ vg_PAINT_TYPE_PATTERN,+++ vg_COLOR_RAMP_SPREAD_PAD,+ vg_COLOR_RAMP_SPREAD_REPEAT,+ vg_COLOR_RAMP_SPREAD_REFLECT,+++ vg_TILE_FILL,+ vg_TILE_PAD,+ vg_TILE_REPEAT,+ vg_TILE_REFLECT,++ -- Section 10 - Images+ vg_sRGBX_8888,+ vg_sRGBA_8888,+ vg_sRGBA_8888_PRE,+ vg_sRGB_565,+ vg_sRGBA_5551,+ vg_sRGBA_4444,+ vg_sL_8,+ vg_lRGBX_8888,+ vg_lRGBA_8888,+ vg_lRGBA_8888_PRE,+ vg_lL_8,+ vg_A_8,+ vg_BW_1,++ vg_sXRGB_8888,+ vg_sARGB_8888,+ vg_sARGB_8888_PRE,+ vg_sARGB_1555,+ vg_sARGB_4444,+ vg_lXRGB_8888,+ vg_lARGB_8888,+ vg_lARGB_8888_PRE,++ vg_sBGRX_8888,+ vg_sBGRA_8888,+ vg_sBGRA_8888_PRE,+ vg_sBGR_565,+ vg_sBGRA_5551,+ vg_sBGRA_4444,+ vg_lBGRX_8888,+ vg_lBGRA_8888,+ vg_lBGRA_8888_PRE,++ vg_sXBGR_8888,+ vg_sABGR_8888,+ vg_sABGR_8888_PRE,+ vg_sABGR_1555,+ vg_sABGR_4444,+ vg_lXBGR_8888,+ vg_lABGR_8888,+ vg_lABGR_8888_PRE,+++ vg_IMAGE_QUALITY_NONANTIALIASED,+ vg_IMAGE_QUALITY_FASTER,+ vg_IMAGE_QUALITY_BETTER,++ vg_IMAGE_FORMAT,+ vg_IMAGE_WIDTH,+ vg_IMAGE_HEIGHT,++ vg_DRAW_IMAGE_NORMAL,+ vg_DRAW_IMAGE_MULTIPLY,+ vg_DRAW_IMAGE_STENCIL,+ + -- Section 11 - Image Filters+ vg_RED,+ vg_GREEN,+ vg_BLUE,+ vg_ALPHA,++ -- Section 12 - Blending+ vg_BLEND_SRC,+ vg_BLEND_SRC_OVER,+ vg_BLEND_DST_OVER,+ vg_BLEND_SRC_IN,+ vg_BLEND_DST_IN,+ vg_BLEND_MULTIPLY,+ vg_BLEND_SCREEN,+ vg_BLEND_DARKEN,+ vg_BLEND_LIGHTEN,+ vg_BLEND_ADDITIVE,+ vg_BLEND_SRC_OUT_SH,+ vg_BLEND_DST_OUT_SH,+ vg_BLEND_SRC_ATOP_SH,+ vg_BLEND_DST_ATOP_SH,+ + -- Section 13 - Querying Hardware Capabilities+ vg_IMAGE_FORMAT_QUERY,+ vg_PATH_DATATYPE_QUERY,+ + vg_HARDWARE_ACCELERATED,+ vg_HARDWARE_UNACCELERATED,+ + -- Section 14 - Extending the API+ vg_VENDOR,+ vg_RENDERER,+ vg_VERSION,+ vg_EXTENSIONS,++ -- CFunDecls.hsc+ -- * Functions+ -- Section 4 - Drawing Context+ vgGetError,+ vgFlush,+ vgFinish,+ + -- Section 5 - Setting API parameters+ vgSeti,+ vgSetf,+ vgSetfv,+ vgSetiv,+ vgGetf,+ vgGeti,+ vgGetVectorSize,+ vgGetfv,+ vgGetiv,+ vgSetParameterf,+ vgSetParameteri,+ vgSetParameterfv,+ vgSetParameteriv,+ vgGetParameterf,+ vgGetParameteri,+ vgGetParameterVectorSize,+ vgGetParameterfv,+ vgGetParameteriv,+ + -- Section 6 - Rendering Quality+ vgLoadIdentity,+ vgLoadMatrix,+ vgGetMatrix,+ vgMultMatrix,+ vgTranslate,+ vgScale,+ vgShear,+ vgRotate,+ + -- Section 7 - Scissoring+ vgMask,+ vgClear,+ + -- Section 8 - Paths+ vgCreatePath,+ vgClearPath,+ vgDestroyPath,+ vgGetPathCapabilities,+ vgRemovePathCapabilities,+ vgAppendPath,+ vgAppendPathData,+ vgModifyPathCoords,+ vgTransformPath,+ vgInterpolatePath,+ vgPathLength,+ vgPointAlongPath,+ vgPathBounds,+ vgPathTransformedBounds,+ vgDrawPath,+ + -- Section 9 - Paint+ vgCreatePaint,+ vgDestroyPaint,+ vgSetPaint,+-- vgGetPaint, NOT IMPLEMENTED BY SHIVA-VG+ vgPaintPattern,+ + -- Section 10 - Images+ vgCreateImage,+ vgDestroyImage,+ vgClearImage,+ vgImageSubData,+ vgGetImageSubData,+ vgChildImage,+ vgGetParent,+ vgCopyImage,+ vgDrawImage,+ vgSetPixels,+ vgWritePixels,+ vgGetPixels,+ vgReadPixels,+ vgCopyPixels,+ + -- Section 11 - Image Filters+ vgColorMatrix,+ vgConvolve,+ vgSeparableConvolve,+ vgGaussianBlur,+ vgLookup,+ vgLookupSingle,+ + -- Section 13 - Querying Harware+ vgHardwareQuery,+ vgGetString,+ + -- ShivaVG extensions+ vgCreateContextSH,+ vgResizeSurfaceSH,+ vgDestroyContextSH+++++) where+++import Graphics.Rendering.OpenVG.Raw.VG.BasicTypes+import Graphics.Rendering.OpenVG.Raw.VG.Constants+import Graphics.Rendering.OpenVG.Raw.VG.CFunDecls+
+ src/Graphics/Rendering/OpenVG/Raw/VG/DrawingContext.hs view
@@ -0,0 +1,40 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.DrawingContext+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to sections 4.1 (Errors) and 4.3 +-- (Forcing Drawing to Complete) of the OpenVG 1.0.1 specs.+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.DrawingContext (+ -- * Tokens+ vg_NO_ERROR, + vg_BAD_HANDLE_ERROR, + vg_ILLEGAL_ARGUMENT_ERROR,+ vg_OUT_OF_MEMORY_ERROR, + vg_PATH_CAPABILITY_ERROR,+ vg_UNSUPPORTED_IMAGE_FORMAT_ERROR, + vg_UNSUPPORTED_PATH_FORMAT_ERROR,+ vg_IMAGE_IN_USE_ERROR,+ vg_NO_CONTEXT_ERROR,+ + -- * Functions+ vgGetError,+ vgFlush, + vgFinish+++) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101++
+ src/Graphics/Rendering/OpenVG/Raw/VG/Extending.hs view
@@ -0,0 +1,30 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Extending+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 14 (Extending the API) +-- of the OpenVG 1.0.1 specs.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.Extending (+ -- * Tokens+ vg_VENDOR,+ vg_RENDERER,+ vg_VERSION,+ vg_EXTENSIONS,+ + -- * Functions+ vgGetString+) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101
+ src/Graphics/Rendering/OpenVG/Raw/VG/Images.hs view
@@ -0,0 +1,65 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Images+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 10 (Images) +-- of the OpenVG 1.0.1 specs.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.Images (+ -- * Tokens+ vg_IMAGE_QUALITY_NONANTIALIASED, + vg_IMAGE_QUALITY_FASTER, + vg_IMAGE_QUALITY_BETTER, ++ vg_IMAGE_FORMAT, + vg_IMAGE_WIDTH, + vg_IMAGE_HEIGHT,++ vg_DRAW_IMAGE_NORMAL, + vg_DRAW_IMAGE_MULTIPLY, + vg_DRAW_IMAGE_STENCIL,++ vg_sRGBX_8888, vg_sRGBA_8888, vg_sRGBA_8888_PRE, vg_sRGB_565,+ vg_sRGBA_5551, vg_sRGBA_4444, vg_sL_8, vg_lRGBX_8888,+ vg_lRGBA_8888, vg_lRGBA_8888_PRE, vg_lL_8, vg_A_8, vg_BW_1,++ vg_sXRGB_8888, vg_sARGB_8888, vg_sARGB_8888_PRE, vg_sARGB_1555,+ vg_sARGB_4444, vg_lXRGB_8888, vg_lARGB_8888, vg_lARGB_8888_PRE,+ vg_sBGRX_8888, vg_sBGRA_8888, vg_sBGRA_8888_PRE, vg_sBGR_565,+ vg_sBGRA_5551, vg_sBGRA_4444, vg_lBGRX_8888, vg_lBGRA_8888,+ vg_lBGRA_8888_PRE, vg_sXBGR_8888, vg_sABGR_8888,+ vg_sABGR_8888_PRE, vg_sABGR_1555, vg_sABGR_4444, vg_lXBGR_8888,+ vg_lABGR_8888, vg_lABGR_8888_PRE,++ -- * Functions+ vgCreateImage,+ vgDestroyImage,+ vgClearImage,+ vgImageSubData,+ vgGetImageSubData,+ vgChildImage,+ vgGetParent,+ vgCopyImage,+ vgDrawImage,+ vgSetPixels,+ vgWritePixels,+ vgGetPixels,+ vgReadPixels,+ vgCopyPixels++++) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101
+ src/Graphics/Rendering/OpenVG/Raw/VG/Paint.hs view
@@ -0,0 +1,58 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Paint+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 9 (Paint) +-- of the OpenVG 1.0.1 specs.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.Paint (+ -- * Tokens+ vg_PAINT_TYPE, + vg_PAINT_COLOR, + vg_PAINT_COLOR_RAMP_SPREAD_MODE, + vg_PAINT_COLOR_RAMP_STOPS, + vg_PAINT_COLOR_RAMP_PREMULTIPLIED, + vg_PAINT_LINEAR_GRADIENT, + vg_PAINT_RADIAL_GRADIENT, + vg_PAINT_PATTERN_TILING_MODE,++ vg_PAINT_TYPE_COLOR, + vg_PAINT_TYPE_LINEAR_GRADIENT, + vg_PAINT_TYPE_RADIAL_GRADIENT, + vg_PAINT_TYPE_PATTERN,++ vg_COLOR_RAMP_SPREAD_PAD, + vg_COLOR_RAMP_SPREAD_REPEAT, + vg_COLOR_RAMP_SPREAD_REFLECT,+ + vg_TILE_FILL, + vg_TILE_PAD, + vg_TILE_REPEAT, + vg_TILE_REFLECT,++ -- * Functions+ vgCreatePaint, + vgDestroyPaint, + vgSetPaint, ++-- vgGetPaint, NOT IMPLEMENTED BY SHIVA-VG +-- vgSetColor, NOT IMPLEMENTED BY SHIVA-VG +-- vgGetColor, NOT IMPLEMENTED BY SHIVA-VG ++ vgPaintPattern+ +) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101+
+ src/Graphics/Rendering/OpenVG/Raw/VG/Parameters.hs view
@@ -0,0 +1,93 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Parameters+-- Copyright : (c) Stephen Tetley 2008, 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 5 (Setting API Parameters) +-- of the OpenVG 1.0.1 specs.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.Parameters (+ -- * Tokens+ vg_MATRIX_MODE, + vg_FILL_RULE, + vg_IMAGE_QUALITY, + vg_RENDERING_QUALITY, + vg_BLEND_MODE, + vg_IMAGE_MODE, ++ vg_SCISSOR_RECTS, ++ vg_STROKE_LINE_WIDTH, + vg_STROKE_CAP_STYLE, + vg_STROKE_JOIN_STYLE, + vg_STROKE_MITER_LIMIT, + vg_STROKE_DASH_PATTERN, + vg_STROKE_DASH_PHASE, + vg_STROKE_DASH_PHASE_RESET,++ vg_TILE_FILL_COLOR, ++ vg_CLEAR_COLOR, ++ vg_MASKING,+ vg_SCISSORING, ++ vg_PIXEL_LAYOUT, + vg_SCREEN_LAYOUT, ++ vg_FILTER_FORMAT_LINEAR, + vg_FILTER_FORMAT_PREMULTIPLIED, + + vg_FILTER_CHANNEL_MASK, + + vg_MAX_SCISSOR_RECTS, + vg_MAX_DASH_COUNT, + vg_MAX_KERNEL_SIZE, + vg_MAX_SEPARABLE_KERNEL_SIZE, + vg_MAX_COLOR_RAMP_STOPS,+ vg_MAX_IMAGE_WIDTH, + vg_MAX_IMAGE_HEIGHT, + vg_MAX_IMAGE_PIXELS, + vg_MAX_IMAGE_BYTES, + vg_MAX_FLOAT,+ vg_MAX_GAUSSIAN_STD_DEVIATION,+++ -- * Functions+ vgSetf, + vgSeti, + vgSetfv,+ vgSetiv,+ + vgGetf, + vgGeti, + vgGetVectorSize, + vgGetfv, + vgGetiv,+ + vgSetParameterf, + vgSetParameteri, + vgSetParameterfv, + vgSetParameteriv,+ + vgGetParameterf, + vgGetParameteri, + vgGetParameterVectorSize,+ vgGetParameterfv, + vgGetParameteriv+) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101+++
+ src/Graphics/Rendering/OpenVG/Raw/VG/Paths.hs view
@@ -0,0 +1,127 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Paths+-- Copyright : (c) Stephen Tetley 2008, 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 8 (Paths) +-- of the OpenVG 1.0.1 specs.+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.Paths (+ -- * Tokens+ vg_PATH_FORMAT_STANDARD,++ vg_PATH_DATATYPE_S_8,+ vg_PATH_DATATYPE_S_16,+ vg_PATH_DATATYPE_S_32,+ vg_PATH_DATATYPE_F,++ vg_ABSOLUTE,+ vg_RELATIVE,++ vg_CLOSE_PATH,+ vg_MOVE_TO,+ vg_LINE_TO,+ vg_HLINE_TO,+ vg_VLINE_TO,+ vg_QUAD_TO,+ vg_CUBIC_TO,+ vg_SQUAD_TO,+ vg_SCUBIC_TO,+ vg_SCCWARC_TO,+ vg_SCWARC_TO,+ vg_LCCWARC_TO,+ vg_LCWARC_TO,++ vg_MOVE_TO_ABS,+ vg_MOVE_TO_REL,+ vg_LINE_TO_ABS,+ vg_LINE_TO_REL,+ vg_HLINE_TO_ABS,+ vg_HLINE_TO_REL,+ vg_VLINE_TO_ABS,+ vg_VLINE_TO_REL,+ vg_QUAD_TO_ABS,+ vg_QUAD_TO_REL,+ vg_CUBIC_TO_ABS,+ vg_CUBIC_TO_REL,+ vg_SQUAD_TO_ABS,+ vg_SQUAD_TO_REL,+ vg_SCUBIC_TO_ABS,+ vg_SCUBIC_TO_REL,+ vg_SCCWARC_TO_ABS,+ vg_SCCWARC_TO_REL,+ vg_SCWARC_TO_ABS,+ vg_SCWARC_TO_REL,+ vg_LCCWARC_TO_ABS,+ vg_LCCWARC_TO_REL,+ vg_LCWARC_TO_ABS,+ vg_LCWARC_TO_REL,+ vg_PATH_CAPABILITY_APPEND_FROM,+ vg_PATH_CAPABILITY_APPEND_TO,+ vg_PATH_CAPABILITY_MODIFY,+ vg_PATH_CAPABILITY_TRANSFORM_FROM,+ vg_PATH_CAPABILITY_TRANSFORM_TO,+ vg_PATH_CAPABILITY_INTERPOLATE_FROM,+ vg_PATH_CAPABILITY_INTERPOLATE_TO,+ vg_PATH_CAPABILITY_PATH_LENGTH,+ vg_PATH_CAPABILITY_POINT_ALONG_PATH,+ vg_PATH_CAPABILITY_TANGENT_ALONG_PATH,+ vg_PATH_CAPABILITY_PATH_BOUNDS,+ vg_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS,+ vg_PATH_CAPABILITY_ALL,++ vg_PATH_FORMAT,+ vg_PATH_DATATYPE,+ vg_PATH_SCALE,+ vg_PATH_BIAS,+ vg_PATH_NUM_SEGMENTS,+ vg_PATH_NUM_COORDS,++ vg_CAP_BUTT,+ vg_CAP_ROUND,+ vg_CAP_SQUARE,+ + vg_JOIN_MITER,+ vg_JOIN_ROUND,+ vg_JOIN_BEVEL,++ vg_EVEN_ODD,+ vg_NON_ZERO,++ vg_STROKE_PATH,+ vg_FILL_PATH,+++ -- * Types+ VGPath,++ -- * Functions+ vgCreatePath, + vgClearPath, + vgDestroyPath, + vgGetPathCapabilities, + vgRemovePathCapabilities, + vgAppendPath, + vgAppendPathData, + vgModifyPathCoords,+ vgTransformPath, + vgInterpolatePath, + vgPathLength, -- returns 0.0+ vgPointAlongPath, + vgPathBounds, + vgPathTransformedBounds, + vgDrawPath++) where+++import Graphics.Rendering.OpenVG.Raw.VG.Core101
+ src/Graphics/Rendering/OpenVG/Raw/VG/RenderingQuality.hs view
@@ -0,0 +1,50 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.RenderingQuality+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 6 (Rendering Quality and Antialiasing) +-- of the OpenVG 1.0.1 specs.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.RenderingQuality (+ -- * Tokens+ vg_RENDERING_QUALITY_NONANTIALIASED, + vg_RENDERING_QUALITY_FASTER,+ vg_RENDERING_QUALITY_BETTER,++ vg_PIXEL_LAYOUT_UNKNOWN, + vg_PIXEL_LAYOUT_RGB_VERTICAL, + vg_PIXEL_LAYOUT_BGR_VERTICAL,+ vg_PIXEL_LAYOUT_RGB_HORIZONTAL, + vg_PIXEL_LAYOUT_BGR_HORIZONTAL,++ vg_MATRIX_PATH_USER_TO_SURFACE, + vg_MATRIX_IMAGE_USER_TO_SURFACE, + vg_MATRIX_FILL_PAINT_TO_USER, + vg_MATRIX_STROKE_PAINT_TO_USER, ++ -- * Functions+ vgLoadIdentity,+ vgLoadMatrix,+ vgGetMatrix,+ vgMultMatrix,+ vgTranslate,+ vgScale,+ vgShear,+ vgRotate ++) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101+ +
+ src/Graphics/Rendering/OpenVG/Raw/VG/Scissoring.hs view
@@ -0,0 +1,39 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.Scissoring+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 7 (Scissoring, Masking and Clearing) +-- of the OpenVG 1.0.1 specs.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.Scissoring (+ -- * Tokens+ vg_MAX_SCISSOR_RECTS,++ vg_CLEAR_MASK,+ vg_FILL_MASK,+ vg_SET_MASK,+ vg_UNION_MASK,+ vg_INTERSECT_MASK,+ vg_SUBTRACT_MASK,++ -- * Functions+ vgMask,+ vgClear++) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101+++
+ src/Graphics/Rendering/OpenVG/Raw/VG/ShivaExtensions.hs view
@@ -0,0 +1,27 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VG.ShivaExtensions+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- Shiva extensions to replace EGL - see the README in the shiva-vg+-- archive.+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VG.ShivaExtensions (+ -- * Functions+ vgCreateContextSH,+ vgResizeSurfaceSH,+ vgDestroyContextSH++) where++import Graphics.Rendering.OpenVG.Raw.VG.Core101+
+ src/Graphics/Rendering/OpenVG/Raw/VGU/CInternals.hsc view
@@ -0,0 +1,116 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VGU.CInternals+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : highly unstable+-- Portability : GHC+--+-- Internal module declaring all the datatypes and foreign declarations +-- defined in <vg/openvgu.h>.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VGU.CInternals where++#include <vg/vgu.h>++import Graphics.Rendering.OpenVG.Raw.VG.Core101++import Foreign.Ptr ( Ptr )++type VGU_ErrorCode = VGenum++-- | Enumerations++#{enum VGenum,+ , vgu_NO_ERROR = VGU_NO_ERROR+ , vgu_BAD_HANDLE_ERROR = VGU_BAD_HANDLE_ERROR+ , vgu_ILLEGAL_ARGUMENT_ERROR = VGU_ILLEGAL_ARGUMENT_ERROR+ , vgu_OUT_OF_MEMORY_ERROR = VGU_OUT_OF_MEMORY_ERROR+ , vgu_PATH_CAPABILITY_ERROR = VGU_PATH_CAPABILITY_ERROR+ , vgu_BAD_WARP_ERROR = VGU_BAD_WARP_ERROR+ }++#{enum VGenum,+ , vgu_ARC_OPEN = VGU_ARC_OPEN+ , vgu_ARC_CHORD = VGU_ARC_CHORD+ , vgu_ARC_PIE = VGU_ARC_PIE+} + ++foreign import ccall unsafe "vg/openvg.h vguLine" + vguLine :: VGPath + -> VGfloat -> VGfloat -> VGfloat -> VGfloat + -> IO VGU_ErrorCode++foreign import ccall unsafe "vg/openvg.h vguPolygon"+ vguPolygon :: VGPath + -> Ptr VGfloat -> VGint -> VGboolean + -> IO VGU_ErrorCode ++foreign import ccall unsafe "vg/openvg.h vguRect"+ vguRect :: VGPath + -> VGfloat -> VGfloat -> VGfloat -> VGfloat + -> IO VGU_ErrorCode ++foreign import ccall unsafe "vg/openvg.h vguRoundRect"+ vguRoundRect :: VGPath + -> VGfloat -> VGfloat -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat + -> IO VGU_ErrorCode ++foreign import ccall unsafe "vg/openvg.h vguEllipse"+ vguEllipse :: VGPath + -> VGfloat -> VGfloat -> VGfloat -> VGfloat + -> IO VGU_ErrorCode ++foreign import ccall unsafe "vg/openvg.h vguArc"+ vguArc :: VGPath + -> VGfloat -> VGfloat -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> VGenum + -> IO VGU_ErrorCode ++{-+-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vguComputeWarpQuadToSquare"+ vguComputeWarpQuadToSquare :: VGfloat -> VGfloat + -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> Ptr VGfloat+ -> IO VGU_ErrorCode ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vguComputeWarpSquareToQuad"+ vguComputeWarpSquareToQuad :: VGfloat -> VGfloat + -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> Ptr VGfloat+ -> IO VGU_ErrorCode ++-- Stubbed in shivaVG 0.2.1 (not implemented)+foreign import ccall unsafe "vg/openvg.h vguComputeWarpQuadToQuad"+ vguComputeWarpQuadToQuad :: VGfloat -> VGfloat + -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat + -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> VGfloat -> VGfloat+ -> Ptr VGfloat+ -> IO VGU_ErrorCode ++-}++-- end of file
+ src/Graphics/Rendering/OpenVG/Raw/VGU/VGU.hs view
@@ -0,0 +1,45 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module : Graphics.Rendering.OpenVG.Raw.VGU.VGU+-- Copyright : (c) Stephen Tetley 2009+-- License : BSD3+--+-- Maintainer : Stephen Tetley <stephen.tetley@gmail.com>+-- Stability : unstable+-- Portability : GHC+--+-- This module corresponds to section 16 (The VGU Utility Library) +-- of the OpenVG 1.0.1 specs.+--+--+--------------------------------------------------------------------------------++module Graphics.Rendering.OpenVG.Raw.VGU.VGU (+ -- * Functions+ vguLine,+ vguPolygon,+ vguRect,+ vguRoundRect,+ vguEllipse,+ vguArc,+ + -- * Tokens+ vgu_NO_ERROR,+ vgu_BAD_HANDLE_ERROR,+ vgu_ILLEGAL_ARGUMENT_ERROR,+ vgu_OUT_OF_MEMORY_ERROR,+ vgu_PATH_CAPABILITY_ERROR,+ vgu_BAD_WARP_ERROR,++ vgu_ARC_OPEN,+ vgu_ARC_CHORD,+ vgu_ARC_PIE++) where+++import Graphics.Rendering.OpenVG.Raw.VGU.CInternals++