From 13aa4696283866c569139a22a9cc7ae295a8cdd1 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sat, 18 Jan 2003 10:17:28 +0000 Subject: [PATCH] Updated the KeyboardMouseCallback so this it takes into account the the new passiveMouseMotion support in Producer. --- include/osgProducer/KeyboardMouseCallback | 2 ++ src/osgProducer/KeyboardMouseCallback.cpp | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/include/osgProducer/KeyboardMouseCallback b/include/osgProducer/KeyboardMouseCallback index d9bb69655..f06e5d200 100644 --- a/include/osgProducer/KeyboardMouseCallback +++ b/include/osgProducer/KeyboardMouseCallback @@ -35,6 +35,8 @@ class OSGPRODUCER_EXPORT KeyboardMouseCallback : public Producer::KeyboardMouseC virtual void mouseMotion( float mx, float my); + virtual void passiveMouseMotion( float mx, float my); + virtual void buttonPress( float mx, float my, unsigned int mbutton ); virtual void buttonRelease( float mx, float my, unsigned int mbutton ); diff --git a/src/osgProducer/KeyboardMouseCallback.cpp b/src/osgProducer/KeyboardMouseCallback.cpp index 75664843c..2a778dfbd 100644 --- a/src/osgProducer/KeyboardMouseCallback.cpp +++ b/src/osgProducer/KeyboardMouseCallback.cpp @@ -60,6 +60,20 @@ void KeyboardMouseCallback::mouseMotion( float mx, float my) } +void KeyboardMouseCallback::passiveMouseMotion( float mx, float my) +{ + _mx = mx; + _my = my; + + osg::ref_ptr event = new EventAdapter; + event->adaptMouseMotion(getTime(),mx,my); + + _eventQueueMutex.lock(); + _eventQueue.push_back(event); + _eventQueueMutex.unlock(); + +} + void KeyboardMouseCallback::buttonPress( float mx, float my, unsigned int mbutton ) { _mx = mx;