diff options
author | Loïc Hoguin <[email protected]> | 2014-04-09 20:02:57 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2014-04-09 20:02:57 +0200 |
commit | 6542e0dc2aadff202690ec6b40381f5dccfb39b8 (patch) | |
tree | cf5ebad8a31788a2e72bb26dc27eab2e0ed87d7e | |
parent | 5c88451434f63ad7430f0c767c3195cd75cc8001 (diff) | |
download | esdl2-6542e0dc2aadff202690ec6b40381f5dccfb39b8.tar.gz esdl2-6542e0dc2aadff202690ec6b40381f5dccfb39b8.tar.bz2 esdl2-6542e0dc2aadff202690ec6b40381f5dccfb39b8.zip |
Add typespecs to the sdl_texture module
-rw-r--r-- | src/sdl_renderer.erl | 1 | ||||
-rw-r--r-- | src/sdl_texture.erl | 19 |
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. |