diff options
author | Loïc Hoguin <[email protected]> | 2018-01-18 11:04:11 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-01-18 11:17:46 +0100 |
commit | d6fb651c8d0a9bc6e18d3e940dd0db9c74e8e09c (patch) | |
tree | d4239c68bc58a7010fdbc1bf3d1543ea599c35cb /c_src/sdl_video.c | |
parent | d6de0fce0b46be3b382ba3c30fb7c9559f3fcb8e (diff) | |
download | esdl2-d6fb651c8d0a9bc6e18d3e940dd0db9c74e8e09c.tar.gz esdl2-d6fb651c8d0a9bc6e18d3e940dd0db9c74e8e09c.tar.bz2 esdl2-d6fb651c8d0a9bc6e18d3e940dd0db9c74e8e09c.zip |
Add screensaver functions
Diffstat (limited to 'c_src/sdl_video.c')
-rw-r--r-- | c_src/sdl_video.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/c_src/sdl_video.c b/c_src/sdl_video.c index 49dbe7f..e16c7d2 100644 --- a/c_src/sdl_video.c +++ b/c_src/sdl_video.c @@ -34,6 +34,30 @@ ERL_NIF_TERM display_mode_to_map(ErlNifEnv* env, SDL_DisplayMode* mode) return map; } +// disable_screensaver + +NIF_CAST_HANDLER(thread_disable_screensaver) +{ + SDL_DisableScreenSaver(); +} + +NIF_FUNCTION(disable_screensaver) +{ + return nif_thread_cast(env, thread_disable_screensaver, 0); +} + +// enable_screensaver + +NIF_CAST_HANDLER(thread_enable_screensaver) +{ + SDL_EnableScreenSaver(); +} + +NIF_FUNCTION(enable_screensaver) +{ + return nif_thread_cast(env, thread_enable_screensaver, 0); +} + // get_closest_display_mode NIF_CALL_HANDLER(thread_get_closest_display_mode) @@ -323,6 +347,21 @@ NIF_FUNCTION(get_video_driver) return enif_make_binary(env, &bin); } +// is_screensaver_enabled + +NIF_CALL_HANDLER(thread_is_screensaver_enabled) +{ + if (SDL_IsScreenSaverEnabled()) + return atom_true; + + return atom_false; +} + +NIF_FUNCTION(is_screensaver_enabled) +{ + return nif_thread_call(env, thread_is_screensaver_enabled, 0); +} + // video_init NIF_CALL_HANDLER(thread_video_init) |