bool CameraController::eventFilter(QObject* object, QEvent* event)
{
    switch (event->type())
    {
      case QEvent::MouseButtonPress:
        if (handle_mouse_button_press_event(static_cast<QMouseEvent*>(event)))
            return true;
        break;

      case QEvent::MouseButtonRelease:
        if (handle_mouse_button_release_event(static_cast<QMouseEvent*>(event)))
            return true;
        break;

      case QEvent::MouseMove:
        if (handle_mouse_move_event(static_cast<QMouseEvent*>(event)))
            return true;
        break;

      case QEvent::KeyPress:
        if (handle_key_press_event(static_cast<QKeyEvent*>(event)))
            return true;
        break;
    }

    return QObject::eventFilter(object, event);
}
Example #2
0
void camera_controller::handle_event(const os::event &event)
{
    if (event.is_window_resize_event()) {
        set_viewport_size(event.get_window_size());
    } else if (event.is_mouse_button_event()) {
        handle_mouse_button_event(event.get_mouse_button_event());
    } else if (event.is_mouse_move_event()) {
        handle_mouse_move_event(event.get_mouse_move_event());
    }
}