module FRP.Spice.Graphics.Element ( Element (..)
, renderElement
) where
import Graphics.Rendering.OpenGL
import Control.Monad
import FRP.Spice.Graphics.Utils
import FRP.Spice.Math
data Element = RenderPrimitive PrimitiveMode [Vector Float]
| SetColor Float Float Float Float
renderElement :: Element -> IO ()
renderElement (RenderPrimitive mode vertecies) =
renderPrimitive mode $
forM_ vertecies $ \(Vector x y) ->
vertex $ Vertex2 (togl x) (togl y)
renderElement (SetColor r g b a) =
color $ Color4 (togl r) (togl g) (togl b) (togl a)