diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/esdl2.erl | 12 | ||||
-rw-r--r-- | src/sdl_gl.erl | 30 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/esdl2.erl b/src/esdl2.erl index ec07b2c..af8f322 100644 --- a/src/esdl2.erl +++ b/src/esdl2.erl @@ -49,6 +49,10 @@ -export([get_base_path/0]). -export([get_pref_path/2]). +%% sdl_gl +-export([gl_create_context/1]). +-export([gl_swap_window/1]). + %% sdl_power -export([get_power_info/0]). @@ -225,6 +229,14 @@ get_base_path() -> get_pref_path(_, _) -> erlang:nif_error({not_loaded, ?MODULE}). +%% sdl_gl + +gl_create_context(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + +gl_swap_window(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + %% sdl_power get_power_info() -> diff --git a/src/sdl_gl.erl b/src/sdl_gl.erl new file mode 100644 index 0000000..457994a --- /dev/null +++ b/src/sdl_gl.erl @@ -0,0 +1,30 @@ +%% Copyright (c) 2015, Loïc Hoguin <[email protected]> +%% +%% Permission to use, copy, modify, and/or distribute this software for any +%% purpose with or without fee is hereby granted, provided that the above +%% copyright notice and this permission notice appear in all copies. +%% +%% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +%% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +%% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +%% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +%% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +%% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +%% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +-module(sdl_gl). + +-export([create_context/1]). +-export([swap_window/1]). + +-opaque context() :: <<>>. +-export_type([context/0]). + +-spec create_context(sdl_window:window()) -> {ok, context()} | sdl:error(). +create_context(Window) -> + esdl2:gl_create_context(Window), + receive {'_nif_thread_ret_', Ret} -> Ret end. + +-spec swap_window(sdl_window:window()) -> ok. +swap_window(Window) -> + esdl2:gl_swap_window(Window). |