X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fsdl.c;h=4fba1ff41ae828064bf39f64dccbfc75e73cd053;hb=2eee3eb546a25305d548fcb331769be84fd3a38f;hp=8b9791a18ea8babc48620bfe2b924d39b5119ed3;hpb=86451d8c192bed842aa22d8ed14805a8b725beff;p=gacela.git diff --git a/src/sdl.c b/src/sdl.c index 8b9791a..4fba1ff 100644 --- a/src/sdl.c +++ b/src/sdl.c @@ -21,7 +21,6 @@ #include #include #include -#include "gacela_SDL.h" struct surface { @@ -177,6 +176,12 @@ gacela_SDL_WM_SetCaption (SCM title, SCM icon) return SCM_UNSPECIFIED; } +SCM +gacela_SDL_WM_ToggleFullScreen(SCM surface) +{ + return scm_from_int (SDL_WM_ToggleFullScreen (get_surface_address (surface))); +} + SCM gacela_SDL_Flip (SCM screen) { @@ -196,6 +201,12 @@ gacela_SDL_GetTicks (void) return scm_from_int (SDL_GetTicks ()); } +SCM +gacela_SDL_GetError (void) +{ + return scm_from_locale_string (SDL_GetError ()); +} + SCM gacela_SDL_DisplayFormat (SCM surface) { @@ -275,8 +286,8 @@ gacela_SDL_GetVideoInfo (void) info = SDL_GetVideoInfo (); vi = scm_list_n (SCM_UNDEFINED); - vi = scm_cons (scm_cons (scm_from_locale_symbol ("blit_hw"), scm_from_int (info->blit_hw)), vi); - vi = scm_cons (scm_cons (scm_from_locale_symbol ("hw_available"), scm_from_int (info->hw_available)), vi); + vi = scm_cons (scm_cons (scm_from_utf8_symbol ("blit_hw"), scm_from_int (info->blit_hw)), vi); + vi = scm_cons (scm_cons (scm_from_utf8_symbol ("hw_available"), scm_from_int (info->hw_available)), vi); return vi; } @@ -499,9 +510,11 @@ init_gacela_sdl (void *data) scm_c_define_gsubr ("SDL_SetVideoMode", 4, 0, 0, gacela_SDL_SetVideoMode); scm_c_define_gsubr ("SDL_FreeSurface", 1, 0, 0, gacela_SDL_FreeSurface); scm_c_define_gsubr ("SDL_WM_SetCaption", 2, 0, 0, gacela_SDL_WM_SetCaption); + scm_c_define_gsubr ("SDL_WM_ToggleFullScreen", 1, 0, 0, gacela_SDL_WM_ToggleFullScreen); scm_c_define_gsubr ("SDL_Flip", 1, 0, 0, gacela_SDL_Flip); scm_c_define_gsubr ("SDL_Delay", 1, 0, 0, gacela_SDL_Delay); scm_c_define_gsubr ("SDL_GetTicks", 0, 0, 0, gacela_SDL_GetTicks); + scm_c_define_gsubr ("SDL_GetError", 0, 0, 0, gacela_SDL_GetError); scm_c_define_gsubr ("SDL_DisplayFormat", 1, 0, 0, gacela_SDL_DisplayFormat); scm_c_define_gsubr ("SDL_DisplayFormatAlpha", 1, 0, 0, gacela_SDL_DisplayFormatAlpha); scm_c_define_gsubr ("SDL_MapRGB", 4, 0, 0, gacela_SDL_MapRGB); @@ -531,7 +544,7 @@ init_gacela_sdl (void *data) } void -gacela_sdl_init () +scm_init_gacela_sdl () { - scm_c_define_module ("gacela sdl", init_gacela_sdl, NULL); + init_gacela_sdl (NULL); }