summaryrefslogtreecommitdiff
path: root/sdl.glue.c
blob: 18eceee7105b4e9e48cedb8ac0e1cf87d77e88d6 (plain)
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
72
73
/* 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);
}

// 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