free-game-1.2: FreeGame/UI.hs
{-# LANGUAGE DeriveFunctor, ExistentialQuantification, Rank2Types, UndecidableInstances #-}
-----------------------------------------------------------------------------
-- |
-- Module : FreeGame.UI
-- Copyright : (C) 2013 Fumiaki Kinoshita
-- License : BSD-style (see the file LICENSE)
--
-- Maintainer : Fumiaki Kinoshita <fumiexcel@gmail.com>
-- Stability : provisional
-- Portability : non-portable
-- Provides the "free" embodiment.
----------------------------------------------------------------------------
module FreeGame.UI (
FreeGame(..)
) where
import FreeGame.Class
import FreeGame.Types
import FreeGame.Data.Bitmap (Bitmap)
import Data.Color
class (Picture2D m, Local m, Keyboard m, Mouse m) => FreeGame m where
-- | Load a 'Bitmap' to avoid the cost of the first invocation of 'bitmap'.
preloadBitmap :: Bitmap -> m ()
-- | Generate a 'Bitmap' from the front buffer.
takeScreenshot :: m Bitmap
-- | Set the goal FPS.
setFPS :: Double -> m ()
setTitle :: String -> m ()
showCursor :: m ()
hideCursor :: m ()
clearColor :: Color Float -> m ()
-- | Get the actual FPS value.
getFPS :: m Int
getBoundingBox :: m BoundingBox2
setBoundingBox :: BoundingBox2 -> m ()