/* CFLAGS: -Wall -Wextra */ /* LIBS: c SDL2 */ #include #include int sdl$init(uint32_t flags) { return SDL_Init(flags); } void sdl$quit(void) { SDL_Quit(); } void *sdl$mkwin(const char *title, int x, int y, int w, int h, uint32_t flags) { return (void *) SDL_CreateWindow(title, x, y, w, h, flags); } void sdl$freewin(void *win) { return SDL_DestroyWindow((SDL_Window *) win); } void *sdl$mkrenderer(void *win, int index, uint32_t flags) { return (void *) SDL_CreateRenderer((SDL_Window *) win, index, flags); } int sdl$copy(void *r, void *tex) { return SDL_RenderCopy((SDL_Renderer *) r, (SDL_Texture *) tex, NULL, NULL); } void sdl$present(void *r) { SDL_RenderPresent((SDL_Renderer *) r); } void sdl$freerenderer(void *r) { return SDL_DestroyRenderer((SDL_Renderer *) r); } void *sdl$mktexture(void *r, uint32_t fmt, int access, int w, int h) { return (void *) SDL_CreateTexture((SDL_Renderer *) r, fmt, access, w, h); } int sdl$update(void *tex, void *pixels, int pitch) { return SDL_UpdateTexture((SDL_Texture *) tex, NULL, pixels, pitch); } void sdl$freetexture(void *tex) { return SDL_DestroyTexture((SDL_Texture *) tex); } void sdl$delay(uint32_t ms) { SDL_Delay(ms); } // SDL_GetKeyboardState // SDL_SCANCODE_{} // 1 2 3 C 1 2 3 4 // 4 5 6 D This is emulated with these Q W E R // 7 8 9 E keyboard keys --> A S D F // A 0 B F Z X C V