{-| This module provides an API to compose @'Scene'@s through do-notation. -} module FRP.Spice.Graphics.Scene where ------------------- -- Local Imports -- import FRP.Spice.Graphics.Element import FRP.Spice.Utils.DoList ---------- -- Code -- {-| A DoList to compose a list of @'Element'@s to render using do-notation. -} type Scene = DoList [Element] fromElements :: [Element] -> Scene fromElements = fromValues renderScene :: Scene -> IO () renderScene scene = mapM_ renderElement $ values scene