{-# OPTIONS_HADDOCK hide #-}
module Graphics.Rendering.OpenGL.GL.PrimitiveModeInternal (
marshalPrimitiveMode, unmarshalPrimitiveMode
) where
import Graphics.GL
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)