summaryrefslogtreecommitdiff
path: root/avmedia/source/opengl/oglwindow.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'avmedia/source/opengl/oglwindow.cxx')
-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;