diff options
author | Loïc Hoguin <[email protected]> | 2014-04-02 19:08:46 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2014-04-02 19:08:46 +0200 |
commit | 43ad16d15766ed2c75515a696b391d5bb02c8b26 (patch) | |
tree | c5861754e98a26f1e0048e758065e7c34f5be04a /c_src | |
parent | 77d0e9d9ca8ed451a40f9b54f20365727ad76f5e (diff) | |
download | esdl2-43ad16d15766ed2c75515a696b391d5bb02c8b26.tar.gz esdl2-43ad16d15766ed2c75515a696b391d5bb02c8b26.tar.bz2 esdl2-43ad16d15766ed2c75515a696b391d5bb02c8b26.zip |
Add functions to retrieve SDL version and revision
Diffstat (limited to 'c_src')
-rw-r--r-- | c_src/esdl2.h | 3 | ||||
-rw-r--r-- | c_src/sdl_version.c | 39 |
2 files changed, 42 insertions, 0 deletions
diff --git a/c_src/esdl2.h b/c_src/esdl2.h index 455c42d..970fa6c 100644 --- a/c_src/esdl2.h +++ b/c_src/esdl2.h @@ -117,6 +117,9 @@ F(img_load, 1) \ /* sdl_texture */ \ F(create_texture_from_surface, 2) \ + /* sdl_version */ \ + F(get_version, 0) \ + F(get_revision, 0) \ /* sdl_window */ \ F(create_window, 6) diff --git a/c_src/sdl_version.c b/c_src/sdl_version.c new file mode 100644 index 0000000..c570044 --- /dev/null +++ b/c_src/sdl_version.c @@ -0,0 +1,39 @@ +// 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. + +#include "esdl2.h" +#include "SDL_version.h" +#include "SDL_revision.h" + +// get_version + +NIF_FUNCTION(get_version) +{ + SDL_version v; + + SDL_VERSION(&v); + + return enif_make_tuple3(env, + enif_make_int(env, v.major), + enif_make_int(env, v.minor), + enif_make_int(env, v.patch) + ); +} + +// get_revision + +NIF_FUNCTION(get_revision) +{ + return enif_make_string(env, SDL_REVISION, ERL_NIF_LATIN1); +} |