From c087ef30ab6b40e331863f90b1f067f1c3a7a5d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 10 Apr 2014 01:07:21 +0200 Subject: Add clicks value to mouse button events (SDL >= 2.0.2) --- c_src/esdl2.h | 1 + c_src/sdl_events.c | 3 ++- src/sdl_events.erl | 2 +- 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(), -- cgit v1.2.3