feather-0.1.0.0

Safe HaskellNone
LanguageHaskell2010

Feather

Synopsis

Documentation

type EventHandler i o m = Dispatcher o m -> Dispatcher i m Source #

data EventState Source #

Instances
HasEvents EventState Source #

Lenses

Instance details

Defined in Feather

class SIM s i m => EventInput s i m Source #

An event handler may listen for many different types

Minimal complete definition

getInputs

Instances
SIM s i m => EventInput s i m Source # 
Instance details

Defined in Feather

Methods

getInputs :: T o => EventHandler i o m -> m [InputSpec m]

(SM s m, T a, T b, T c) => EventInput s (Complex a b c) m Source # 
Instance details

Defined in Feather

Methods

getInputs :: T o => EventHandler (Complex a b c) o m -> m [InputSpec m]

class HasEvents s where Source #

Types

Instances
HasEvents EventState Source #

Lenses

Instance details

Defined in Feather

data Complex a b c Source #

Complex events

Constructors

C1 a 
C2 b 
C3 c 
Instances
(SM s m, T a, T b, T c) => EventInput s (Complex a b c) m Source # 
Instance details

Defined in Feather

Methods

getInputs :: T o => EventHandler (Complex a b c) o m -> m [InputSpec m]

(Eq a, Eq b, Eq c) => Eq (Complex a b c) Source # 
Instance details

Defined in Feather

Methods

(==) :: Complex a b c -> Complex a b c -> Bool #

(/=) :: Complex a b c -> Complex a b c -> Bool #

(Ord a, Ord b, Ord c) => Ord (Complex a b c) Source # 
Instance details

Defined in Feather

Methods

compare :: Complex a b c -> Complex a b c -> Ordering #

(<) :: Complex a b c -> Complex a b c -> Bool #

(<=) :: Complex a b c -> Complex a b c -> Bool #

(>) :: Complex a b c -> Complex a b c -> Bool #

(>=) :: Complex a b c -> Complex a b c -> Bool #

max :: Complex a b c -> Complex a b c -> Complex a b c #

min :: Complex a b c -> Complex a b c -> Complex a b c #

(Show a, Show b, Show c) => Show (Complex a b c) Source # 
Instance details

Defined in Feather

Methods

showsPrec :: Int -> Complex a b c -> ShowS #

show :: Complex a b c -> String #

showList :: [Complex a b c] -> ShowS #

type Complex2 a b = Complex a b () Source #

type Complex3 a b c = Complex a b c Source #

addHandler :: forall s i m o. (SIM s i m, EventInput s i m, T o, T m) => EventHandler i o m -> m () Source #

runEvent :: SIM s i m => i -> m () Source #

getHandler :: forall s i m. SIM s i m => m (i -> m ()) Source #

Get an event handler from the cache