summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/engine
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-05-28 09:17:30 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-05-28 09:22:51 +0300
commita3d0bd53dda283e5a0d1fb7ea7b4062589cb4928 (patch)
tree218567884b32f3d160bccc5cddbd4dfdce6b91a2 /src/datavis3d/engine
parent79a68aaa027b57e9d845764aa692a4a59c8fa47a (diff)
Android: rotation and selection updated
Rotation by moving finger on screen selection by double-tapping a bar. Removed double layout addition from 2 examples. Change-Id: Ic294665f0056d80359c96473610609e920c4835b Change-Id: Ic294665f0056d80359c96473610609e920c4835b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavis3d/engine')
-rw-r--r--src/datavis3d/engine/q3dbars.cpp15
-rw-r--r--src/datavis3d/engine/q3dbars.h3
-rw-r--r--src/datavis3d/engine/q3dmaps.cpp15
-rw-r--r--src/datavis3d/engine/q3dmaps.h3
4 files changed, 36 insertions, 0 deletions
diff --git a/src/datavis3d/engine/q3dbars.cpp b/src/datavis3d/engine/q3dbars.cpp
index fd65393d..59e1018b 100644
--- a/src/datavis3d/engine/q3dbars.cpp
+++ b/src/datavis3d/engine/q3dbars.cpp
@@ -1444,6 +1444,17 @@ void Q3DBars::drawScene()
d_ptr->m_labelShader->release();
}
+#if defined(Q_OS_ANDROID)
+void Q3DBars::mouseDoubleClickEvent(QMouseEvent *event)
+{
+ if (!d_ptr->m_zoomActivated) {
+ d_ptr->m_mousePressed = Q3DBarsPrivate::MouseOnScene;
+ // update mouse positions to prevent jumping when releasing or repressing a button
+ d_ptr->m_mousePos = event->pos();
+ }
+}
+#endif
+
void Q3DBars::mousePressEvent(QMouseEvent *event)
{
if (Qt::LeftButton == event->button()) {
@@ -1457,7 +1468,11 @@ void Q3DBars::mousePressEvent(QMouseEvent *event)
//qDebug() << "Mouse pressed on zoom";
}
} else {
+#if !defined(Q_OS_ANDROID)
d_ptr->m_mousePressed = Q3DBarsPrivate::MouseOnScene;
+#else
+ d_ptr->m_mousePressed = Q3DBarsPrivate::MouseRotating;
+#endif
// update mouse positions to prevent jumping when releasing or repressing a button
d_ptr->m_mousePos = event->pos();
//qDebug() << "Mouse pressed on scene";
diff --git a/src/datavis3d/engine/q3dbars.h b/src/datavis3d/engine/q3dbars.h
index 3e490144..fc9111cd 100644
--- a/src/datavis3d/engine/q3dbars.h
+++ b/src/datavis3d/engine/q3dbars.h
@@ -149,6 +149,9 @@ public:
void setTickCount(GLint tickCount, GLfloat step, GLfloat minimum = 0.0f);
protected:
+#if defined(Q_OS_ANDROID)
+ void mouseDoubleClickEvent(QMouseEvent *event);
+#endif
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
diff --git a/src/datavis3d/engine/q3dmaps.cpp b/src/datavis3d/engine/q3dmaps.cpp
index 381a8d5a..bcfa41da 100644
--- a/src/datavis3d/engine/q3dmaps.cpp
+++ b/src/datavis3d/engine/q3dmaps.cpp
@@ -921,6 +921,17 @@ void Q3DMaps::drawScene()
#endif
}
+#if defined(Q_OS_ANDROID)
+void Q3DMaps::mouseDoubleClickEvent(QMouseEvent *event)
+{
+ if (!d_ptr->m_zoomActivated) {
+ d_ptr->m_mousePressed = Q3DMapsPrivate::MouseOnScene;
+ // update mouse positions to prevent jumping when releasing or repressing a button
+ d_ptr->m_mousePos = event->pos();
+ }
+}
+#endif
+
void Q3DMaps::mousePressEvent(QMouseEvent *event)
{
if (Qt::LeftButton == event->button()) {
@@ -935,7 +946,11 @@ void Q3DMaps::mousePressEvent(QMouseEvent *event)
//qDebug() << "Mouse pressed on zoom";
}
} else {
+#if !defined(Q_OS_ANDROID)
d_ptr->m_mousePressed = Q3DMapsPrivate::MouseOnScene;
+#else
+ d_ptr->m_mousePressed = Q3DMapsPrivate::MouseRotating;
+#endif
// update mouse positions to prevent jumping when releasing or repressing a button
d_ptr->m_mousePos = event->pos();
//qDebug() << "Mouse pressed on scene";
diff --git a/src/datavis3d/engine/q3dmaps.h b/src/datavis3d/engine/q3dmaps.h
index 37bf08e7..c6e44170 100644
--- a/src/datavis3d/engine/q3dmaps.h
+++ b/src/datavis3d/engine/q3dmaps.h
@@ -149,6 +149,9 @@ public:
void setShadowQuality(ShadowQuality quality);
protected:
+#if defined(Q_OS_ANDROID)
+ void mouseDoubleClickEvent(QMouseEvent *event);
+#endif
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);