summaryrefslogtreecommitdiff
path: root/vcl/source/window/openglwin.cxx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-05-24 23:28:06 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2014-05-24 23:45:01 +0200
commitfa97a8b91becb44c2bd56d91a603b76a16c34304 (patch)
treec524d0c26eb4193e63b9dc0e927a58a41d7c665b /vcl/source/window/openglwin.cxx
parent2d8941eea664031567f4d70f8347dc15befe8880 (diff)
some work on mouse scrolling and improved mouse dragging
Change-Id: I3265e26530183b2fc4fd7f67319f3dc124353c2e
Diffstat (limited to 'vcl/source/window/openglwin.cxx')
-rw-r--r--vcl/source/window/openglwin.cxx40
1 files changed, 29 insertions, 11 deletions
diff --git a/vcl/source/window/openglwin.cxx b/vcl/source/window/openglwin.cxx
index 9fd3935df210..455e455feaf9 100644
--- a/vcl/source/window/openglwin.cxx
+++ b/vcl/source/window/openglwin.cxx
@@ -57,24 +57,42 @@ void OpenGLWindow::Paint(const Rectangle&)
void OpenGLWindow::MouseButtonDown( const MouseEvent& rMEvt )
{
- Point aPoint = rMEvt.GetPosPixel();
+ maStartPoint = rMEvt.GetPosPixel();
+}
- Color aColor = GetPixel(aPoint);
- SAL_WARN("vcl.opengl", aColor.GetColor());
- if(mpRenderer)
- mpRenderer->clickedAt(aPoint);
+void OpenGLWindow::MouseButtonUp( const MouseEvent& rMEvt )
+{
+ Point aPoint = rMEvt.GetPosPixel();
+ if(aPoint == maStartPoint)
+ {
+ Color aColor = GetPixel(aPoint);
+ SAL_WARN("vcl.opengl", aColor.GetColor());
+ if(mpRenderer)
+ mpRenderer->clickedAt(aPoint);
+ }
+ else
+ {
+ mpRenderer->mouseDragMove(maStartPoint, aPoint,
+ rMEvt.GetButtons());
+ }
}
-void OpenGLWindow::MouseButtonUp( const MouseEvent& /* rMEvt */ )
+void OpenGLWindow::Command( const CommandEvent& rCEvt )
{
- // in case we need to track button state ourselves.
+ if(rCEvt.GetCommand() == COMMAND_WHEEL)
+ {
+ const CommandWheelData* pData = rCEvt.GetWheelData();
+ if(pData->GetMode() == COMMAND_WHEEL_SCROLL)
+ {
+ long nDelta = pData->GetDelta();
+ if(mpRenderer)
+ mpRenderer->scroll(nDelta);
+ }
+ }
}
-void OpenGLWindow::MouseMove( const MouseEvent& rMEvt )
+void OpenGLWindow::MouseMove( const MouseEvent& /*rMEvt*/ )
{
- if(rMEvt.GetButtons())
- mpRenderer->mouseDragMove(rMEvt.GetPosPixel(),
- rMEvt.GetButtons());
}
void OpenGLWindow::setRenderer(IRenderer* pRenderer)