summaryrefslogtreecommitdiff
path: root/avmedia
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2014-05-20 01:05:12 +0200
committerJan Holesovsky <kendy@collabora.com>2014-05-21 10:36:54 +0200
commit2fa2e6db1c897d3605aca7da6b42a0b3b9155763 (patch)
treed7e5215ae5c3ee2e408c964855ef3e1b2804e249 /avmedia
parentf72d85e6fadfc66b80313d662ce3a938ed59aecf (diff)
gltf: Send delta when rotating, not absolute value.
Change-Id: I2453132fedc9a38f43c3de4b110459ba7771d085
Diffstat (limited to 'avmedia')
-rw-r--r--avmedia/source/opengl/oglwindow.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx
index a3e5623b3b5f..7bdc9f785ee9 100644
--- a/avmedia/source/opengl/oglwindow.cxx
+++ b/avmedia/source/opengl/oglwindow.cxx
@@ -300,13 +300,19 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent)
if(pMouseEvt && pMouseEvt->IsLeft())
{
const Point& aCurPos = pMouseEvt->GetPosPixel();
+ float fSensitivity = std::min(m_pHandle->viewport.width, m_pHandle->viewport.height);
+ if (fSensitivity == 0.0)
+ fSensitivity = 1.0;
+ else
+ fSensitivity = 540.0 / fSensitivity;
long nDeltaX = m_aLastMousePos.X()-aCurPos.X();
long nDeltaY = aCurPos.Y()-m_aLastMousePos.Y();
- static const float fSensitivity = 1.0;
// TODO: It seems this method just moves the camera but not rotate it.
gltf_renderer_rotate_camera((float)nDeltaX*fSensitivity,(float)nDeltaY*fSensitivity,0.0,0.0);
update();
+
+ m_aLastMousePos = aCurPos;
}
}
return 0;