From d6fb651c8d0a9bc6e18d3e940dd0db9c74e8e09c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 18 Jan 2018 11:04:11 +0100 Subject: Add screensaver functions --- src/esdl2.erl | 12 ++++++++++++ src/sdl_video.erl | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) (limited to 'src') diff --git a/src/esdl2.erl b/src/esdl2.erl index edbb3b1..ae429e7 100644 --- a/src/esdl2.erl +++ b/src/esdl2.erl @@ -166,6 +166,8 @@ -export([get_revision/0]). %% sdl_video +-export([disable_screensaver/0]). +-export([enable_screensaver/0]). -export([get_closest_display_mode/2]). -export([get_current_display_mode/1]). -export([get_current_video_driver/0]). @@ -179,6 +181,7 @@ -export([get_num_video_displays/0]). -export([get_num_video_drivers/0]). -export([get_video_driver/1]). +-export([is_screensaver_enabled/0]). -export([video_init/1]). -export([video_quit/0]). @@ -623,6 +626,12 @@ get_revision() -> %% sdl_video +disable_screensaver() -> + erlang:nif_error({not_loaded, ?MODULE}). + +enable_screensaver() -> + erlang:nif_error({not_loaded, ?MODULE}). + get_closest_display_mode(_, _) -> erlang:nif_error({not_loaded, ?MODULE}). @@ -662,6 +671,9 @@ get_num_video_drivers() -> get_video_driver(_) -> erlang:nif_error({not_loaded, ?MODULE}). +is_screensaver_enabled() -> + erlang:nif_error({not_loaded, ?MODULE}). + video_init(_) -> erlang:nif_error({not_loaded, ?MODULE}). diff --git a/src/sdl_video.erl b/src/sdl_video.erl index 958d928..abf60d3 100644 --- a/src/sdl_video.erl +++ b/src/sdl_video.erl @@ -14,6 +14,8 @@ -module(sdl_video). +-export([disable_screensaver/0]). +-export([enable_screensaver/0]). -export([get_closest_display_mode/2]). -export([get_current_display_mode/1]). -export([get_current_driver/0]). @@ -27,6 +29,7 @@ -export([get_num_display_modes/1]). -export([get_num_displays/0]). -export([get_num_drivers/0]). +-export([is_screensaver_enabled/0]). -export([start/1]). -export([stop/0]). @@ -38,6 +41,14 @@ }. -export_type([display_mode/0]). +-spec disable_screensaver() -> ok. +disable_screensaver() -> + esdl2:disable_screensaver(). + +-spec enable_screensaver() -> ok. +enable_screensaver() -> + esdl2:enable_screensaver(). + -spec get_closest_display_mode(integer(), display_mode()) -> display_mode() | undefined. get_closest_display_mode(DisplayIndex, Mode) -> esdl2:get_closest_display_mode(DisplayIndex, Mode), @@ -103,6 +114,11 @@ get_num_displays() -> get_num_drivers() -> esdl2:get_num_video_drivers(). +-spec is_screensaver_enabled() -> boolean(). +is_screensaver_enabled() -> + esdl2:is_screensaver_enabled(), + receive {'_nif_thread_ret_', Ret} -> Ret end. + -spec start(binary()) -> ok | sdl:error(). start(DriverName) -> esdl2:video_init(DriverName), -- cgit v1.2.3