|
|
@@ -346,8 +346,7 @@ open_window() {
|
|
|
emscripten_set_focus_callback(target, (void *)this, false, &on_focus_event);
|
|
|
emscripten_set_blur_callback(target, (void *)this, false, &on_focus_event);
|
|
|
|
|
|
- void *user_data = (void *)&_input_devices[0];
|
|
|
-
|
|
|
+ void *user_data = _input;
|
|
|
emscripten_set_keypress_callback(target, user_data, false, &on_keyboard_event);
|
|
|
emscripten_set_keydown_callback(target, user_data, false, &on_keyboard_event);
|
|
|
emscripten_set_keyup_callback(target, user_data, false, &on_keyboard_event);
|
|
|
@@ -535,8 +534,6 @@ on_mouse_event(int type, const EmscriptenMouseEvent *event, void *user_data) {
|
|
|
device = (GraphicsWindowInputDevice *)user_data;
|
|
|
nassertr(device != nullptr, false);
|
|
|
|
|
|
- double time = event->timestamp * 0.001;
|
|
|
-
|
|
|
switch (type) {
|
|
|
case EMSCRIPTEN_EVENT_MOUSEDOWN:
|
|
|
// Don't register out-of-bounds mouse downs.
|
|
|
@@ -544,14 +541,14 @@ on_mouse_event(int type, const EmscriptenMouseEvent *event, void *user_data) {
|
|
|
int w, h, f;
|
|
|
emscripten_get_canvas_size(&w, &h, &f);
|
|
|
if (event->canvasX < w && event->canvasY < h) {
|
|
|
- device->button_down(MouseButton::button(event->button), time);
|
|
|
+ device->button_down(MouseButton::button(event->button));
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
|
|
|
|
case EMSCRIPTEN_EVENT_MOUSEUP:
|
|
|
- device->button_up(MouseButton::button(event->button), time);
|
|
|
+ device->button_up(MouseButton::button(event->button));
|
|
|
return true;
|
|
|
|
|
|
case EMSCRIPTEN_EVENT_MOUSEMOVE:
|
|
|
@@ -562,9 +559,9 @@ on_mouse_event(int type, const EmscriptenMouseEvent *event, void *user_data) {
|
|
|
if (ev.isActive) {
|
|
|
MouseData md = device->get_pointer();
|
|
|
device->set_pointer_in_window(md.get_x() + event->movementX,
|
|
|
- md.get_y() + event->movementY, time);
|
|
|
+ md.get_y() + event->movementY);
|
|
|
} else {
|
|
|
- device->set_pointer_in_window(event->canvasX, event->canvasY, time);
|
|
|
+ device->set_pointer_in_window(event->canvasX, event->canvasY);
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
@@ -573,7 +570,7 @@ on_mouse_event(int type, const EmscriptenMouseEvent *event, void *user_data) {
|
|
|
break;
|
|
|
|
|
|
case EMSCRIPTEN_EVENT_MOUSELEAVE:
|
|
|
- device->set_pointer_out_of_window(time);
|
|
|
+ device->set_pointer_out_of_window();
|
|
|
return true;
|
|
|
|
|
|
default:
|
|
|
@@ -592,16 +589,14 @@ on_wheel_event(int type, const EmscriptenWheelEvent *event, void *user_data) {
|
|
|
device = (GraphicsWindowInputDevice *)user_data;
|
|
|
nassertr(device != nullptr, false);
|
|
|
|
|
|
- double time = event->mouse.timestamp * 0.001;
|
|
|
-
|
|
|
if (type == EMSCRIPTEN_EVENT_WHEEL) {
|
|
|
if (event->deltaY < 0) {
|
|
|
- device->button_down(MouseButton::wheel_up(), time);
|
|
|
- device->button_up(MouseButton::wheel_up(), time);
|
|
|
+ device->button_down(MouseButton::wheel_up());
|
|
|
+ device->button_up(MouseButton::wheel_up());
|
|
|
}
|
|
|
if (event->deltaY > 0) {
|
|
|
- device->button_down(MouseButton::wheel_down(), time);
|
|
|
- device->button_up(MouseButton::wheel_down(), time);
|
|
|
+ device->button_down(MouseButton::wheel_down());
|
|
|
+ device->button_up(MouseButton::wheel_down());
|
|
|
}
|
|
|
return true;
|
|
|
}
|