#pragma once #include "pxl8_gfx.h" #include "pxl8_hal.h" #include "pxl8_io.h" #include "pxl8_types.h" typedef struct pxl8 pxl8; #ifdef __cplusplus extern "C" { #endif pxl8* pxl8_create(const pxl8_hal* hal); void pxl8_destroy(pxl8* sys); 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_size pxl8_get_resolution_dimensions(pxl8_resolution resolution); bool pxl8_is_running(const pxl8* sys); void pxl8_set_cursor(pxl8* sys, pxl8_cursor cursor); void pxl8_set_relative_mouse_mode(pxl8* sys, bool enabled); void pxl8_set_running(pxl8* sys, bool running); void pxl8_center_cursor(pxl8* sys); pxl8_result pxl8_frame(pxl8* sys); pxl8_result pxl8_init(pxl8* sys, i32 argc, char* argv[]); void pxl8_quit(pxl8* sys); pxl8_result pxl8_update(pxl8* sys); #ifdef __cplusplus } #endif