{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE NoMonomorphismRestriction #-} module Control.Monad.SFML ( module Control.Monad.SFML.Types , module Control.Monad.SFML.Conversions , liftIO ) where import SFML.System.Vector2 import qualified SFML.Graphics as G import Control.Monad.State.Strict hiding (lift) import Control.Monad.SFML.Types.Internal import Control.Monad.SFML.Types import Control.Monad.SFML.Conversions -------------------------------------------------------------------------------- drawRectangleOfSize :: Vec2f -> SFML G.RectangleShape drawRectangleOfSize size = SFML $ do shp <- liftIO . G.err $ G.createRectangleShape liftIO $ G.setSize shp size modify $ \s -> G.destroy shp : s return shp