{-# OPTIONS_HADDOCK hide #-} -------------------------------------------------------------------------------- -- | -- Module : Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal -- Copyright : (c) Sven Panne 2002-2013 -- License : BSD3 -- -- Maintainer : Sven Panne -- Stability : stable -- Portability : portable -- -- This is a purely internal module for (un-)marshaling PrimitiveMode. -- -------------------------------------------------------------------------------- module Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal ( marshalPrimitiveMode, unmarshalPrimitiveMode ) where import Graphics.Rendering.OpenGL.Raw import Graphics.Rendering.OpenGL.GL.PrimitiveMode -------------------------------------------------------------------------------- marshalPrimitiveMode :: PrimitiveMode -> GLenum marshalPrimitiveMode x = case x of Points -> gl_POINTS Lines -> gl_LINES LineLoop -> gl_LINE_LOOP LineStrip -> gl_LINE_STRIP Triangles -> gl_TRIANGLES TriangleStrip -> gl_TRIANGLE_STRIP TriangleFan -> gl_TRIANGLE_FAN Quads -> gl_QUADS QuadStrip -> gl_QUAD_STRIP Polygon -> gl_POLYGON Patches -> gl_PATCHES unmarshalPrimitiveMode :: GLenum -> PrimitiveMode unmarshalPrimitiveMode x | x == gl_POINTS = Points | x == gl_LINES = Lines | x == gl_LINE_LOOP = LineLoop | x == gl_LINE_STRIP = LineStrip | x == gl_TRIANGLES = Triangles | x == gl_TRIANGLE_STRIP = TriangleStrip | x == gl_TRIANGLE_FAN = TriangleFan | x == gl_QUADS = Quads | x == gl_QUAD_STRIP = QuadStrip | x == gl_POLYGON = Polygon | x == gl_PATCHES = Patches | otherwise = error ("unmarshalPrimitiveMode: illegal value " ++ show x)