aboutsummaryrefslogtreecommitdiffstats
path: root/src/esdl2.erl
blob: e7d8d0a78d9ea3c1f916091439bd1e44c872544a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
%% Copyright (c) 2014, 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(esdl2).

%% sdl
-export([init/1]).
-export([init_subsystem/1]).
-export([quit/0]).
-export([quit_subsystem/1]).
-export([set_main_ready/0]).
-export([was_init/1]).

%% sdl_events
-export([poll_event/0]).

%% sdl_renderer
-export([create_renderer/3]).
-export([render_clear/1]).
-export([render_copy/4]).
-export([render_present/1]).
-export([render_set_logical_size/3]).
-export([set_render_draw_color/5]).

%% sdl_surface
-export([img_load/1]).

%% sdl_texture
-export([create_texture_from_surface/2]).

%% sdl_window
-export([create_window/6]).

%% @todo We probably want to accept an env variable or somthing for the location.
-on_load(on_load/0).
on_load() ->
	PrivDir = case code:priv_dir(?MODULE) of
		{error, _} ->
			AppPath = filename:dirname(filename:dirname(code:which(?MODULE))),
			filename:join(AppPath, "priv");
		Path ->
			Path
	end,
	erlang:load_nif(filename:join(PrivDir, atom_to_list(?MODULE)), 0).

%% sdl

init(_) ->
	erlang:nif_error({not_loaded, ?MODULE}).

init_subsystem(_) ->
	erlang:nif_error({not_loaded, ?MODULE}).

quit() ->
	erlang:nif_error({not_loaded, ?MODULE}).

quit_subsystem(_) ->
	erlang:nif_error({not_loaded, ?MODULE}).

set_main_ready() ->
	erlang:nif_error({not_loaded, ?MODULE}).

was_init(_) ->
	erlang:nif_error({not_loaded, ?MODULE}).

%% sdl_events

poll_event() ->
	erlang:nif_error({not_loaded, ?MODULE}).

%% sdl_renderer

create_renderer(_, _, _) ->
	erlang:nif_error({not_loaded, ?MODULE}).

render_clear(_) ->
	erlang:nif_error({not_loaded, ?MODULE}).

render_copy(_, _, _, _) ->
	erlang:nif_error({not_loaded, ?MODULE}).

render_present(_) ->
	erlang:nif_error({not_loaded, ?MODULE}).

render_set_logical_size(_, _, _) ->
	erlang:nif_error({not_loaded, ?MODULE}).

set_render_draw_color(_, _, _, _, _) ->
	erlang:nif_error({not_loaded, ?MODULE}).

%% sdl_surface

img_load(_) ->
	erlang:nif_error({not_loaded, ?MODULE}).

%% sdl_texture

create_texture_from_surface(_, _) ->
	erlang:nif_error({not_loaded, ?MODULE}).

%% sdl_window

create_window(_, _, _, _, _, _) ->
	erlang:nif_error({not_loaded, ?MODULE}).