From b8b105b54e3ce90f5909056b44e8d36f2949ec70 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 4 Apr 2018 13:40:06 +0100 Subject: [PATCH] Added EventHandler to report key and mouse events for debugging purposes --- .../osgcompositeviewer/osgcompositeviewer.cpp | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/examples/osgcompositeviewer/osgcompositeviewer.cpp b/examples/osgcompositeviewer/osgcompositeviewer.cpp index 4a2394f5c..7fe5184ce 100644 --- a/examples/osgcompositeviewer/osgcompositeviewer.cpp +++ b/examples/osgcompositeviewer/osgcompositeviewer.cpp @@ -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(&aa); + if (!view) return false; + + switch(ea.getEventType()) + { + case(osgGA::GUIEventAdapter::KEYDOWN): + case(osgGA::GUIEventAdapter::KEYUP): + OSG_NOTICE<<"View "<setStateSet(view->getCamera()->getOrCreateStateSet()); view->addEventHandler( statesetManipulator.get() ); + + view->addEventHandler( new EventHandler()); } // view two @@ -234,6 +272,8 @@ int main( int argc, char **argv ) // add the handler for doing the picking view->addEventHandler(new PickHandler()); + + view->addEventHandler( new EventHandler()); } }