free-game-1.1.81: Create games for free

Copyright(C) 2013 Fumiaki Kinoshita
LicenseBSD-style (see the file LICENSE)
MaintainerFumiaki Kinoshita <fumiexcel@gmail.com>
Stabilityprovisional
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

FreeGame.Class

Description

 

Synopsis

Documentation

class Functor p => Affine p where Source

Minimal complete definition

scale, translate

Methods

rotateR :: Double -> p a -> p a infixr 5 Source

(radians)

rotateD :: Double -> p a -> p a infixr 5 Source

(degrees)

scale :: Vec2 -> p a -> p a infixr 5 Source

translate :: Vec2 -> p a -> p a infixr 5 Source

Instances

Affine Location 
Affine UI 
(Affine m, Monad m) => Affine (IdentityT m) 
(Affine m, Functor m) => Affine (F m) 
(Affine m, Functor m) => Affine (Free m) 
(Affine m, Monad m) => Affine (IterT m) 
(Affine m, Monad m) => Affine (ListT m) 
(Affine m, Monad m) => Affine (MaybeT m) 
(Affine m, Monad m) => Affine (ContT r m) 
(Affine m, Monad m) => Affine (ReaderT r m) 
(Affine m, Monad m) => Affine (StateT s m) 
(Affine m, Monad m) => Affine (StateT s m) 
(Affine m, Monad m) => Affine (ExceptT e m) 
(Affine m, Monad m, Monoid w) => Affine (WriterT w m) 
(Affine m, Monad m, Monoid w) => Affine (WriterT w m) 
(Affine m, Monad m, Monoid w) => Affine (RWST r w s m) 
(Affine m, Monad m, Monoid w) => Affine (RWST r w s m) 

class Affine p => Picture2D p where Source

The class of types that can be regarded as a kind of picture.

Methods

bitmap :: Bitmap -> p () Source

Construct a Picture2D from a Bitmap.

bitmapOnce :: Bitmap -> p () Source

Same as bitmap, but it does not create a cache.

line :: [Vec2] -> p () Source

polygon :: [Vec2] -> p () Source

polygonOutline :: [Vec2] -> p () Source

circle :: Double -> p () Source

circleOutline :: Double -> p () Source

thickness :: Float -> p a -> p a infixr 5 Source

color :: Color Float -> p a -> p a infixr 5 Source

blendMode :: BlendMode -> p a -> p a infixr 5 Source

Instances

Picture2D UI 
(Picture2D m, Monad m) => Picture2D (IdentityT m) 
(Picture2D m, Functor m) => Picture2D (F m) 
(Picture2D m, Functor m) => Picture2D (Free m) 
(Picture2D m, Monad m) => Picture2D (IterT m) 
(Picture2D m, Monad m) => Picture2D (ListT m) 
(Picture2D m, Monad m) => Picture2D (MaybeT m) 
(Picture2D m, Monad m) => Picture2D (ContT r m) 
(Picture2D m, Monad m) => Picture2D (ReaderT r m) 
(Picture2D m, Monad m) => Picture2D (StateT s m) 
(Picture2D m, Monad m) => Picture2D (StateT s m) 
(Picture2D m, Monad m) => Picture2D (ExceptT e m) 
(Picture2D m, Monad m, Monoid w) => Picture2D (WriterT w m) 
(Picture2D m, Monad m, Monoid w) => Picture2D (WriterT w m) 
(Picture2D m, Monad m, Monoid w) => Picture2D (RWST r w s m) 
(Picture2D m, Monad m, Monoid w) => Picture2D (RWST r w s m) 

class Affine p => Local p where Source

Methods

getLocation :: p (Location a) Source

Instances

Local UI 
(Local m, Monad m) => Local (IdentityT m) 
(Local m, Functor m) => Local (F m) 
(Local m, Functor m) => Local (Free m) 
(Local m, Monad m) => Local (IterT m) 
(Local m, Monad m) => Local (ListT m) 
(Local m, Monad m) => Local (MaybeT m) 
(Local m, Monad m) => Local (ContT r m) 
(Local m, Monad m) => Local (ReaderT s m) 
(Local m, Monad m) => Local (StateT s m) 
(Local m, Monad m) => Local (StateT s m) 
(Local m, Monad m) => Local (ExceptT e m) 
(Local m, Monad m, Monoid w) => Local (WriterT w m) 
(Local m, Monad m, Monoid w) => Local (WriterT w m) 
(Local m, Monad m, Monoid w) => Local (RWST r w s m) 
(Local m, Monad m, Monoid w) => Local (RWST r w s m) 

data Location a Source

Constructors

Location (Vec2 -> Vec2) (Vec2 -> Vec2) 

rot2 :: Floating a => a -> V2 a -> V2 a Source

class Functor f => Keyboard f where Source

Instances

Keyboard UI 
(Keyboard m, Monad m) => Keyboard (IdentityT m) 
(Keyboard m, Functor m) => Keyboard (F m) 
(Keyboard m, Functor m) => Keyboard (Free m) 
(Keyboard m, Monad m) => Keyboard (IterT m) 
(Keyboard m, Monad m) => Keyboard (ListT m) 
(Keyboard m, Monad m) => Keyboard (MaybeT m) 
(Keyboard m, Monad m) => Keyboard (ContT r m) 
(Keyboard m, Monad m) => Keyboard (ReaderT s m) 
(Keyboard m, Monad m) => Keyboard (StateT s m) 
(Keyboard m, Monad m) => Keyboard (StateT s m) 
(Keyboard m, Monad m) => Keyboard (ExceptT e m) 
(Keyboard m, Monad m, Monoid w) => Keyboard (WriterT w m) 
(Keyboard m, Monad m, Monoid w) => Keyboard (WriterT w m) 
(Keyboard m, Monad m, Monoid w) => Keyboard (RWST r w s m) 
(Keyboard m, Monad m, Monoid w) => Keyboard (RWST r w s m) 

class Functor f => Mouse f where Source

Instances

Mouse UI 
(Mouse m, Monad m) => Mouse (IdentityT m) 
(Mouse m, Functor m) => Mouse (F m) 
(Mouse m, Functor m) => Mouse (Free m) 
(Mouse m, Monad m) => Mouse (IterT m) 
(Mouse m, Monad m) => Mouse (ListT m) 
(Mouse m, Monad m) => Mouse (MaybeT m) 
(Mouse m, Monad m) => Mouse (ContT r m) 
(Mouse m, Monad m) => Mouse (ReaderT r m) 
(Mouse m, Monad m) => Mouse (StateT s m) 
(Mouse m, Monad m) => Mouse (StateT s m) 
(Mouse m, Monad m) => Mouse (ExceptT e m) 
(Mouse m, Monad m, Monoid w) => Mouse (WriterT w m) 
(Mouse m, Monad m, Monoid w) => Mouse (WriterT w m) 
(Mouse m, Monad m, Monoid w) => Mouse (RWST r w s m) 
(Mouse m, Monad m, Monoid w) => Mouse (RWST r w s m) 

mousePosition :: (Applicative f, Mouse f, Local f) => f Vec2 Source

Returns the relative coordinate of the cursor.

mouseUp :: Mouse f => Int -> f Bool Source

embedIO :: FromFinalizer m => IO a -> m a Source

liftIO variety for FromFinalizer.