// ----------------------------------------------------------------------------- // https://dataswamp.org/~incal/bad-el/src/bad-sdl3/bad-sdl3.h // ----------------------------------------------------------------------------- #pragma once #include #include // math stuff typedef struct { float x, y, z; } vector; const float pi = 3.141592653589793f; char* my_strdup (const char*); void logi (const char*); // thread void thr_init (); void thr_quit (); int thr_surface (void*); int thr_cache (void*); // font void font_init (); void font_quit (); // video void video_init (); void video_quit (); // circle void circle_init (); void circle_quit (); void draw_circle (int, int, int, SDL_FColor); void draw_triangle (vector, vector, vector, SDL_FColor, SDL_FColor, SDL_FColor); // cube void cube_init (); void cube_quit (); void cube_erase (); uint32_t hash_idx (const char*); // emacs emacs_value draw_init (emacs_env*, ptrdiff_t, emacs_value*, void*); emacs_value draw_quit (emacs_env*, ptrdiff_t, emacs_value*, void*); emacs_value draw_frame (emacs_env*, ptrdiff_t, emacs_value*, void*); emacs_value clear_frame (emacs_env*, ptrdiff_t, emacs_value*, void*); emacs_value draw_all_toggle (emacs_env*, ptrdiff_t, emacs_value*, void*); emacs_value draw_grid_toggle (emacs_env*, ptrdiff_t, emacs_value*, void*); emacs_value sdl_draw_circle (emacs_env*, ptrdiff_t, emacs_value*, void*); emacs_value sdl_draw_triangle (emacs_env*, ptrdiff_t, emacs_value*, void*); // draw void clear_screen (); void draw_light (int, int, int); void draw_string (const char*); void draw_texture (int); void store_texture (int); // rect void draw_rect (int, int, int, int); void draw_rect_test ();