void QNitpickerPlatformWindow::_process_mouse_event(Input::Event *ev) { QPoint global_position(ev->ax(), ev->ay()); QPoint local_position(global_position.x() - geometry().x(), global_position.y() - geometry().y()); //qDebug() << "local_position =" << local_position; //qDebug() << "global_position =" << global_position; switch (ev->type()) { case Input::Event::PRESS: if (qnpw_verbose) PDBG("PRESS"); /* make this window the focused window */ requestActivateWindow(); switch (ev->code()) { case Input::BTN_LEFT: _mouse_button_state |= Qt::LeftButton; break; case Input::BTN_RIGHT: _mouse_button_state |= Qt::RightButton; break; case Input::BTN_MIDDLE: _mouse_button_state |= Qt::MidButton; break; case Input::BTN_SIDE: _mouse_button_state |= Qt::XButton1; break; case Input::BTN_EXTRA: _mouse_button_state |= Qt::XButton2; break; } break; case Input::Event::RELEASE: if (qnpw_verbose) PDBG("RELEASE"); switch (ev->code()) { case Input::BTN_LEFT: _mouse_button_state &= ~Qt::LeftButton; break; case Input::BTN_RIGHT: _mouse_button_state &= ~Qt::RightButton; break; case Input::BTN_MIDDLE: _mouse_button_state &= ~Qt::MidButton; break; case Input::BTN_SIDE: _mouse_button_state &= ~Qt::XButton1; break; case Input::BTN_EXTRA: _mouse_button_state &= ~Qt::XButton2; break; } break; case Input::Event::WHEEL: if (qnpw_verbose) PDBG("WHEEL"); QWindowSystemInterface::handleWheelEvent(window(), local_position, local_position, ev->ry() * 120, Qt::Vertical); return; default: break; } QWindowSystemInterface::handleMouseEvent(window(), local_position, global_position, _mouse_button_state); }
void QNitpickerPlatformWindow::_process_mouse_event(Input::Event const &ev) { QPoint global_position(ev.ax(), ev.ay()); QPoint local_position(global_position.x() - geometry().x(), global_position.y() - geometry().y()); switch (ev.type()) { case Input::Event::PRESS: /* make this window the focused window */ requestActivateWindow(); switch (ev.code()) { case Input::BTN_LEFT: _mouse_button_state |= Qt::LeftButton; break; case Input::BTN_RIGHT: _mouse_button_state |= Qt::RightButton; break; case Input::BTN_MIDDLE: _mouse_button_state |= Qt::MidButton; break; case Input::BTN_SIDE: _mouse_button_state |= Qt::XButton1; break; case Input::BTN_EXTRA: _mouse_button_state |= Qt::XButton2; break; } break; case Input::Event::RELEASE: switch (ev.code()) { case Input::BTN_LEFT: _mouse_button_state &= ~Qt::LeftButton; break; case Input::BTN_RIGHT: _mouse_button_state &= ~Qt::RightButton; break; case Input::BTN_MIDDLE: _mouse_button_state &= ~Qt::MidButton; break; case Input::BTN_SIDE: _mouse_button_state &= ~Qt::XButton1; break; case Input::BTN_EXTRA: _mouse_button_state &= ~Qt::XButton2; break; } break; case Input::Event::WHEEL: QWindowSystemInterface::handleWheelEvent(window(), local_position, local_position, ev.ry() * 120, Qt::Vertical); return; default: break; } QWindowSystemInterface::handleMouseEvent(window(), local_position, global_position, _mouse_button_state); }