aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/esdl2.erl16
-rw-r--r--src/sdl_video.erl1
-rw-r--r--src/sdl_window.erl27
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) ->