diff options
author | eska <eska@eska.me> | 2016-11-23 23:53:38 +0100 |
---|---|---|
committer | eska <eska@eska.me> | 2016-11-30 22:02:32 +0100 |
commit | 30e9ea5a8203e0f059c533def90c42f7ca7dc7c5 (patch) | |
tree | abbcffffff1c34933ef14dc31e47b9b170863178 /platform/javascript/os_javascript.cpp | |
parent | a6ae3204fb577cc61f09fa15c803669d477e2f42 (diff) | |
download | redot-engine-30e9ea5a8203e0f059c533def90c42f7ca7dc7c5.tar.gz |
Fix some mouse bugs in WebAssembly/asm.js
- Emit mouse wheel release events
- Set button masks, fixes #5092
Diffstat (limited to 'platform/javascript/os_javascript.cpp')
-rw-r--r-- | platform/javascript/os_javascript.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp index 2a025ff6c0..6464dfdd1d 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -299,13 +299,15 @@ bool OS_JavaScript::is_mouse_grab_enabled() const { //*sigh* technology has evolved so much since i was a kid.. return false; } + Point2 OS_JavaScript::get_mouse_pos() const { - return Point2(); + return input->get_mouse_pos(); } + int OS_JavaScript::get_mouse_button_state() const { - return 0; + return last_button_mask; } void OS_JavaScript::set_window_title(const String& p_title) { @@ -427,6 +429,9 @@ void OS_JavaScript::push_input(const InputEvent& p_ev) { if (ev.type==InputEvent::MOUSE_MOTION) { input->set_mouse_pos(Point2(ev.mouse_motion.x, ev.mouse_motion.y)); } + else if (ev.type==InputEvent::MOUSE_BUTTON) { + last_button_mask = ev.mouse_button.button_mask; + } input->parse_input_event(p_ev); } @@ -765,6 +770,7 @@ OS_JavaScript::OS_JavaScript(GFXInitFunc p_gfx_init_func,void*p_gfx_init_ud, Get gfx_init_func=p_gfx_init_func; gfx_init_ud=p_gfx_init_ud; + last_button_mask=0; main_loop=NULL; last_id=1; gl_extensions=NULL; |