summaryrefslogtreecommitdiffstats
path: root/platform/javascript/os_javascript.cpp
diff options
context:
space:
mode:
authoreska <eska@eska.me>2016-11-23 23:53:38 +0100
committereska <eska@eska.me>2016-11-30 22:02:32 +0100
commit30e9ea5a8203e0f059c533def90c42f7ca7dc7c5 (patch)
treeabbcffffff1c34933ef14dc31e47b9b170863178 /platform/javascript/os_javascript.cpp
parenta6ae3204fb577cc61f09fa15c803669d477e2f42 (diff)
downloadredot-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.cpp10
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;