free-game-0.3.2.3: Create graphical applications for free.

Portabilitynon-portable
Stabilityexperimental
MaintainerFumiaki Kinsohita <fumiexcel@gmail.com>
Safe HaskellNone

Graphics.FreeGame.Base

Contents

Description

Abstract structures that represents user interfaces

Synopsis

Types

type Game = Free GameActionSource

Game is a Monad that abstracts user interfaces.

data GameAction a Source

A base for Game monad.

Basic operations

tick :: MonadFree GameAction m => m ()Source

Finalize the current frame and refresh the screen.

embedIO :: MonadFree GameAction m => IO a -> m aSource

Embed arbitrary IO actions into a Game monad.

bracket :: MonadFree GameAction m => Game a -> m aSource

Run a Game monad in a Game monad. resources (e.g. pictures) will be released when inner computation is done.

quitGame :: MonadFree GameAction m => m VoidSource

Break the current computation.

Pictures

data Color Source

A color that has red, green, blue, alpha as its component.

Constructors

Color Float Float Float Float 

data Picture Source

A 2D Picture.

Constructors

Bitmap Bitmap

A Bitmap as a Picture.

BitmapPicture Bitmap

Deprecated: use Bitmap instead

Deprecated synonym for Bitmap.

Pictures [Picture]

A picture consist of some Pictures.

PictureWithFinalizer (FinalizerT IO Picture)

A picture that may have side effects(for internal use).

Rotate Float Picture

Rotated picture by the given angle (in degrees, counterclockwise).

Scale Vec2 Picture

Scaled picture.

Translate Vec2 Picture

A picture translated by the given coordinate.

Colored Color Picture

Colored picture.

transPicture :: (Picture -> Picture) -> GameAction cont -> GameAction contSource

Lift a picture transformation into transformation of GameAction

Inputs

getButtonState :: MonadFree GameAction m => Button -> m BoolSource

Is the specified Button is pressed?

Settings

data GameParam Source

Parameters of the application.

Instances

defaultGameParam :: GameParamSource

640*480(windowed), 60fps

getCurrentGameParam :: MonadFree GameAction m => m GameParamSource

Get the game params that apply to the currently running game.

Deprecated

askInput :: MonadFree GameAction m => Button -> m BoolSource

Deprecated: use getButtonState instead.

Deprecated synonym for getButtonState.

getMouseState :: MonadFree GameAction m => m MouseStateSource

Deprecated: use getMousePosition and getMouseWheel instead.

Yields the mouse's state.