22 lines
714 B
C
22 lines
714 B
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "pxl8_types.h"
|
||
|
|
|
||
|
|
typedef struct pxl8_atlas pxl8_atlas;
|
||
|
|
typedef struct pxl8_game pxl8_game;
|
||
|
|
|
||
|
|
typedef struct pxl8_hal {
|
||
|
|
void* (*create)(pxl8_color_mode mode, pxl8_resolution res,
|
||
|
|
const char* title, i32 win_w, i32 win_h);
|
||
|
|
void (*destroy)(void* platform_data);
|
||
|
|
|
||
|
|
u64 (*get_ticks)(void);
|
||
|
|
|
||
|
|
void (*present)(void* platform_data);
|
||
|
|
void (*upload_atlas)(void* platform_data, const pxl8_atlas* atlas,
|
||
|
|
const u32* palette, pxl8_color_mode mode);
|
||
|
|
void (*upload_framebuffer)(void* platform_data, const u8* fb,
|
||
|
|
i32 w, i32 h, const u32* palette,
|
||
|
|
pxl8_color_mode mode);
|
||
|
|
} pxl8_hal;
|