Added EventHandler to report key and mouse events for debugging purposes
This commit is contained in:
parent
fdc7d225a0
commit
38534c453a
@ -125,6 +125,42 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class EventHandler : public osgGA::GUIEventHandler {
|
||||||
|
public:
|
||||||
|
|
||||||
|
EventHandler() {}
|
||||||
|
|
||||||
|
~EventHandler() {}
|
||||||
|
|
||||||
|
bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa)
|
||||||
|
{
|
||||||
|
osgViewer::View* view = dynamic_cast<osgViewer::View*>(&aa);
|
||||||
|
if (!view) return false;
|
||||||
|
|
||||||
|
switch(ea.getEventType())
|
||||||
|
{
|
||||||
|
case(osgGA::GUIEventAdapter::KEYDOWN):
|
||||||
|
case(osgGA::GUIEventAdapter::KEYUP):
|
||||||
|
OSG_NOTICE<<"View "<<view<<", name="<<view->getName()<<" keyboard event "<<ea.getEventType()<<" key="<<ea.getKey()<<" ea.getX()="<<ea.getX()<<" ea.getY()="<<ea.getY()<<std::endl;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case(osgGA::GUIEventAdapter::MOVE):
|
||||||
|
case(osgGA::GUIEventAdapter::DRAG):
|
||||||
|
case(osgGA::GUIEventAdapter::PUSH):
|
||||||
|
case(osgGA::GUIEventAdapter::RELEASE):
|
||||||
|
OSG_NOTICE<<"View "<<view<<", name="<<view->getName()<<" mouse event "<<ea.getEventType()<<" ea.getX()="<<ea.getX()<<" ea.getY()="<<ea.getY()<<std::endl;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
// OSG_NOTICE<<"View "<<view<<", name="<<view->getName()<<" general event "<<ea.getEventType()<<std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
int main( int argc, char **argv )
|
int main( int argc, char **argv )
|
||||||
{
|
{
|
||||||
@ -217,6 +253,8 @@ int main( int argc, char **argv )
|
|||||||
statesetManipulator->setStateSet(view->getCamera()->getOrCreateStateSet());
|
statesetManipulator->setStateSet(view->getCamera()->getOrCreateStateSet());
|
||||||
|
|
||||||
view->addEventHandler( statesetManipulator.get() );
|
view->addEventHandler( statesetManipulator.get() );
|
||||||
|
|
||||||
|
view->addEventHandler( new EventHandler());
|
||||||
}
|
}
|
||||||
|
|
||||||
// view two
|
// view two
|
||||||
@ -234,6 +272,8 @@ int main( int argc, char **argv )
|
|||||||
|
|
||||||
// add the handler for doing the picking
|
// add the handler for doing the picking
|
||||||
view->addEventHandler(new PickHandler());
|
view->addEventHandler(new PickHandler());
|
||||||
|
|
||||||
|
view->addEventHandler( new EventHandler());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user