]> git.jsancho.org Git - gacela.git/blob - src/gacela_SDL.c
SDL_SetVideoMode funcionando
[gacela.git] / src / gacela_SDL.c
1 #include <libguile.h>
2 #include <SDL/SDL.h>
3 #include "gacela_SDL.h"
4
5 SCM
6 gacela_SDL_Init (SCM flags)
7 {
8   return scm_int2num (SDL_Init (scm_num2int (flags, 0, "SDL_Init")));
9 }
10
11 SCM
12 gacela_SDL_Quit ()
13 {
14   SDL_Quit ();
15   return SCM_UNSPECIFIED;
16 }
17
18 SCM
19 gacela_SDL_SetVideoMode (SCM width, SCM height, SCM bpp, SCM flags)
20 {
21   return scm_int2num (SDL_SetVideoMode (scm_num2int (width, 0, "SDL_SetVideoMode"), \
22                                         scm_num2int (height, 0, "SDL_SetVideoMde"), \
23                                         scm_num2int (bpp, 0, "SDL_SetVideoMde"), \
24                                         scm_num2int (flags, 0, "SDL_SetVideoMde")));
25 }
26
27 void*
28 SDL_register_functions (void* data)
29 {
30   scm_c_define ("SDL_INIT_TIMER", scm_int2num(SDL_INIT_TIMER));
31   scm_c_define ("SDL_INIT_AUDIO", scm_int2num(SDL_INIT_AUDIO));
32   scm_c_define ("SDL_INIT_VIDEO", scm_int2num(SDL_INIT_VIDEO));
33   scm_c_define ("SDL_INIT_CDROM", scm_int2num(SDL_INIT_CDROM));
34   scm_c_define ("SDL_INIT_JOYSTICK", scm_int2num(SDL_INIT_JOYSTICK));
35   scm_c_define ("SDL_INIT_NOPARACHUTE", scm_int2num(SDL_INIT_NOPARACHUTE));
36   scm_c_define ("SDL_INIT_EVENTTHREAD", scm_int2num(SDL_INIT_EVENTTHREAD));
37   scm_c_define ("SDL_INIT_EVERYTHING", scm_int2num(SDL_INIT_EVERYTHING));
38
39   scm_c_define ("SDL_SWSURFACE", scm_int2num(SDL_SWSURFACE));
40   scm_c_define ("SDL_HWSURFACE", scm_int2num(SDL_HWSURFACE));
41   scm_c_define ("SDL_ASYNCBLIT", scm_int2num(SDL_ASYNCBLIT));
42
43   scm_c_define ("SDL_ANYFORMAT", scm_int2num(SDL_ANYFORMAT));
44   scm_c_define ("SDL_HWPALETTE", scm_int2num(SDL_HWPALETTE));
45   scm_c_define ("SDL_DOUBLEBUF", scm_int2num(SDL_DOUBLEBUF));
46   scm_c_define ("SDL_FULLSCREEN", scm_int2num(SDL_FULLSCREEN));
47   scm_c_define ("SDL_OPENGL", scm_int2num(SDL_OPENGL));
48   scm_c_define ("SDL_OPENGLBLIT", scm_int2num(SDL_OPENGLBLIT));
49   scm_c_define ("SDL_RESIZABLE", scm_int2num(SDL_RESIZABLE));
50
51   scm_c_define_gsubr ("SDL_Init", 1, 0, 0, gacela_SDL_Init);
52   scm_c_define_gsubr ("SDL_Quit", 0, 0, 0, gacela_SDL_Quit);
53   scm_c_define_gsubr ("SDL_SetVideoMode", 4, 0, 0, gacela_SDL_SetVideoMode);
54   return NULL;
55 }