summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/datavisualization/data/qheightmapsurfacedataproxy.cpp6
-rw-r--r--src/datavisualization/input/q3dinputhandler.cpp45
-rw-r--r--src/datavisualization/input/qabstract3dinputhandler.h1
-rw-r--r--src/datavisualization/input/qtouch3dinputhandler.cpp35
4 files changed, 67 insertions, 20 deletions
diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp
index 05b44a17..7c8f9fce 100644
--- a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp
+++ b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp
@@ -202,9 +202,9 @@ QString QHeightMapSurfaceDataProxy::heightMapFile() const
}
/*!
- * A convenience function for setting all minimum and maximum values at the same time
- * The minimum values must be smaller than the corresponding maximum value. Otherwise
- * the values get adjusted so that they are valid.
+ * A convenience function for setting all minimum (\a minX and \a minZ) and maximum
+ * (\a maxX and \a maxZ) values at the same time. The minimum values must be smaller than the
+ * corresponding maximum value. Otherwise the values get adjusted so that they are valid.
*/
void QHeightMapSurfaceDataProxy::setValueRanges(float minX, float maxX, float minZ, float maxZ)
{
diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp
index 17f08cc6..bbbde7d8 100644
--- a/src/datavisualization/input/q3dinputhandler.cpp
+++ b/src/datavisualization/input/q3dinputhandler.cpp
@@ -32,16 +32,31 @@ const int nearZoomRangeDivider = 12;
const int midZoomRangeDivider = 60;
const int farZoomRangeDivider = 120;
-const float rotationSpeed = 100.0f;
+const float rotationSpeed = 100.0f;
/*!
- \class Q3DInputHandler
- \inmodule QtDataVisualization
- \brief Basic wheel mouse based input handler.
- \since 1.0.0
-
- Q3DInputHandler is the basic input handler for wheel mouse type of input devices.
-*/
+ * \class Q3DInputHandler
+ * \inmodule QtDataVisualization
+ * \brief Basic wheel mouse based input handler.
+ * \since 1.0.0
+ *
+ * Q3DInputHandler is the basic input handler for wheel mouse type of input devices.
+ *
+ * Default input handler has the following functionalty:
+ * \table
+ * \header
+ * \li Mouse action \li Action
+ * \row
+ * \li Right button pressed \li Rotate graph within limits set for Q3DCamera
+ * \row
+ * \li Left click \li Select item under cursor or remove selection if none
+ * \row
+ * \li Mouse wheel \li Zoom in/out within default range (10...500%)
+ * \row
+ * \li Left click on secodanry view \li Return to primary view when in slice mode
+ * \note Slice mode is available in Q3DBars and Q3DSurface only
+ * \endtable
+ */
/*!
* Constructs the basic mouse input handler. An optional \a parent parameter can be given
@@ -66,6 +81,10 @@ Q3DInputHandler::~Q3DInputHandler()
*/
void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos)
{
+#if defined(Q_OS_ANDROID)
+ Q_UNUSED(event);
+ Q_UNUSED(mousePos);
+#else
if (Qt::LeftButton == event->button()) {
if (scene()->isSlicingActive()) {
if (scene()->isPointInPrimarySubView(mousePos)) {
@@ -90,6 +109,7 @@ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos
// update mouse positions to prevent jumping when releasing or repressing a button
setInputPosition(mousePos);
}
+#endif
}
/*!
@@ -99,11 +119,15 @@ void Q3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos
void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos)
{
Q_UNUSED(event);
+#if defined (Q_OS_ANDROID)
+ Q_UNUSED(mousePos);
+#else
if (QDataVis::InputRotating == inputState()) {
// update mouse positions to prevent jumping when releasing or repressing a button
setInputPosition(mousePos);
}
setInputState(QDataVis::InputNone);
+#endif
}
/*!
@@ -113,7 +137,9 @@ void Q3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mouseP
void Q3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)
{
Q_UNUSED(event);
-
+#if defined (Q_OS_ANDROID)
+ Q_UNUSED(mousePos);
+#else
if (QDataVis::InputRotating == inputState()) {
// Calculate mouse movement since last frame
QPointF rotations = scene()->activeCamera()->rotations();
@@ -132,6 +158,7 @@ void Q3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)
setPreviousInputPos(inputPosition());
setInputPosition(mousePos);
}
+#endif
}
/*!
diff --git a/src/datavisualization/input/qabstract3dinputhandler.h b/src/datavisualization/input/qabstract3dinputhandler.h
index 0d9aa0aa..d7bf3aee 100644
--- a/src/datavisualization/input/qabstract3dinputhandler.h
+++ b/src/datavisualization/input/qabstract3dinputhandler.h
@@ -60,7 +60,6 @@ public:
signals:
void positionChanged(const QPoint &position);
void inputStateChanged(QDataVis::InputState state);
- void selectionAtPoint(const QPoint &point);
void sceneChanged(const Q3DScene *scene);
protected:
diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp
index ab97332f..fd7ce39c 100644
--- a/src/datavisualization/input/qtouch3dinputhandler.cpp
+++ b/src/datavisualization/input/qtouch3dinputhandler.cpp
@@ -25,20 +25,41 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE
const qreal maxTapAndHoldJitter = 20;
const int maxPinchJitter = 10;
+#if defined (Q_OS_ANDROID)
+const int maxSelectionJitter = 10;
+#else
const int maxSelectionJitter = 5;
+#endif
const int tapAndHoldTime = 250;
const float rotationSpeed = 200.0f;
const int minZoomLevel = 10;
const int maxZoomLevel = 500;
/*!
- \class QTouch3DInputHandler
- \inmodule QtDataVisualization
- \brief Basic touch display based input handler.
- \since 1.0.0
-
- QTouch3DInputHandler is the basic input handler for touch screen devices.
-*/
+ * \class QTouch3DInputHandler
+ * \inmodule QtDataVisualization
+ * \brief Basic touch display based input handler.
+ * \since 1.0.0
+ *
+ * QTouch3DInputHandler is the basic input handler for touch screen devices.
+ *
+ * Default touch input handler has the following functionalty:
+ * \table
+ * \header
+ * \li Gesture \li Action
+ * \row
+ * \li Touch-And-Move \li Rotate graph within limits set for Q3DCamera
+ * \row
+ * \li Tap \li Select item under pointer or remove selection if none
+ * \row
+ * \li Tap-And-Hold \li Select item under pointer or remove selection if none
+ * \row
+ * \li Pinch \li Zoom in/out within default range (10...500%)
+ * \row
+ * \li Tap on secondary view \li Return to primary view when in slice mode
+ * \note Slice mode is available in Q3DBars and Q3DSurface only
+ * \endtable
+ */
/*!
* Constructs the basic touch display input handler. An optional \a parent parameter can be given