#pragma once #include "pxl8_gfx.h" #include "pxl8_hal.h" #include "pxl8_io.h" #include "pxl8_types.h" typedef struct pxl8 pxl8; pxl8* pxl8_create(const pxl8_hal* hal); void pxl8_destroy(pxl8* sys); bool pxl8_is_running(const pxl8* sys); void pxl8_set_running(pxl8* sys, bool running); f32 pxl8_get_fps(const pxl8* sys); pxl8_gfx* pxl8_get_gfx(const pxl8* sys); pxl8_input_state* pxl8_get_input(const pxl8* sys); pxl8_resolution pxl8_get_resolution(const pxl8* sys); void pxl8_set_relative_mouse_mode(pxl8* sys, bool enabled); pxl8_result pxl8_init(pxl8* sys, i32 argc, char* argv[]); pxl8_result pxl8_update(pxl8* sys); pxl8_result pxl8_frame(pxl8* sys); void pxl8_quit(pxl8* sys); u32 pxl8_get_palette_size(pxl8_color_mode mode); pxl8_size pxl8_get_resolution_dimensions(pxl8_resolution resolution);