gelatin-0.1.0.1: A graphics description language.

Safe HaskellNone
LanguageHaskell2010

Gelatin.Compiler

Documentation

data RenderTransform v r s Source #

Constructors

Spatial (Affine v r) 
Special s 

type Renderer v r s = (IO (), [RenderTransform v r s] -> IO ()) Source #

data GeometryCompiler vx v r s Source #

Constructors

GeometryCompiler 

Fields

type MakeCompiler z vx v r s = z -> GeometryCompiler vx v r s Source #

data BackendCompiler vert spatial rot rast Source #

Constructors

BackendComp 

Fields

data Backend tex event vert spatial rot rast Source #

Constructors

Backend 

Fields

compiler :: Backend tex event vert spatial rot rast -> GeometryCompiler vert spatial rot rast Source #

applyCompilerOption :: Backend tex event vert spatial rot rast -> Renderer spatial rot rast -> RenderingOption -> Renderer spatial rot rast Source #

bindTextures :: Backend tex event vert spatial rot rast -> [tex] -> IO () -> IO () Source #

allocTexture :: Backend tex event vert spatial rot rast -> FilePath -> IO (Maybe (tex, V2 Int)) Source #

clearWindow :: Backend tex event vert spatial rot rast -> IO () Source #

updateWindow :: Backend tex event vert spatial rot rast -> IO () Source #

getEvents :: Backend tex event vert spatial rot rast -> IO [event] Source #

compilePictureT :: MonadIO m => Backend tex event vert spatial rot rast -> PictureT tex vert m a -> m (a, Renderer spatial rot rast) Source #

compilePicture :: MonadIO m => Backend tex event vert spatial rot rast -> Picture tex vert a -> m (a, Renderer spatial rot rast) Source #

compilePictureData :: MonadIO m => Backend tex event vert spatial rot rast -> PictureData tex vert -> m (Renderer spatial rot rast) Source #