| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
MiniLight
Contents
Description
MiniLight module exports all basic concepts and oprations except for concrete components.
Synopsis
- module MiniLight.Light
- module MiniLight.Event
- module MiniLight.Figure
- module MiniLight.Component
- module MiniLight.Loader
- runLightT :: (MonadIO m, MonadMask m) => LightT LightEnv m a -> m a
- data LoopState = LoopState {}
- data LoopConfig = LoopConfig {}
- defConfig :: LoopConfig
- runMainloop :: (HasLightEnv env, HasLightEnv env', HasLoopEnv env', HasLoaderEnv env', MonadIO m, MonadMask m) => (env -> LoopEnv -> LoaderEnv -> env') -> LoopConfig -> s -> (s -> LightT env' m s) -> LightT env m ()
- type MiniLoop = LightT LoopState IO
- runMiniloop :: LoopConfig -> s -> (s -> MiniLoop s) -> MiniLight ()
Documentation
module MiniLight.Light
module MiniLight.Event
module MiniLight.Figure
module MiniLight.Component
module MiniLight.Loader
The state in the mainloop.
Instances
| HasLightEnv LoopState Source # | |
| HasLoopEnv LoopState Source # | |
| HasLoaderEnv LoopState Source # | |
data LoopConfig Source #
Use defConfig for a default setting.
Constructors
| LoopConfig | |
Fields
| |
defConfig :: LoopConfig Source #
Default configurations for the mainloop. You need to set componentResolver if you use a component.
Arguments
| :: (HasLightEnv env, HasLightEnv env', HasLoopEnv env', HasLoaderEnv env', MonadIO m, MonadMask m) | |
| => (env -> LoopEnv -> LoaderEnv -> env') | Environment conversion |
| -> LoopConfig | Loop config |
| -> s | Initial state |
| -> (s -> LightT env' m s) | A function called in every loop |
| -> LightT env m () |
Run a mainloop. In a mainloop, components and events are managed.
Components in a mainloop: draw ~ update ~ (user-defined function) ~ event handling
runMiniloop :: LoopConfig -> s -> (s -> MiniLoop s) -> MiniLight () Source #
Same as runMainloop but fixing the type.