From Eric Sokolowsky, support for mouse scroll wheel in osgGA/osgProducer.

This commit is contained in:
Robert Osfield
2003-05-07 11:13:49 +00:00
parent aa0d5fc52e
commit ba8bf1e94c
5 changed files with 33 additions and 1 deletions

View File

@@ -68,6 +68,20 @@ void EventAdapter::adaptResize(double time, float Xmin, float Ymin, float Xmax,
copyStaticVariables();
}
void EventAdapter::adaptMouseScroll(double time, Producer::KeyboardMouseCallback::ScrollingMotion sm)
{
_time = time;
if (sm == Producer::KeyboardMouseCallback::ScrollUp)
_eventType = SCROLLUP;
else if (sm == Producer::KeyboardMouseCallback::ScrollDown)
_eventType = SCROLLDOWN;
else
_eventType = NONE;
copyStaticVariables();
}
void EventAdapter::adaptButtonPress(double time,float x, float y, unsigned int button)
{
_time = time;

View File

@@ -5,6 +5,16 @@
using namespace osgProducer;
void KeyboardMouseCallback::mouseScroll( Producer::KeyboardMouseCallback::ScrollingMotion sm )
{
osg::ref_ptr<EventAdapter> event = createEventAdapter();
event->adaptMouseScroll(getTime(), sm);
_eventQueueMutex.lock();
_eventQueue.push_back(event);
_eventQueueMutex.unlock();
}
void KeyboardMouseCallback::buttonPress( float mx, float my, unsigned int mbutton )
{
_mx = mx;