45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
#ifndef SPRSTK_H
|
|
#define SPRSTK_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
typedef struct sprstk sprstk;
|
|
|
|
typedef void (*sprstk_init_fn)(sprstk* instance, void* userdata);
|
|
typedef void (*sprstk_update_fn)(sprstk* instance, float dt, void* userdata);
|
|
typedef void (*sprstk_quit_fn)(sprstk* instance, void* userdata);
|
|
|
|
typedef struct {
|
|
sprstk_init_fn init;
|
|
sprstk_update_fn update;
|
|
sprstk_quit_fn quit;
|
|
} sprstk_callbacks;
|
|
|
|
typedef struct {
|
|
uint32_t colors[32];
|
|
} sprstk_palette;
|
|
|
|
sprstk* sprstk_new(sprstk_callbacks callbacks, void* userdata);
|
|
void sprstk_del(sprstk* instance);
|
|
|
|
void sprstk_run(sprstk* instance);
|
|
void sprstk_stop(sprstk* instance);
|
|
|
|
void sprstk_put(sprstk* instance, int x, int y, unsigned int layers, unsigned int palette_lookup);
|
|
void sprstk_putz(sprstk* instance, int x, int y, unsigned int layers, unsigned int palette_lookup, unsigned int z_offset);
|
|
|
|
void sprstk_set_palette(sprstk* instance, unsigned int index, const sprstk_palette* palette);
|
|
|
|
void sprstk_set_angle(sprstk* instance, float angle);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif//SPRSTK_H
|