diff options
author | Andy Maloney <asmaloney@gmail.com> | 2017-03-14 12:13:45 -0400 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2017-03-14 17:02:16 +0000 |
commit | 87318ed7496c10880f9c46a1f817c66674026c97 (patch) | |
tree | 588c42b63dd4e90c6bf91ccea6deee12c52537cc /src/extras/defaults/qfirstpersoncameracontroller.cpp | |
parent | cb24d3078dc6d0e9c8a49ae8098641c26ee1f28a (diff) |
Add zooming with scroll wheel to default camera controllers
This adds zooming in and out with the mouse scroll wheel to the first person
and orbit camera controllers.
[ChangeLog][][] Added zooming with the mouse's scroll wheel to
QFirstPersonCameraController and QOrbitCameraController
Change-Id: I54dcb00948c94ea098de2b233107a389dd32225b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/defaults/qfirstpersoncameracontroller.cpp')
-rw-r--r-- | src/extras/defaults/qfirstpersoncameracontroller.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/extras/defaults/qfirstpersoncameracontroller.cpp b/src/extras/defaults/qfirstpersoncameracontroller.cpp index c9ca34900..c51fe36fe 100644 --- a/src/extras/defaults/qfirstpersoncameracontroller.cpp +++ b/src/extras/defaults/qfirstpersoncameracontroller.cpp @@ -80,6 +80,8 @@ QFirstPersonCameraControllerPrivate::QFirstPersonCameraControllerPrivate() , m_fineMotionKeyInput(new Qt3DInput::QActionInput()) , m_mouseRxInput(new Qt3DInput::QAnalogAxisInput()) , m_mouseRyInput(new Qt3DInput::QAnalogAxisInput()) + , m_mouseTzXInput(new Qt3DInput::QAnalogAxisInput()) + , m_mouseTzYInput(new Qt3DInput::QAnalogAxisInput()) , m_keyboardTxPosInput(new Qt3DInput::QButtonAxisInput()) , m_keyboardTyPosInput(new Qt3DInput::QButtonAxisInput()) , m_keyboardTzPosInput(new Qt3DInput::QButtonAxisInput()) @@ -123,6 +125,16 @@ void QFirstPersonCameraControllerPrivate::init() m_mouseRyInput->setSourceDevice(m_mouseDevice); m_ryAxis->addInput(m_mouseRyInput); + // Mouse Wheel X + m_mouseTzXInput->setAxis(Qt3DInput::QMouseDevice::WheelX); + m_mouseTzXInput->setSourceDevice(m_mouseDevice); + m_tzAxis->addInput(m_mouseTzXInput); + + // Mouse Wheel Y + m_mouseTzYInput->setAxis(Qt3DInput::QMouseDevice::WheelY); + m_mouseTzYInput->setSourceDevice(m_mouseDevice); + m_tzAxis->addInput(m_mouseTzYInput); + // Keyboard Pos Tx m_keyboardTxPosInput->setButtons(QVector<int>() << Qt::Key_Right); m_keyboardTxPosInput->setScale(1.0f); @@ -236,6 +248,9 @@ void QFirstPersonCameraControllerPrivate::_q_onTriggered(float dt) \li While the left mouse button is pressed, mouse movement along x-axis pans the camera and movement along y-axis tilts it. \row + \li Mouse scroll wheel + \li Zooms the camera in and out without changing the view center. + \row \li Shift key \li Turns the fine motion control active while pressed. Makes mouse pan and tilt less sensitive. |