// https://dataswamp.org/~incal/bad-el/src/bad-sdl2/bad-sdl2.h #pragma once #include #include #define unset -1 // lines #define lines 30 typedef struct { SDL_mutex* mtx; char* str; SDL_Surface* sur; int new; int old; } LineMeta; // init emacs_value draw_init (emacs_env*, ptrdiff_t, emacs_value*, void*); void cube_init (bool); void font_init (); void thr_init (); void thr_quit (); void video_init (); // quit emacs_value draw_quit (emacs_env*, ptrdiff_t, emacs_value*, void*); void cube_quit (); void font_quit (); void video_quit (); // cube int clear_cache (void*); void find_create_store (const char*, SDL_Rect); void hash_coords (const char*, uint8_t*, uint8_t*, uint8_t*); // draw emacs_value draw_frame (emacs_env*, ptrdiff_t, emacs_value*, void*); int thr_main (void*); void clear_screen (); void draw_planet (int, int, int); void draw_text (const char*); int get_data_draw (void*); // rect void draw_rect_test (); void draw_rect (int, int, int, int); // helpers char* my_strdup (const char*);