aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2014-04-09 20:02:57 +0200
committerLoïc Hoguin <[email protected]>2014-04-09 20:02:57 +0200
commit6542e0dc2aadff202690ec6b40381f5dccfb39b8 (patch)
treecf5ebad8a31788a2e72bb26dc27eab2e0ed87d7e
parent5c88451434f63ad7430f0c767c3195cd75cc8001 (diff)
downloadesdl2-6542e0dc2aadff202690ec6b40381f5dccfb39b8.tar.gz
esdl2-6542e0dc2aadff202690ec6b40381f5dccfb39b8.tar.bz2
esdl2-6542e0dc2aadff202690ec6b40381f5dccfb39b8.zip
Add typespecs to the sdl_texture module
-rw-r--r--src/sdl_renderer.erl1
-rw-r--r--src/sdl_texture.erl19
2 files changed, 16 insertions, 4 deletions
diff --git a/src/sdl_renderer.erl b/src/sdl_renderer.erl
index 865aa39..e99bd59 100644
--- a/src/sdl_renderer.erl
+++ b/src/sdl_renderer.erl
@@ -60,6 +60,7 @@
-type rect() :: #{x=>integer(), y=>integer(), w=>integer(), h=>integer()}.
-type blend_mode() :: none | blend | add | mod.
+-export_type([blend_mode/0]).
-spec clear(renderer()) -> ok | sdl:error().
clear(Renderer) ->
diff --git a/src/sdl_texture.erl b/src/sdl_texture.erl
index 16f199c..5f002fa 100644
--- a/src/sdl_texture.erl
+++ b/src/sdl_texture.erl
@@ -23,14 +23,20 @@
-export([set_blend_mode/2]).
-export([set_color_mod/4]).
+-opaque texture() :: any().
+-export_type([texture/0]).
+
+-spec create_from_file(sdl_renderer:renderer(), string()) -> {ok, texture()} | sdl:error().
create_from_file(Renderer, Filename) ->
{ok, Surface} = sdl_surface:load(Filename),
create_from_surface(Renderer, Surface).
+-spec create_from_surface(sdl_renderer:renderer(), sdl_surface:surface()) -> {ok, texture()} | sdl:error().
create_from_surface(Renderer, Surface) ->
esdl2:create_texture_from_surface(Renderer, Surface),
receive {'_nif_thread_ret_', Ret} -> Ret end.
+-spec get_alpha_mod(texture()) -> byte().
get_alpha_mod(Texture) ->
esdl2:get_texture_alpha_mod(Texture),
receive {'_nif_thread_ret_', Ret} ->
@@ -38,28 +44,33 @@ get_alpha_mod(Texture) ->
Alpha
end.
+-spec get_blend_mode(texture()) -> sdl_renderer:blend_mode().
get_blend_mode(Texture) ->
esdl2:get_texture_blend_mode(Texture),
receive {'_nif_thread_ret_', Ret} ->
- {ok, Alpha} = Ret,
- Alpha
+ {ok, BlendMode} = Ret,
+ BlendMode
end.
+-spec get_color_mod(texture()) -> {byte(), byte(), byte()}.
get_color_mod(Texture) ->
esdl2:get_texture_color_mod(Texture),
receive {'_nif_thread_ret_', Ret} ->
- {ok, Alpha} = Ret,
- Alpha
+ {ok, Color} = Ret,
+ Color
end.
+-spec set_alpha_mod(texture(), byte()) -> ok | sdl:error().
set_alpha_mod(Texture, Alpha) ->
esdl2:set_texture_alpha_mod(Texture, Alpha),
receive {'_nif_thread_ret_', Ret} -> Ret end.
+-spec set_blend_mode(texture(), sdl_renderer:blend_mode()) -> ok | sdl:error().
set_blend_mode(Texture, BlendMode) ->
esdl2:set_texture_blend_mode(Texture, BlendMode),
receive {'_nif_thread_ret_', Ret} -> Ret end.
+-spec set_color_mod(texture(), byte(), byte(), byte()) -> ok | sdl:error().
set_color_mod(Texture, R, G, B) ->
esdl2:set_texture_color_mod(Texture, R, G, B),
receive {'_nif_thread_ret_', Ret} -> Ret end.