#ifndef __GE_RENDER_H__ #define __GE_RENDER_H__ #include struct ge_render_ctx; typedef struct ge_render_ctx ge_render_t; typedef void (*ge_render_init_func_t)(ge_render_t* ctx); typedef void (*ge_render_clear_func_t)(ge_render_t* ctx); typedef void (*ge_render_draw_func_t) (ge_render_t* ctx, ge_vector2i_t pos, const char* data); typedef void (*ge_render_drawex_func_t) (ge_render_t* ctx, ge_vector2i_t pos, const char* data, const void* propety); typedef void (*ge_render_getsize_func_t) (ge_render_t* ctx, ge_vector2i_t *size); typedef void (*ge_render_push_event) (ge_render_t* ctx, void* event); struct ge_render_ctx { const void* content; ge_vector2i_t screen_size; ge_render_init_func_t init; ge_render_clear_func_t clear; ge_render_draw_func_t draw; ge_render_drawex_func_t drawex; ge_render_getsize_func_t getsize; }; #endif // __GE_RENDER_H__