aboutsummaryrefslogtreecommitdiffstats
path: root/c_src/sdl_rect.c
diff options
context:
space:
mode:
Diffstat (limited to 'c_src/sdl_rect.c')
-rw-r--r--c_src/sdl_rect.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/c_src/sdl_rect.c b/c_src/sdl_rect.c
index 737c920..472cf01 100644
--- a/c_src/sdl_rect.c
+++ b/c_src/sdl_rect.c
@@ -31,6 +31,20 @@ int map_to_point(ErlNifEnv* env, ERL_NIF_TERM map, SDL_Point* point)
return 1;
}
+ERL_NIF_TERM point_to_map(ErlNifEnv* env, const SDL_Point* point)
+{
+ ERL_NIF_TERM map;
+
+ map = enif_make_new_map(env);
+
+ enif_make_map_put(env, map, atom_x,
+ enif_make_int(env, point->x), &map);
+ enif_make_map_put(env, map, atom_y,
+ enif_make_int(env, point->y), &map);
+
+ return map;
+}
+
int map_to_rect(ErlNifEnv* env, ERL_NIF_TERM map, SDL_Rect* rect)
{
ERL_NIF_TERM x, y, w, h;
@@ -56,7 +70,7 @@ int map_to_rect(ErlNifEnv* env, ERL_NIF_TERM map, SDL_Rect* rect)
return 1;
}
-ERL_NIF_TERM rect_to_map(ErlNifEnv* env, SDL_Rect* rect)
+ERL_NIF_TERM rect_to_map(ErlNifEnv* env, const SDL_Rect* rect)
{
ERL_NIF_TERM map;