typed-gui-0.1.0.0: GUI framework based on typed-fsm
Safe HaskellNone
LanguageGHC2021

TypedGUI

Documentation

type family RecRenderOutVal (t :: ps) Source #

type RenderSt cs ds = forall (t :: cs). Sing t -> ds -> Chan (AnyMsg cs) -> Window -> UI cs t (Maybe (Element, IO (RecRenderOutVal t))) Source #

data InternalStRef cs ds Source #

Constructors

InternalStRef 

Fields

newInternalStRef :: forall cs (t :: cs) ds. Sing t -> ds -> IO (InternalStRef cs ds) Source #

runHandler :: SEq cs => InternalStRef cs ds -> Result cs (UnexpectMsg cs) (StateT ds IO) a -> IO (Result cs (UnexpectMsg cs) (StateT ds IO) a) Source #

sendSomeMsg :: forall cs (t :: cs). Chan (AnyMsg cs) -> Sing t -> SomeMsg cs t -> UI cs t () Source #

renderUI :: InternalStRef cs ds -> RenderSt cs ds -> Window -> IO () Source #

uiSetup :: forall cs ds ps (t :: ps). SEq cs => InternalStRef cs ds -> RenderSt cs ds -> Result cs (UnexpectMsg cs) (StateT ds IO) () -> Window -> UI ps t () Source #