2025-10-17 17:54:33 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "pxl8_types.h"
|
|
|
|
|
|
|
|
|
|
typedef struct pxl8_hal {
|
2025-12-06 15:04:53 -06:00
|
|
|
void* (*create)(i32 render_w, i32 render_h,
|
2025-10-17 17:54:33 -05:00
|
|
|
const char* title, i32 win_w, i32 win_h);
|
|
|
|
|
void (*destroy)(void* platform_data);
|
|
|
|
|
u64 (*get_ticks)(void);
|
2025-11-21 11:51:23 -06:00
|
|
|
void (*center_cursor)(void* platform_data);
|
2025-10-17 17:54:33 -05:00
|
|
|
void (*present)(void* platform_data);
|
2025-12-06 15:04:53 -06:00
|
|
|
void (*set_cursor)(void* platform_data, u32 cursor);
|
2025-11-19 22:18:08 -06:00
|
|
|
void (*set_relative_mouse_mode)(void* platform_data, bool enabled);
|
2025-12-06 15:04:53 -06:00
|
|
|
void (*upload_texture)(void* platform_data, const u8* pixels, u32 w, u32 h,
|
|
|
|
|
const u32* palette, u32 bpp);
|
2025-10-17 17:54:33 -05:00
|
|
|
} pxl8_hal;
|