Ejemplo n.º 1
0
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());
    }
}
Ejemplo n.º 2
0
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 );
}
Ejemplo n.º 3
0
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 );
}
Ejemplo n.º 4
0
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 );
}