diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-05-28 09:17:30 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-05-28 09:22:51 +0300 |
commit | a3d0bd53dda283e5a0d1fb7ea7b4062589cb4928 (patch) | |
tree | 218567884b32f3d160bccc5cddbd4dfdce6b91a2 /src/datavis3d/engine | |
parent | 79a68aaa027b57e9d845764aa692a4a59c8fa47a (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.cpp | 15 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dbars.h | 3 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dmaps.cpp | 15 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dmaps.h | 3 |
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); |