diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/esdl2.erl | 16 | ||||
-rw-r--r-- | src/sdl_video.erl | 1 | ||||
-rw-r--r-- | src/sdl_window.erl | 27 |
3 files changed, 44 insertions, 0 deletions
diff --git a/src/esdl2.erl b/src/esdl2.erl index 8216ab1..defcebc 100644 --- a/src/esdl2.erl +++ b/src/esdl2.erl @@ -187,11 +187,14 @@ -export([create_window_and_renderer/3]). -export([get_window_brightness/1]). -export([get_window_display_index/1]). +-export([get_window_display_mode/1]). -export([get_window_flags/1]). +-export([get_window_from_id/1]). -export([get_window_grab/1]). -export([get_window_id/1]). -export([get_window_maximum_size/1]). -export([get_window_minimum_size/1]). +-export([get_window_pixel_format/1]). -export([get_window_position/1]). -export([get_window_size/1]). -export([get_window_title/1]). @@ -202,6 +205,7 @@ -export([restore_window/1]). -export([set_window_bordered/2]). -export([set_window_brightness/2]). +-export([set_window_display_mode/2]). -export([set_window_fullscreen/2]). -export([set_window_grab/2]). -export([set_window_icon/2]). @@ -666,9 +670,15 @@ get_window_brightness(_) -> get_window_display_index(_) -> erlang:nif_error({not_loaded, ?MODULE}). +get_window_display_mode(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + get_window_flags(_) -> erlang:nif_error({not_loaded, ?MODULE}). +get_window_from_id(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + get_window_grab(_) -> erlang:nif_error({not_loaded, ?MODULE}). @@ -681,6 +691,9 @@ get_window_maximum_size(_) -> get_window_minimum_size(_) -> erlang:nif_error({not_loaded, ?MODULE}). +get_window_pixel_format(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + get_window_position(_) -> erlang:nif_error({not_loaded, ?MODULE}). @@ -711,6 +724,9 @@ set_window_bordered(_, _) -> set_window_brightness(_, _) -> erlang:nif_error({not_loaded, ?MODULE}). +set_window_display_mode(_, _) -> + erlang:nif_error({not_loaded, ?MODULE}). + set_window_fullscreen(_, _) -> erlang:nif_error({not_loaded, ?MODULE}). diff --git a/src/sdl_video.erl b/src/sdl_video.erl index 06849c2..958d928 100644 --- a/src/sdl_video.erl +++ b/src/sdl_video.erl @@ -36,6 +36,7 @@ h => integer(), refresh_rate => integer() }. +-export_type([display_mode/0]). -spec get_closest_display_mode(integer(), display_mode()) -> display_mode() | undefined. get_closest_display_mode(DisplayIndex, Mode) -> diff --git a/src/sdl_window.erl b/src/sdl_window.erl index 26deeda..ce74fce 100644 --- a/src/sdl_window.erl +++ b/src/sdl_window.erl @@ -18,10 +18,13 @@ -export([create_window_and_renderer/3]). -export([get_brightness/1]). -export([get_display_index/1]). +-export([get_display_mode/1]). -export([get_flags/1]). +-export([get_from_id/1]). -export([get_id/1]). -export([get_max_size/1]). -export([get_min_size/1]). +-export([get_pixel_format/1]). -export([get_pos/1]). -export([get_size/1]). -export([get_title/1]). @@ -34,6 +37,7 @@ -export([restore/1]). -export([set_bordered/2]). -export([set_brightness/2]). +-export([set_display_mode/2]). -export([set_fullscreen/2]). -export([set_icon/2]). -export([set_max_size/3]). @@ -75,6 +79,14 @@ get_brightness(Window) -> esdl2:get_window_brightness(Window), receive {'_nif_thread_ret_', Ret} -> Ret end. +-spec get_display_mode(window()) -> sdl_video:display_mode(). +get_display_mode(Window) -> + esdl2:get_window_display_mode(Window), + receive {'_nif_thread_ret_', Ret} -> + {ok, Mode} = Ret, + Mode + end. + -spec get_display_index(window()) -> integer(). get_display_index(Window) -> esdl2:get_window_display_index(Window), @@ -88,6 +100,11 @@ get_flags(Window) -> esdl2:get_window_flags(Window), receive {'_nif_thread_ret_', Ret} -> Ret end. +-spec get_from_id(non_neg_integer()) -> window(). +get_from_id(WindowID) -> + esdl2:get_window_from_id(WindowID), + receive {'_nif_thread_ret_', Ret} -> Ret end. + -spec get_id(window()) -> non_neg_integer(). get_id(Window) -> esdl2:get_window_id(Window), @@ -103,6 +120,11 @@ get_min_size(Window) -> esdl2:get_window_minimum_size(Window), receive {'_nif_thread_ret_', Ret} -> Ret end. +-spec get_pixel_format(window()) -> sdl_pixels:pixel_format(). +get_pixel_format(Window) -> + esdl2:get_window_pixel_format(Window), + receive {'_nif_thread_ret_', Ret} -> Ret end. + -spec get_pos(window()) -> {integer(), integer()}. get_pos(Window) -> esdl2:get_window_position(Window), @@ -156,6 +178,11 @@ set_brightness(Window, Brightness) -> esdl2:set_window_brightness(Window, Brightness), receive {'_nif_thread_ret_', Ret} -> Ret end. +-spec set_display_mode(window(), sdl_video:display_mode()) -> ok | sdl:error(). +set_display_mode(Window, Mode) -> + esdl2:set_window_display_mode(Window, Mode), + receive {'_nif_thread_ret_', Ret} -> Ret end. + -spec set_fullscreen(window(), fullscreen | fullscreen_desktop | windowed) -> ok | sdl:error(). set_fullscreen(Window, Flag) -> |