2025-11-18 23:50:02 -06:00
|
|
|
#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);
|
2025-11-19 22:18:08 -06:00
|
|
|
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);
|
|
|
|
|
|
2025-11-21 11:51:23 -06:00
|
|
|
void pxl8_center_cursor(pxl8* sys);
|
|
|
|
|
void pxl8_set_cursor(pxl8* sys, pxl8_cursor cursor);
|
2025-11-19 22:18:08 -06:00
|
|
|
void pxl8_set_relative_mouse_mode(pxl8* sys, bool enabled);
|
2025-11-18 23:50:02 -06:00
|
|
|
|
|
|
|
|
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);
|
2025-11-19 22:18:08 -06:00
|
|
|
|
|
|
|
|
u32 pxl8_get_palette_size(pxl8_color_mode mode);
|
|
|
|
|
pxl8_size pxl8_get_resolution_dimensions(pxl8_resolution resolution);
|