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

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

#include <osg/BoundingBox>
#include <osg/CopyOp>
#include <osg/Object>
#include <osg/Quat>
#include <osg/State>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osgText/KerningType>
#include <osgText/String>
#include <osgText/TextBase>

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

BEGIN_ENUM_REFLECTOR(osgText::TextBase::CharacterSizeMode)
	I_DeclaringFile("osgText/TextBase");
	I_EnumLabel(osgText::TextBase::OBJECT_COORDS);
	I_EnumLabel(osgText::TextBase::SCREEN_COORDS);
	I_EnumLabel(osgText::TextBase::OBJECT_COORDS_WITH_MAXIMUM_SCREEN_SIZE_CAPPED_BY_FONT_HEIGHT);
END_REFLECTOR

BEGIN_ENUM_REFLECTOR(osgText::TextBase::AlignmentType)
	I_DeclaringFile("osgText/TextBase");
	I_EnumLabel(osgText::TextBase::LEFT_TOP);
	I_EnumLabel(osgText::TextBase::LEFT_CENTER);
	I_EnumLabel(osgText::TextBase::LEFT_BOTTOM);
	I_EnumLabel(osgText::TextBase::CENTER_TOP);
	I_EnumLabel(osgText::TextBase::CENTER_CENTER);
	I_EnumLabel(osgText::TextBase::CENTER_BOTTOM);
	I_EnumLabel(osgText::TextBase::RIGHT_TOP);
	I_EnumLabel(osgText::TextBase::RIGHT_CENTER);
	I_EnumLabel(osgText::TextBase::RIGHT_BOTTOM);
	I_EnumLabel(osgText::TextBase::LEFT_BASE_LINE);
	I_EnumLabel(osgText::TextBase::CENTER_BASE_LINE);
	I_EnumLabel(osgText::TextBase::RIGHT_BASE_LINE);
	I_EnumLabel(osgText::TextBase::LEFT_BOTTOM_BASE_LINE);
	I_EnumLabel(osgText::TextBase::CENTER_BOTTOM_BASE_LINE);
	I_EnumLabel(osgText::TextBase::RIGHT_BOTTOM_BASE_LINE);
	I_EnumLabel(osgText::TextBase::BASE_LINE);
END_REFLECTOR

BEGIN_ENUM_REFLECTOR(osgText::TextBase::AxisAlignment)
	I_DeclaringFile("osgText/TextBase");
	I_EnumLabel(osgText::TextBase::XY_PLANE);
	I_EnumLabel(osgText::TextBase::REVERSED_XY_PLANE);
	I_EnumLabel(osgText::TextBase::XZ_PLANE);
	I_EnumLabel(osgText::TextBase::REVERSED_XZ_PLANE);
	I_EnumLabel(osgText::TextBase::YZ_PLANE);
	I_EnumLabel(osgText::TextBase::REVERSED_YZ_PLANE);
	I_EnumLabel(osgText::TextBase::SCREEN);
	I_EnumLabel(osgText::TextBase::USER_DEFINED_ROTATION);
END_REFLECTOR

BEGIN_ENUM_REFLECTOR(osgText::TextBase::Layout)
	I_DeclaringFile("osgText/TextBase");
	I_EnumLabel(osgText::TextBase::LEFT_TO_RIGHT);
	I_EnumLabel(osgText::TextBase::RIGHT_TO_LEFT);
	I_EnumLabel(osgText::TextBase::VERTICAL);
END_REFLECTOR

BEGIN_ENUM_REFLECTOR(osgText::TextBase::DrawModeMask)
	I_DeclaringFile("osgText/TextBase");
	I_EnumLabel(osgText::TextBase::TEXT);
	I_EnumLabel(osgText::TextBase::BOUNDINGBOX);
	I_EnumLabel(osgText::TextBase::FILLEDBOUNDINGBOX);
	I_EnumLabel(osgText::TextBase::ALIGNMENT);
END_REFLECTOR

BEGIN_ABSTRACT_OBJECT_REFLECTOR(osgText::TextBase)
	I_DeclaringFile("osgText/TextBase");
	I_BaseType(osg::Drawable);
	I_Constructor0(____TextBase,
	               "",
	               "");
	I_ConstructorWithDefaults2(IN, const osgText::TextBase &, text, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                           ____TextBase__C5_TextBase_R1__C5_osg_CopyOp_R1,
	                           "",
	                           "");
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
	          Properties::VIRTUAL,
	          __bool__isSameKindAs__C5_osg_Object_P1,
	          "",
	          "");
	I_Method0(const char *, className,
	          Properties::VIRTUAL,
	          __C5_char_P1__className,
	          "return the name of the object's class type. ",
	          "Must be defined by derived classes. ");
	I_Method0(const char *, libraryName,
	          Properties::VIRTUAL,
	          __C5_char_P1__libraryName,
	          "return the name of the object's library. ",
	          "Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
	I_Method2(void, setFontResolution, IN, unsigned int, width, IN, unsigned int, height,
	          Properties::NON_VIRTUAL,
	          __void__setFontResolution__unsigned_int__unsigned_int,
	          "Set the Font reference width and height resolution in texels. ",
	          "Note, the size may not be supported by current font, the closest supported font size will be selected. ");
	I_Method0(unsigned int, getFontWidth,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getFontWidth,
	          "",
	          "");
	I_Method0(unsigned int, getFontHeight,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getFontHeight,
	          "",
	          "");
	I_Method1(void, setText, IN, const osgText::String &, text,
	          Properties::NON_VIRTUAL,
	          __void__setText__C5_String_R1,
	          "Set the text using a osgText::String. ",
	          "");
	I_Method1(void, setText, IN, const std::string &, text,
	          Properties::NON_VIRTUAL,
	          __void__setText__C5_std_string_R1,
	          "Set the text using a std::string, which is converted to an internal TextString. ",
	          "");
	I_Method2(void, setText, IN, const std::string &, text, IN, osgText::String::Encoding, encoding,
	          Properties::NON_VIRTUAL,
	          __void__setText__C5_std_string_R1__String_Encoding,
	          "Set the text using a Unicode encoded std::string, which is converted to an internal TextString. ",
	          "The encoding parameter specificies which Unicode encodeding is used in the std::string. ");
	I_Method1(void, setText, IN, const wchar_t *, text,
	          Properties::NON_VIRTUAL,
	          __void__setText__C5_wchar_t_P1,
	          "Set the text using a wchar_t string, which is converted to an internal TextString. ",
	          "");
	I_Method0(osgText::String &, getText,
	          Properties::NON_VIRTUAL,
	          __String_R1__getText,
	          "Get the text string. ",
	          "Note, if you modify the string you must call Text::update() for the internal glyph reprentation to be updated. ");
	I_Method0(const osgText::String &, getText,
	          Properties::NON_VIRTUAL,
	          __C5_String_R1__getText,
	          "Get the const text string. ",
	          "");
	I_Method0(void, update,
	          Properties::NON_VIRTUAL,
	          __void__update,
	          "update internal glyph respresentation used for rendering, and bounding volume. ",
	          "");
	I_MethodWithDefaults2(void, setCharacterSize, IN, float, height, , IN, float, aspectRatio, 1.0f,
	                      Properties::NON_VIRTUAL,
	                      __void__setCharacterSize__float__float,
	                      "Set the rendered character size in object coordinates. ",
	                      "");
	I_Method0(float, getCharacterHeight,
	          Properties::NON_VIRTUAL,
	          __float__getCharacterHeight,
	          "",
	          "");
	I_Method0(float, getCharacterAspectRatio,
	          Properties::NON_VIRTUAL,
	          __float__getCharacterAspectRatio,
	          "",
	          "");
	I_Method1(void, setCharacterSizeMode, IN, osgText::TextBase::CharacterSizeMode, mode,
	          Properties::NON_VIRTUAL,
	          __void__setCharacterSizeMode__CharacterSizeMode,
	          "Set how the CharacterSize value relates to the final rendered character. ",
	          "");
	I_Method0(osgText::TextBase::CharacterSizeMode, getCharacterSizeMode,
	          Properties::NON_VIRTUAL,
	          __CharacterSizeMode__getCharacterSizeMode,
	          "Get the CharacterSizeMode. ",
	          "");
	I_Method1(void, setMaximumWidth, IN, float, maximumWidth,
	          Properties::NON_VIRTUAL,
	          __void__setMaximumWidth__float,
	          "Set the maximum width of the text box. ",
	          "With horizontal layouts any characters which do not fit are wrapped around. 0 or negative values indicate that no maximum width is set, lines can be as long as they need be to fit thre required text ");
	I_Method0(float, getMaximumWidth,
	          Properties::NON_VIRTUAL,
	          __float__getMaximumWidth,
	          "Get the maximim width of the text box. ",
	          "");
	I_Method1(void, setMaximumHeight, IN, float, maximumHeight,
	          Properties::NON_VIRTUAL,
	          __void__setMaximumHeight__float,
	          "Set the maximum height of the text box. ",
	          "With horizontal layouts any characters which do not fit are wrapped around. 0 or negative values indicate that no maximum height is set, lines can be as long as they need be to fit the required text ");
	I_Method0(float, getMaximumHeight,
	          Properties::NON_VIRTUAL,
	          __float__getMaximumHeight,
	          "Get the maximum height of the text box. ",
	          "");
	I_Method1(void, setLineSpacing, IN, float, lineSpacing,
	          Properties::NON_VIRTUAL,
	          __void__setLineSpacing__float,
	          "Set the line spacing of the text box, given as a percentage of the character height. ",
	          "The default value is 0 for backward compatibility. For longer paragraphs of text, a value of at least 25% (i.e. set line spacing to 0.25) is recommended. ");
	I_Method0(float, getLineSpacing,
	          Properties::NON_VIRTUAL,
	          __float__getLineSpacing,
	          "Get the line spacing of the text box. ",
	          "");
	I_Method1(void, setPosition, IN, const osg::Vec3 &, pos,
	          Properties::NON_VIRTUAL,
	          __void__setPosition__C5_osg_Vec3_R1,
	          "Set the position of text. ",
	          "");
	I_Method0(const osg::Vec3 &, getPosition,
	          Properties::NON_VIRTUAL,
	          __C5_osg_Vec3_R1__getPosition,
	          "Get the position of text. ",
	          "");
	I_Method1(void, setAlignment, IN, osgText::TextBase::AlignmentType, alignment,
	          Properties::NON_VIRTUAL,
	          __void__setAlignment__AlignmentType,
	          "",
	          "");
	I_Method0(osgText::TextBase::AlignmentType, getAlignment,
	          Properties::NON_VIRTUAL,
	          __AlignmentType__getAlignment,
	          "",
	          "");
	I_Method1(void, setAxisAlignment, IN, osgText::TextBase::AxisAlignment, axis,
	          Properties::NON_VIRTUAL,
	          __void__setAxisAlignment__AxisAlignment,
	          "",
	          "");
	I_Method0(osgText::TextBase::AxisAlignment, getAxisAlignment,
	          Properties::NON_VIRTUAL,
	          __AxisAlignment__getAxisAlignment,
	          "",
	          "");
	I_Method1(void, setRotation, IN, const osg::Quat &, quat,
	          Properties::NON_VIRTUAL,
	          __void__setRotation__C5_osg_Quat_R1,
	          "",
	          "");
	I_Method0(const osg::Quat &, getRotation,
	          Properties::NON_VIRTUAL,
	          __C5_osg_Quat_R1__getRotation,
	          "",
	          "");
	I_Method1(void, setAutoRotateToScreen, IN, bool, autoRotateToScreen,
	          Properties::NON_VIRTUAL,
	          __void__setAutoRotateToScreen__bool,
	          "",
	          "");
	I_Method0(bool, getAutoRotateToScreen,
	          Properties::NON_VIRTUAL,
	          __bool__getAutoRotateToScreen,
	          "",
	          "");
	I_Method1(void, setLayout, IN, osgText::TextBase::Layout, layout,
	          Properties::NON_VIRTUAL,
	          __void__setLayout__Layout,
	          "",
	          "");
	I_Method0(osgText::TextBase::Layout, getLayout,
	          Properties::NON_VIRTUAL,
	          __Layout__getLayout,
	          "",
	          "");
	I_Method1(void, setDrawMode, IN, unsigned int, mode,
	          Properties::NON_VIRTUAL,
	          __void__setDrawMode__unsigned_int,
	          "",
	          "");
	I_Method0(unsigned int, getDrawMode,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getDrawMode,
	          "",
	          "");
	I_Method1(void, setBoundingBoxMargin, IN, float, margin,
	          Properties::NON_VIRTUAL,
	          __void__setBoundingBoxMargin__float,
	          "",
	          "");
	I_Method0(float, getBoundingBoxMargin,
	          Properties::NON_VIRTUAL,
	          __float__getBoundingBoxMargin,
	          "",
	          "");
	I_Method1(void, setBoundingBoxColor, IN, const osg::Vec4 &, color,
	          Properties::NON_VIRTUAL,
	          __void__setBoundingBoxColor__C5_osg_Vec4_R1,
	          "",
	          "");
	I_Method0(const osg::Vec4 &, getBoundingBoxColor,
	          Properties::NON_VIRTUAL,
	          __C5_osg_Vec4_R1__getBoundingBoxColor,
	          "",
	          "");
	I_Method1(void, setKerningType, IN, osgText::KerningType, kerningType,
	          Properties::NON_VIRTUAL,
	          __void__setKerningType__KerningType,
	          "",
	          "");
	I_Method0(osgText::KerningType, getKerningType,
	          Properties::NON_VIRTUAL,
	          __KerningType__getKerningType,
	          "",
	          "");
	I_Method0(unsigned int, getLineCount,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getLineCount,
	          "Get the number of wrapped lines - only valid after computeGlyphRepresentation() has been called, returns 0 otherwise. ",
	          "");
	I_Method1(void, setThreadSafeRefUnref, IN, bool, threadSafe,
	          Properties::VIRTUAL,
	          __void__setThreadSafeRefUnref__bool,
	          "Set whether to use a mutex to ensure ref() and unref() are thread safe. ",
	          "");
	I_Method1(void, resizeGLObjectBuffers, IN, unsigned int, maxSize,
	          Properties::VIRTUAL,
	          __void__resizeGLObjectBuffers__unsigned_int,
	          "Resize any per context GLObject buffers to specified size. ",
	          "");
	I_MethodWithDefaults1(void, releaseGLObjects, IN, osg::State *, state, 0,
	                      Properties::VIRTUAL,
	                      __void__releaseGLObjects__osg_State_P1,
	                      "If State is non-zero, this function releases OpenGL objects for the specified graphics context. ",
	                      "Otherwise, releases OpenGL objexts for all graphics contexts. ");
	I_Method0(osg::BoundingBox, computeBound,
	          Properties::VIRTUAL,
	          __osg_BoundingBox__computeBound,
	          "Compute the bounding box around Drawables's geometry. ",
	          "");
	I_ProtectedMethod3(void, positionCursor, IN, const osg::Vec2 &, endOfLine_coords, IN, osg::Vec2 &, cursor, IN, unsigned int, linelength,
	                   Properties::NON_VIRTUAL,
	                   Properties::NON_CONST,
	                   __void__positionCursor__C5_osg_Vec2_R1__osg_Vec2_R1__unsigned_int,
	                   "",
	                   "");
	I_ProtectedMethod0(void, computePositions,
	                   Properties::NON_VIRTUAL,
	                   Properties::NON_CONST,
	                   __void__computePositions,
	                   "",
	                   "");
	I_ProtectedMethod3(osgText::String::iterator, computeLastCharacterOnLine, IN, osg::Vec2 &, cursor, IN, osgText::String::iterator, first, IN, osgText::String::iterator, last,
	                   Properties::NON_VIRTUAL,
	                   Properties::NON_CONST,
	                   __String_iterator__computeLastCharacterOnLine__osg_Vec2_R1__String_iterator__String_iterator,
	                   "",
	                   "");
	I_ProtectedMethod1(void, computePositions, IN, unsigned int, contextID,
	                   Properties::PURE_VIRTUAL,
	                   Properties::CONST,
	                   __void__computePositions__unsigned_int,
	                   "",
	                   "");
	I_ProtectedMethod0(void, computeGlyphRepresentation,
	                   Properties::PURE_VIRTUAL,
	                   Properties::NON_CONST,
	                   __void__computeGlyphRepresentation,
	                   "",
	                   "");
	I_SimpleProperty(osgText::TextBase::AlignmentType, Alignment, 
	                 __AlignmentType__getAlignment, 
	                 __void__setAlignment__AlignmentType);
	I_SimpleProperty(bool, AutoRotateToScreen, 
	                 __bool__getAutoRotateToScreen, 
	                 __void__setAutoRotateToScreen__bool);
	I_SimpleProperty(osgText::TextBase::AxisAlignment, AxisAlignment, 
	                 __AxisAlignment__getAxisAlignment, 
	                 __void__setAxisAlignment__AxisAlignment);
	I_SimpleProperty(const osg::Vec4 &, BoundingBoxColor, 
	                 __C5_osg_Vec4_R1__getBoundingBoxColor, 
	                 __void__setBoundingBoxColor__C5_osg_Vec4_R1);
	I_SimpleProperty(float, BoundingBoxMargin, 
	                 __float__getBoundingBoxMargin, 
	                 __void__setBoundingBoxMargin__float);
	I_SimpleProperty(float, CharacterAspectRatio, 
	                 __float__getCharacterAspectRatio, 
	                 0);
	I_SimpleProperty(float, CharacterHeight, 
	                 __float__getCharacterHeight, 
	                 0);
	I_SimpleProperty(osgText::TextBase::CharacterSizeMode, CharacterSizeMode, 
	                 __CharacterSizeMode__getCharacterSizeMode, 
	                 __void__setCharacterSizeMode__CharacterSizeMode);
	I_SimpleProperty(unsigned int, DrawMode, 
	                 __unsigned_int__getDrawMode, 
	                 __void__setDrawMode__unsigned_int);
	I_SimpleProperty(unsigned int, FontHeight, 
	                 __unsigned_int__getFontHeight, 
	                 0);
	I_SimpleProperty(unsigned int, FontWidth, 
	                 __unsigned_int__getFontWidth, 
	                 0);
	I_SimpleProperty(osgText::KerningType, KerningType, 
	                 __KerningType__getKerningType, 
	                 __void__setKerningType__KerningType);
	I_SimpleProperty(osgText::TextBase::Layout, Layout, 
	                 __Layout__getLayout, 
	                 __void__setLayout__Layout);
	I_SimpleProperty(unsigned int, LineCount, 
	                 __unsigned_int__getLineCount, 
	                 0);
	I_SimpleProperty(float, LineSpacing, 
	                 __float__getLineSpacing, 
	                 __void__setLineSpacing__float);
	I_SimpleProperty(float, MaximumHeight, 
	                 __float__getMaximumHeight, 
	                 __void__setMaximumHeight__float);
	I_SimpleProperty(float, MaximumWidth, 
	                 __float__getMaximumWidth, 
	                 __void__setMaximumWidth__float);
	I_SimpleProperty(const osg::Vec3 &, Position, 
	                 __C5_osg_Vec3_R1__getPosition, 
	                 __void__setPosition__C5_osg_Vec3_R1);
	I_SimpleProperty(const osg::Quat &, Rotation, 
	                 __C5_osg_Quat_R1__getRotation, 
	                 __void__setRotation__C5_osg_Quat_R1);
	I_SimpleProperty(const osgText::String &, Text, 
	                 __C5_String_R1__getText, 
	                 __void__setText__C5_String_R1);
	I_SimpleProperty(bool, ThreadSafeRefUnref, 
	                 0, 
	                 __void__setThreadSafeRefUnref__bool);
END_REFLECTOR

