summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp12
-rw-r--r--src/datavisualization/engine/q3dcamera.h1
-rw-r--r--src/datavisualization/engine/q3dcamera_p.h1
-rw-r--r--src/datavisualization/engine/q3dwindow.cpp6
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);
}