]> git.jsancho.org Git - gacela.git/blobdiff - src/sdl.c
Preparing new version 0.6
[gacela.git] / src / sdl.c
index b46a5521d6b9d73ea6e441fe2e1c7e4bd80589a2..4fba1ff41ae828064bf39f64dccbfc75e73cd053 100644 (file)
--- a/src/sdl.c
+++ b/src/sdl.c
@@ -176,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)
 {
@@ -195,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)
 {
@@ -274,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;
 }
@@ -498,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);