aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2014-04-10 01:07:21 +0200
committerLoïc Hoguin <[email protected]>2014-04-10 01:07:21 +0200
commitc087ef30ab6b40e331863f90b1f067f1c3a7a5d2 (patch)
treeb5e07b133c8b3b1cda60f15b29691a9ecf6919a7
parent1aab59bd206c89af1ffb23687d9cabd9cdcc6074 (diff)
downloadesdl2-c087ef30ab6b40e331863f90b1f067f1c3a7a5d2.tar.gz
esdl2-c087ef30ab6b40e331863f90b1f067f1c3a7a5d2.tar.bz2
esdl2-c087ef30ab6b40e331863f90b1f067f1c3a7a5d2.zip
Add clicks value to mouse button events (SDL >= 2.0.2)
-rw-r--r--c_src/esdl2.h1
-rw-r--r--c_src/sdl_events.c3
-rw-r--r--src/sdl_events.erl2
3 files changed, 4 insertions, 2 deletions
diff --git a/c_src/esdl2.h b/c_src/esdl2.h
index 2404355..75055d4 100644
--- a/c_src/esdl2.h
+++ b/c_src/esdl2.h
@@ -31,6 +31,7 @@
A(centered) \
A(charged) \
A(charging) \
+ A(clicks) \
A(close) \
A(data) \
A(enter) \
diff --git a/c_src/sdl_events.c b/c_src/sdl_events.c
index 6952275..79bc74f 100644
--- a/c_src/sdl_events.c
+++ b/c_src/sdl_events.c
@@ -141,7 +141,8 @@ NIF_CALL_HANDLER(thread_poll_event)
: enif_make_uint(env, event.button.button),
&map);
// We don't pass the state as this information is redundant with the type.
- // @todo SDL 2.0.2 clicks
+ enif_make_map_put(env, map, atom_clicks,
+ enif_make_uint(env, event.button.clicks), &map);
enif_make_map_put(env, map, atom_x,
enif_make_int(env, event.button.x), &map);
enif_make_map_put(env, map, atom_y,
diff --git a/src/sdl_events.erl b/src/sdl_events.erl
index 37162e5..0a0e139 100644
--- a/src/sdl_events.erl
+++ b/src/sdl_events.erl
@@ -32,7 +32,7 @@
-type mouse_button() :: left | middle | right | x1 | x2 | non_neg_integer().
-type mouse_button_event() :: #{type=>mouse_down | mouse_up, timestamp=>non_neg_integer(),
window_id=>non_neg_integer(), which=>touch | non_neg_integer(),
- button=>mouse_button(), x=>integer(), y=>integer()}.
+ button=>mouse_button(), clicks=>non_neg_integer(), x=>integer(), y=>integer()}.
-type mouse_motion_event() :: #{type=>mouse_motion, timestamp=>non_neg_integer(),
window_id=>non_neg_integer(), which=>touch | non_neg_integer(),