#include <map>
#include <osg/Quat>
#include <osgGA/MatrixManipulator>
+#include <osgViewer/ViewerEventHandlers>
#include "fg_os.hxx"
bool getResizable() { return resizable; }
void setResizable(bool _resizable) { resizable = _resizable; }
- bool getUseEventModifiers() { return useEventModifiers; }
- void setUseEventModifiers(bool val) { useEventModifiers = val; }
protected:
osg::ref_ptr<osg::Node> _node;
fgIdleHandler idleHandler;
fgKeyHandler keyHandler;
fgMouseClickHandler mouseClickHandler;
fgMouseMotionHandler mouseMotionHandler;
+ osg::ref_ptr<osgViewer::StatsHandler> statsHandler;
+ osg::ref_ptr<osgGA::GUIEventAdapter> statsEvent;
+ int statsType;
int currentModifiers;
- // work-around for OSG bug
- int osgModifiers;
- typedef std::map<int, osgGA::GUIEventAdapter::ModKeyMask> KeyMaskMap;
- KeyMaskMap keyMaskMap;
std::map<int, int> numlockKeyMap;
osg::Vec3d position;
osg::Quat attitude;
// workaround for osgViewer double scroll events
bool scrollButtonPressed;
int release_keys[128];
- // When the viewer is embedded, the host toolkit may deliver a
- // valid event mask but not control keys.
- bool useEventModifiers;
+ void handleStats(osgGA::GUIActionAdapter& us);
};
#endif