| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Nes.Render.Monad
Contents
Synopsis
- newtype Render (s0 :: RenderStep) (s1 :: RenderStep) r a = MkRender {
- unRender :: FrameState -> (FrameState -> a -> IO r) -> IO r
- data RenderStep
- runRender :: Render 'DirtyFrame 'Rendered r r -> FrameState -> IO r
- withFrameState :: forall a (b :: RenderStep) r. (FrameState -> IO a) -> Render b b r a
- modifyFrameState :: forall (b :: RenderStep) r. (FrameState -> FrameState) -> Render b b r ()
- (>>=) :: forall (a :: RenderStep) (b :: RenderStep) r s (c :: RenderStep) s'. Render a b r s -> (s -> Render b c r s') -> Render a c r s'
- (>>) :: forall (a :: RenderStep) (b :: RenderStep) r s (c :: RenderStep) s'. Render a b r s -> Render b c r s' -> Render a c r s'
- return :: forall a (b :: RenderStep) r. a -> Render b b r a
- whenR :: forall (a :: RenderStep) r. Bool -> Render a a r () -> Render a a r ()
- liftIO :: forall a (b :: RenderStep) r. IO a -> Render b b r a
- unsafeStep :: forall (b :: RenderStep) (a :: RenderStep) r. Render a b r ()
- unsafeCastRender :: forall (a :: RenderStep) (b :: RenderStep) r c (a' :: RenderStep) (b' :: RenderStep). Render a b r c -> Render a' b' r c
- toSDL2ByteString :: Render 'Rendered 'Rendered r ByteString
Monad
newtype Render (s0 :: RenderStep) (s1 :: RenderStep) r a Source #
An operation that updates a FrameStep
Constructors
| MkRender | |
Fields
| |
Instances
| Applicative (Render s0 s1 r) Source # | |
Defined in Nes.Render.Monad Methods pure :: a -> Render s0 s1 r a # (<*>) :: Render s0 s1 r (a -> b) -> Render s0 s1 r a -> Render s0 s1 r b # liftA2 :: (a -> b -> c) -> Render s0 s1 r a -> Render s0 s1 r b -> Render s0 s1 r c # (*>) :: Render s0 s1 r a -> Render s0 s1 r b -> Render s0 s1 r b # (<*) :: Render s0 s1 r a -> Render s0 s1 r b -> Render s0 s1 r a # | |
| Functor (Render s0 s1 r) Source # | |
data RenderStep Source #
Constructors
| DirtyFrame | |
| BGDrawn | |
| BGAndSpritesDrawn | |
| Renderable | |
| Rendered |
Instances
| Eq RenderStep Source # | |
Defined in Nes.Render.Monad | |
runRender :: Render 'DirtyFrame 'Rendered r r -> FrameState -> IO r Source #
withFrameState :: forall a (b :: RenderStep) r. (FrameState -> IO a) -> Render b b r a Source #
modifyFrameState :: forall (b :: RenderStep) r. (FrameState -> FrameState) -> Render b b r () Source #
(>>=) :: forall (a :: RenderStep) (b :: RenderStep) r s (c :: RenderStep) s'. Render a b r s -> (s -> Render b c r s') -> Render a c r s' Source #
(>>) :: forall (a :: RenderStep) (b :: RenderStep) r s (c :: RenderStep) s'. Render a b r s -> Render b c r s' -> Render a c r s' Source #
return :: forall a (b :: RenderStep) r. a -> Render b b r a Source #
Operations
unsafeStep :: forall (b :: RenderStep) (a :: RenderStep) r. Render a b r () Source #
unsafeCastRender :: forall (a :: RenderStep) (b :: RenderStep) r c (a' :: RenderStep) (b' :: RenderStep). Render a b r c -> Render a' b' r c Source #