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

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

#include <osgGA/EventQueue>
#include <osgGA/GUIEventAdapter>
#include <osgProducer/KeyboardMouseCallback>

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

TYPE_NAME_ALIAS(osgGA::EventQueue::Events, osgProducer::KeyboardMouseCallback::EventQueue);

BEGIN_OBJECT_REFLECTOR(osgProducer::KeyboardMouseCallback)
	I_ConstructorWithDefaults3(IN, Producer::KeyboardMouse *, keyboardMouse, , IN, bool &, done, , IN, bool, escapeKeySetsDone, true);
	I_Method1(void, mouseScroll, IN, Producer::KeyboardMouseCallback::ScrollingMotion, sm);
	I_Method2(void, mouseScroll2D, IN, float, x, IN, float, x);
	I_Method1(void, penPressure, IN, float, pressure);
	I_Method2(void, penProximity, IN, Producer::KeyboardMouseCallback::TabletPointerType, x, IN, bool, x);
	I_Method2(void, mouseMotion, IN, float, mx, IN, float, my);
	I_Method2(void, passiveMouseMotion, IN, float, mx, IN, float, my);
	I_Method2(void, mouseWarp, IN, float, mx, IN, float, my);
	I_Method3(void, buttonPress, IN, float, mx, IN, float, my, IN, unsigned int, mbutton);
	I_Method3(void, doubleButtonPress, IN, float, mx, IN, float, my, IN, unsigned int, mbutton);
	I_Method3(void, buttonRelease, IN, float, mx, IN, float, my, IN, unsigned int, mbutton);
	I_Method1(void, keyPress, IN, Producer::KeyCharacter, key);
	I_Method1(void, keyRelease, IN, Producer::KeyCharacter, key);
	I_Method1(void, specialKeyPress, IN, Producer::KeyCharacter, key);
	I_Method1(void, specialKeyRelease, IN, Producer::KeyCharacter, key);
	I_Method4(void, windowConfig, IN, int, x, IN, int, y, IN, unsigned int, width, IN, unsigned int, height);
	I_Method0(void, shutdown);
	I_Method1(void, setEscapeSetDone, IN, bool, esc);
	I_Method0(bool, getEscapeSetDone);
	I_Method1(void, setEventQueue, IN, osgGA::EventQueue *, eventQueue);
	I_Method0(osgGA::EventQueue *, getEventQueue);
	I_Method1(bool, takeEventQueue, IN, osgProducer::KeyboardMouseCallback::EventQueue &, queue);
	I_Method1(bool, copyEventQueue, IN, osgProducer::KeyboardMouseCallback::EventQueue &, queue);
	I_Method1(void, setEventQueue, IN, osgProducer::KeyboardMouseCallback::EventQueue &, queue);
	I_Method1(void, appendEventQueue, IN, osgProducer::KeyboardMouseCallback::EventQueue &, queue);
	I_Method0(bool, done);
	I_Method0(double, getTime);
	I_Method0(Producer::KeyboardMouse *, getKeyboardMouse);
	I_Method0(const Producer::KeyboardMouse *, getKeyboardMouse);
	I_Method0(osgGA::GUIEventAdapter *, createEventAdapter);
	I_Method0(void, updateWindowSize);
	I_Property(bool, EscapeSetDone);
	I_Property(osgGA::EventQueue *, EventQueue);
	I_ReadOnlyProperty(Producer::KeyboardMouse *, KeyboardMouse);
	I_ReadOnlyProperty(double, Time);
END_REFLECTOR

