diff options
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 12 | ||||
-rw-r--r-- | src/datavisualization/engine/q3dcamera.h | 1 | ||||
-rw-r--r-- | src/datavisualization/engine/q3dcamera_p.h | 1 | ||||
-rw-r--r-- | src/datavisualization/engine/q3dwindow.cpp | 6 |
4 files changed, 15 insertions, 5 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 4d02fc13..61c9115a 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -67,12 +67,14 @@ Abstract3DController::Abstract3DController(QRect boundRect, QObject *parent) : // Create initial default input handler QAbstract3DInputHandler *inputHandler; #if defined(Q_OS_ANDROID) - inputHandler = new QTouch3DInputHandler(); + inputHandler = new QTouch3DInputHandler(); #else - inputHandler = new Q3DInputHandler(); + inputHandler = new Q3DInputHandler(); #endif - inputHandler->d_ptr->m_isDefaultHandler = true; - setActiveInputHandler(inputHandler); + inputHandler->d_ptr->m_isDefaultHandler = true; + setActiveInputHandler(inputHandler); + connect(inputHandler, &QAbstract3DInputHandler::inputStateChanged, this, + &Abstract3DController::emitNeedRender); } Abstract3DController::~Abstract3DController() @@ -673,7 +675,7 @@ void Abstract3DController::setCameraPosition(GLfloat horizontal, GLfloat vertica m_verticalRotation = qBound(0.0f, vertical, 90.0f); m_scene->activeCamera()->setZoomLevel(qBound(10, distance, 500)); m_scene->activeCamera()->setRotations(QPointF(m_horizontalRotation, - m_verticalRotation)); + m_verticalRotation)); //qDebug() << "camera rotation set to" << m_horizontalRotation << m_verticalRotation; emitNeedRender(); } diff --git a/src/datavisualization/engine/q3dcamera.h b/src/datavisualization/engine/q3dcamera.h index 60910786..8e7a9a23 100644 --- a/src/datavisualization/engine/q3dcamera.h +++ b/src/datavisualization/engine/q3dcamera.h @@ -80,6 +80,7 @@ private: friend class Scatter3DRenderer; friend class SelectionPointer; friend class Q3DInputHandler; + friend class QTouch3DInputHandler; friend class QMac3DInputHandler; }; diff --git a/src/datavisualization/engine/q3dcamera_p.h b/src/datavisualization/engine/q3dcamera_p.h index cf6e9c66..8c160d8c 100644 --- a/src/datavisualization/engine/q3dcamera_p.h +++ b/src/datavisualization/engine/q3dcamera_p.h @@ -67,6 +67,7 @@ public: friend class Scatter3DRenderer; friend class SelectionPointer; friend class Q3DInputHandler; + friend class QTouch3DInputHandler; friend class QMac3DInputHandler; }; diff --git a/src/datavisualization/engine/q3dwindow.cpp b/src/datavisualization/engine/q3dwindow.cpp index 16202179..9b607e1d 100644 --- a/src/datavisualization/engine/q3dwindow.cpp +++ b/src/datavisualization/engine/q3dwindow.cpp @@ -142,6 +142,12 @@ bool Q3DWindow::event(QEvent *event) case QEvent::UpdateRequest: renderNow(); return true; + case QEvent::TouchBegin: + case QEvent::TouchCancel: + case QEvent::TouchUpdate: + case QEvent::TouchEnd: + d_ptr->m_visualController->touchEvent(static_cast<QTouchEvent *>(event)); + return true; default: return QWindow::event(event); } |