1 #ifndef BZ_RENDERER_RENDERER_H 
   2 #define BZ_RENDERER_RENDERER_H 
   4 #include <bz/memory/arena.h> 
   5 #include <bz/renderer/palette.h> 
   6 #include <bz/renderer/render_pass.h> 
  12 struct BZRendererConfiguration 
{ 
  16         size_t rendererHeight
; 
  19         BZRendererPaletteID palette
; 
  21 typedef struct BZRendererConfiguration BZRendererConfiguration
; 
  23 typedef struct BZRenderer BZRenderer
; 
  24 typedef BZRenderer 
* BZRendererID
; 
  26 typedef struct BZRendererPass BZRendererPass
; 
  27 typedef BZRendererPass 
* BZRendererPassID
; 
  29 extern BZRendererID 
bzRendererInit(BZMemoryArenaID arena
, const BZRendererConfiguration 
*configuration
, const char *title
); 
  30 extern void bzRendererTeardown(BZRendererID renderer
); 
  32 BZRendererPassID 
bzRendererRegisterPass(BZRendererID renderer
, BZRenderPassID renderPass
); 
  33 extern void bzRendererUnregisterPass(BZRendererPassID rendererPass
); 
  35 extern void bzRendererBlit(BZRendererID renderer
); 
  36 extern void bzRendererVBlank(BZRendererID renderer
);