Event<eq::PointerEvent>::Event(const QEvent* from) : type(_getType(from)) { #ifndef QT_NO_WHEELEVENT if (type == EVENT_WINDOW_POINTER_WHEEL) { const QWheelEvent* qevent = static_cast<const QWheelEvent*>(from); PointerEvent event; switch (qevent->orientation()) { case Qt::Horizontal: event.xAxis = qevent->delta() > 0 ? 1 : -1; break; case Qt::Vertical: event.yAxis = qevent->delta() > 0 ? 1 : -1; break; } event.buttons = _getButtons(qevent->buttons()); event.button = PTR_BUTTON_NONE; } else #endif { const QMouseEvent* qevent = static_cast<const QMouseEvent*>(from); event.x = qevent->x(); event.y = qevent->y(); event.buttons = _getButtons(qevent->buttons()); event.button = _getButton(qevent->button()); } }
void GLWidget::mouseMoveEvent( QMouseEvent* qevent ) { if( !_eventHandler ) return; WindowEvent* windowEvent = new WindowEvent; windowEvent->eq::Event::type = Event::WINDOW_POINTER_MOTION; windowEvent->pointerMotion.x = qevent->x(); windowEvent->pointerMotion.y = qevent->y(); windowEvent->pointerMotion.buttons = _getButtons( qevent->buttons( )); windowEvent->pointerMotion.button = _getButton( qevent->button( )); QApplication::postEvent( _eventHandler, windowEvent ); }
void GLWidget::mouseReleaseEvent( QMouseEvent* qevent ) { if( !_eventHandler ) return; WindowEvent* windowEvent = new WindowEvent; windowEvent->eq::Event::type = Event::WINDOW_POINTER_BUTTON_RELEASE; windowEvent->pointerButtonRelease.x = qevent->x(); windowEvent->pointerButtonRelease.y = qevent->y(); windowEvent->pointerButtonRelease.buttons = _getButtons( qevent->buttons()); windowEvent->pointerButtonRelease.button = _getButton( qevent->button( )); QApplication::postEvent( _eventHandler, windowEvent ); }
void GLWidget::wheelEvent( QWheelEvent* qevent ) { if( !_eventHandler ) return; WindowEvent* windowEvent = new WindowEvent; windowEvent->eq::Event::type = Event::WINDOW_POINTER_WHEEL; switch( qevent->orientation( )) { case Qt::Horizontal: windowEvent->pointerWheel.xAxis = qevent->delta() > 0 ? 1 : -1; break; case Qt::Vertical: windowEvent->pointerWheel.yAxis = qevent->delta() > 0 ? 1 : -1; break; } windowEvent->pointerWheel.buttons = _getButtons( qevent->buttons( )); windowEvent->pointerWheel.button = PTR_BUTTON_NONE; QApplication::postEvent( _eventHandler, windowEvent ); }