dyna-brick-0.1.0.0: FRP for brick Terminal user interface library
Safe HaskellNone
LanguageHaskell2010

Dyna.Brick.Types

Description

Brick application types

Synopsis

Brick helper types

type Box = Widget BoxId Source #

Synonym to fix the Widget parameter

newtype BoxId Source #

Box identifier

Constructors

BoxId 

Fields

Instances

Instances details
Eq BoxId Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(==) :: BoxId -> BoxId -> Bool #

(/=) :: BoxId -> BoxId -> Bool #

Ord BoxId Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

compare :: BoxId -> BoxId -> Ordering #

(<) :: BoxId -> BoxId -> Bool #

(<=) :: BoxId -> BoxId -> Bool #

(>) :: BoxId -> BoxId -> Bool #

(>=) :: BoxId -> BoxId -> Bool #

max :: BoxId -> BoxId -> BoxId #

min :: BoxId -> BoxId -> BoxId #

Read BoxId Source # 
Instance details

Defined in Dyna.Brick.Types

Show BoxId Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

showsPrec :: Int -> BoxId -> ShowS #

show :: BoxId -> String #

showList :: [BoxId] -> ShowS #

data Win Source #

Window of the application

Constructors

Win 

Fields

data Act Source #

Actions for Brick rendering engine

Constructors

Quit

Quit the app

data MouseUpEvent Source #

Mouse up events only

data MouseDownEvent Source #

Mouse down events only

Brick application monad

newtype Run a Source #

Constructors

Run 

Fields

Instances

Instances details
Monad Run Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(>>=) :: Run a -> (a -> Run b) -> Run b #

(>>) :: Run a -> Run b -> Run b #

return :: a -> Run a #

Functor Run Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

fmap :: (a -> b) -> Run a -> Run b #

(<$) :: a -> Run b -> Run a #

Applicative Run Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

pure :: a -> Run a #

(<*>) :: Run (a -> b) -> Run a -> Run b #

liftA2 :: (a -> b -> c) -> Run a -> Run b -> Run c #

(*>) :: Run a -> Run b -> Run b #

(<*) :: Run a -> Run b -> Run a #

MonadIO Run Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

liftIO :: IO a -> Run a #

MonadRandom Run Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

getRandomR :: Random a => (a, a) -> Run a #

getRandom :: Random a => Run a #

getRandomRs :: Random a => (a, a) -> Run [a] #

getRandoms :: Random a => Run [a] #

Frp Run Source # 
Instance details

Defined in Dyna.Brick.Types

Associated Types

type Ref Run :: Type -> Type #

MonadReader Env Run Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

ask :: Run Env #

local :: (Env -> Env) -> Run a -> Run a #

reader :: (Env -> a) -> Run a #

MonadBase IO Run Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

liftBase :: IO α -> Run α #

MonadBaseControl IO Run Source # 
Instance details

Defined in Dyna.Brick.Types

Associated Types

type StM Run a #

Methods

liftBaseWith :: (RunInBase Run IO -> IO a) -> Run a #

restoreM :: StM Run a -> Run a #

type Ref Run Source # 
Instance details

Defined in Dyna.Brick.Types

type Ref Run = IORef
type StM Run a Source # 
Instance details

Defined in Dyna.Brick.Types

type StM Run a

evalRun :: Run a -> Env -> IO a Source #

FRP types

newtype Evt a Source #

Event stream

Constructors

Evt 

Fields

Instances

Instances details
Monad Evt Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(>>=) :: Evt a -> (a -> Evt b) -> Evt b #

(>>) :: Evt a -> Evt b -> Evt b #

return :: a -> Evt a #

Functor Evt Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

fmap :: (a -> b) -> Evt a -> Evt b #

(<$) :: a -> Evt b -> Evt a #

Applicative Evt Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

pure :: a -> Evt a #

(<*>) :: Evt (a -> b) -> Evt a -> Evt b #

liftA2 :: (a -> b -> c) -> Evt a -> Evt b -> Evt c #

(*>) :: Evt a -> Evt b -> Evt b #

(<*) :: Evt a -> Evt b -> Evt a #

RunFunctor Evt Source # 
Instance details

Defined in Dyna.Brick.Frp

Methods

fmap' :: (a -> Run b) -> Evt a -> Evt b Source #

Semigroup (Evt a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(<>) :: Evt a -> Evt a -> Evt a #

sconcat :: NonEmpty (Evt a) -> Evt a #

stimes :: Integral b => b -> Evt a -> Evt a #

Monoid (Evt a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

mempty :: Evt a #

mappend :: Evt a -> Evt a -> Evt a #

mconcat :: [Evt a] -> Evt a #

Loop (Evt a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

loop :: Evt a -> Evt a #

Limit (Evt a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

lim :: DurOf (Evt a) -> Evt a -> Evt a #

Compose (Evt a) Source # 
Instance details

Defined in Dyna.Brick.Types

Harmony (Evt a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

har :: [Evt a] -> Evt a #

(=:=) :: Evt a -> Evt a -> Evt a #

Melody (Evt a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

mel :: [Evt a] -> Evt a #

(+:+) :: Evt a -> Evt a -> Evt a #

type DurOf (Evt a) Source # 
Instance details

Defined in Dyna.Brick.Types

type DurOf (Evt a) = Float

newtype Dyn a Source #

Dynamic value that continuously changes over time

Constructors

Dyn 

Fields

Instances

Instances details
Functor Dyn Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

fmap :: (a -> b) -> Dyn a -> Dyn b #

(<$) :: a -> Dyn b -> Dyn a #

Applicative Dyn Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

pure :: a -> Dyn a #

(<*>) :: Dyn (a -> b) -> Dyn a -> Dyn b #

liftA2 :: (a -> b -> c) -> Dyn a -> Dyn b -> Dyn c #

(*>) :: Dyn a -> Dyn b -> Dyn b #

(<*) :: Dyn a -> Dyn b -> Dyn a #

RunFunctor Dyn Source # 
Instance details

Defined in Dyna.Brick.Frp

Methods

fmap' :: (a -> Run b) -> Dyn a -> Dyn b Source #

Fractional a => Fractional (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(/) :: Dyn a -> Dyn a -> Dyn a #

recip :: Dyn a -> Dyn a #

fromRational :: Rational -> Dyn a #

Num a => Num (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(+) :: Dyn a -> Dyn a -> Dyn a #

(-) :: Dyn a -> Dyn a -> Dyn a #

(*) :: Dyn a -> Dyn a -> Dyn a #

negate :: Dyn a -> Dyn a #

abs :: Dyn a -> Dyn a #

signum :: Dyn a -> Dyn a #

fromInteger :: Integer -> Dyn a #

IsString a => IsString (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

fromString :: String -> Dyn a #

Semigroup a => Semigroup (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(<>) :: Dyn a -> Dyn a -> Dyn a #

sconcat :: NonEmpty (Dyn a) -> Dyn a #

stimes :: Integral b => b -> Dyn a -> Dyn a #

Monoid a => Monoid (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

mempty :: Dyn a #

mappend :: Dyn a -> Dyn a -> Dyn a #

mconcat :: [Dyn a] -> Dyn a #

Boolean a => Boolean (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

true :: Dyn a #

false :: Dyn a #

notB :: Dyn a -> Dyn a #

(&&*) :: Dyn a -> Dyn a -> Dyn a #

(||*) :: Dyn a -> Dyn a -> Dyn a #

IfB a => IfB (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

ifB :: bool ~ BooleanOf (Dyn a) => bool -> Dyn a -> Dyn a -> Dyn a #

EqB a => EqB (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(==*) :: bool ~ BooleanOf (Dyn a) => Dyn a -> Dyn a -> bool #

(/=*) :: bool ~ BooleanOf (Dyn a) => Dyn a -> Dyn a -> bool #

OrdB a => OrdB (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

(<*) :: bool ~ BooleanOf (Dyn a) => Dyn a -> Dyn a -> bool #

(<=*) :: bool ~ BooleanOf (Dyn a) => Dyn a -> Dyn a -> bool #

(>*) :: bool ~ BooleanOf (Dyn a) => Dyn a -> Dyn a -> bool #

(>=*) :: bool ~ BooleanOf (Dyn a) => Dyn a -> Dyn a -> bool #

AdditiveGroup a => AdditiveGroup (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

zeroV :: Dyn a #

(^+^) :: Dyn a -> Dyn a -> Dyn a #

negateV :: Dyn a -> Dyn a #

(^-^) :: Dyn a -> Dyn a -> Dyn a #

VectorSpace a => VectorSpace (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Associated Types

type Scalar (Dyn a) #

Methods

(*^) :: Scalar (Dyn a) -> Dyn a -> Dyn a #

AffineSpace a => AffineSpace (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Associated Types

type Diff (Dyn a) #

Methods

(.-.) :: Dyn a -> Dyn a -> Diff (Dyn a) #

(.+^) :: Dyn a -> Diff (Dyn a) -> Dyn a #

HasCross3 a => HasCross3 (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

cross3 :: Dyn a -> Dyn a -> Dyn a #

HasCross2 a => HasCross2 (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

cross2 :: Dyn a -> Dyn a #

HasNormal a => HasNormal (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

normalVec :: Dyn a -> Dyn a #

(BasisArity a, HasBasis a) => HasBasis (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

Associated Types

type Basis (Dyn a) #

Methods

basisValue :: Basis (Dyn a) -> Dyn a #

decompose :: Dyn a -> [(Basis (Dyn a), Scalar (Dyn a))] #

decompose' :: Dyn a -> Basis (Dyn a) -> Scalar (Dyn a) #

type BooleanOf (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

type BooleanOf (Dyn a) = Dyn (BooleanOf a)
type Scalar (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

type Scalar (Dyn a) = Scalar (Dyn Run a)
type Diff (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

type Diff (Dyn a) = Diff (Dyn Run a)
type Basis (Dyn a) Source # 
Instance details

Defined in Dyna.Brick.Types

type Basis (Dyn a) = Basis (Dyn Run a)

Internal types

data Env Source #

Environment for execution of Brick and routing events to sensor streams

Instances

Instances details
MonadReader Env Run Source # 
Instance details

Defined in Dyna.Brick.Types

Methods

ask :: Run Env #

local :: (Env -> Env) -> Run a -> Run a #

reader :: (Env -> a) -> Run a #

newEnv :: IO Env Source #

Init new environment

data InternalEvent Source #

Internal events to interact with brock application

Constructors

UpdateWidgets [Box]

update the view

BrickAct Act

send command to brick