// ***************************************************************************
//
//   Generated automatically by genwrapper.
//   Please DO NOT EDIT this file!
//
// ***************************************************************************

#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/Attributes>

#include <osg/ApplicationUsage>
#include <osgGA/GUIActionAdapter>
#include <osgGA/GUIEventAdapter>
#include <osgGA/GUIEventHandlerVisitor>
#include <osgProducer/OsgCameraGroup>
#include <osgProducer/ViewerEventHandler>

// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif

BEGIN_ENUM_REFLECTOR(osgProducer::ViewerEventHandler::FrameStatsMode)
	I_EnumLabel(osgProducer::ViewerEventHandler::NO_STATS);
	I_EnumLabel(osgProducer::ViewerEventHandler::FRAME_RATE);
	I_EnumLabel(osgProducer::ViewerEventHandler::CAMERA_STATS);
	I_EnumLabel(osgProducer::ViewerEventHandler::SCENE_STATS);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgProducer::ViewerEventHandler)
	I_BaseType(osgGA::GUIEventHandler);
	I_Constructor1(IN, osgProducer::OsgCameraGroup *, cg);
	I_Method2(bool, handle, IN, const osgGA::GUIEventAdapter &, ea, IN, osgGA::GUIActionAdapter &, aa);
	I_Method1(void, accept, IN, osgGA::GUIEventHandlerVisitor &, gehv);
	I_Method1(void, getUsage, IN, osg::ApplicationUsage &, usage);
	I_Method0(osgProducer::OsgCameraGroup *, getOsgCameraGroup);
	I_Method0(const osgProducer::OsgCameraGroup *, getOsgCameraGroup);
	I_Method1(void, setWriteNodeFileName, IN, const std::string &, filename);
	I_Method0(const std::string &, getWriteNodeFileName);
	I_Method1(void, setDisplayHelp, IN, bool, displayHelp);
	I_Method0(bool, getDisplayHelp);
	I_Method1(void, setFrameStatsMode, IN, osgProducer::ViewerEventHandler::FrameStatsMode, mode);
	I_Method0(osgProducer::ViewerEventHandler::FrameStatsMode, getFrameStatsMode);
	I_Method1(void, setWriteImageOnNextFrame, IN, bool, writeImageOnNextFrame);
	I_Method1(void, setWriteImageFileName, IN, const std::string &, filename);
	I_Method0(const std::string &, getWriteImageFileName);
	I_Property(bool, DisplayHelp);
	I_Property(osgProducer::ViewerEventHandler::FrameStatsMode, FrameStatsMode);
	I_ReadOnlyProperty(osgProducer::OsgCameraGroup *, OsgCameraGroup);
	I_Property(const std::string &, WriteImageFileName);
	I_WriteOnlyProperty(bool, WriteImageOnNextFrame);
	I_Property(const std::string &, WriteNodeFileName);
END_REFLECTOR

