diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2018-12-14 23:31:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-14 23:31:52 +0100 |
commit | 57c3f6a94ba547cfb4c3bcfd7a3e2e784239fd4e (patch) | |
tree | 2d86291ab8b732297206b28cad8cfdea3e38f0a0 /platform/javascript/os_javascript.cpp | |
parent | 46f73c366df4377a69c26ee295db26956a90531b (diff) | |
parent | bd9c592c528034a58f4ede0bd2ba06760dd360b5 (diff) | |
download | redot-engine-57c3f6a94ba547cfb4c3bcfd7a3e2e784239fd4e.tar.gz |
Merge pull request #20063 from moiman100/fix-button-mask
Unified button mask behavior across platforms
Diffstat (limited to 'platform/javascript/os_javascript.cpp')
-rw-r--r-- | platform/javascript/os_javascript.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp index 9250ca4903..2068fee9e0 100644 --- a/platform/javascript/os_javascript.cpp +++ b/platform/javascript/os_javascript.cpp @@ -452,7 +452,6 @@ EM_BOOL OS_JavaScript::wheel_callback(int p_event_type, const EmscriptenWheelEve InputDefault *input = get_singleton()->input; Ref<InputEventMouseButton> ev; ev.instance(); - ev->set_button_mask(input->get_mouse_button_mask()); ev->set_position(input->get_mouse_position()); ev->set_global_position(ev->get_position()); @@ -475,10 +474,14 @@ EM_BOOL OS_JavaScript::wheel_callback(int p_event_type, const EmscriptenWheelEve // Different browsers give wildly different delta values, and we can't // interpret deltaMode, so use default value for wheel events' factor. + int button_flag = 1 << (ev->get_button_index() - 1); + ev->set_pressed(true); + ev->set_button_mask(input->get_mouse_button_mask() | button_flag); input->parse_input_event(ev); ev->set_pressed(false); + ev->set_button_mask(input->get_mouse_button_mask() & ~button_flag); input->parse_input_event(ev); return true; |