1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/* CFLAGS: -Wall -Wextra */
/* LIBS: c SDL2 */
#include <stdint.h>
#include <SDL2/SDL.h>
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);
}
const uint8_t *sdl$getkbd(void)
{
SDL_PumpEvents();
return SDL_GetKeyboardState(NULL);
}
|