diff options
| author | eska | 2016-11-23 23:53:38 +0100 |
|---|---|---|
| committer | eska | 2016-12-03 15:33:59 +0100 |
| commit | 49e22aa83ff5523ab6e976f04cac067de21e4a5e (patch) | |
| tree | 9503dc188612c94516cebc918765350075809d15 /platform/javascript/os_javascript.cpp | |
| parent | 6d86a63648c65c9e5e72747130ee3cb0ed49ab4c (diff) | |
| download | godot-49e22aa83ff5523ab6e976f04cac067de21e4a5e.tar.gz godot-49e22aa83ff5523ab6e976f04cac067de21e4a5e.tar.zst godot-49e22aa83ff5523ab6e976f04cac067de21e4a5e.zip | |
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 37ae7bf27..6c8ed6f4d 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -294,13 +294,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) { @@ -422,6 +424,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); } @@ -760,6 +765,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; |
