#ifndef GUARD_EAE42F57582CDD6C49D6C5F8B0CD994B
#define GUARD_EAE42F57582CDD6C49D6C5F8B0CD994B

struct sw_window;

typedef void (*sw_renderer_cb)(struct sw_window *, void *);
typedef void (*sw_render_cb)();

struct sw_renderer {
	void *data;
	sw_renderer_cb enter;
	sw_renderer_cb exit;
	sw_render_cb render;
};

struct sw_renderer *
sw_renderer_create(void *data, sw_renderer_cb enter, sw_renderer_cb exit);
void sw_renderer_destroy(struct sw_renderer *renderer);

#endif /* GUARD_EAE42F57582CDD6C49D6C5F8B0CD994B */
