// This file has been generated by Py++.

#include "boost/python.hpp"
#include "generators/include/python_CEGUI.h"
#include "RenderedStringTextComponent.pypp.hpp"

namespace bp = boost::python;

struct RenderedStringTextComponent_wrapper : CEGUI::RenderedStringTextComponent, bp::wrapper< CEGUI::RenderedStringTextComponent > {

    RenderedStringTextComponent_wrapper(CEGUI::RenderedStringTextComponent const & arg )
    : CEGUI::RenderedStringTextComponent( arg )
      , bp::wrapper< CEGUI::RenderedStringTextComponent >(){
        // copy constructor
        
    }

    RenderedStringTextComponent_wrapper( )
    : CEGUI::RenderedStringTextComponent( )
      , bp::wrapper< CEGUI::RenderedStringTextComponent >(){
        // null constructor
    
    }

    RenderedStringTextComponent_wrapper(::CEGUI::String const & text )
    : CEGUI::RenderedStringTextComponent( boost::ref(text) )
      , bp::wrapper< CEGUI::RenderedStringTextComponent >(){
        // constructor
    
    }

    RenderedStringTextComponent_wrapper(::CEGUI::String const & text, ::CEGUI::String const & font_name )
    : CEGUI::RenderedStringTextComponent( boost::ref(text), boost::ref(font_name) )
      , bp::wrapper< CEGUI::RenderedStringTextComponent >(){
        // constructor
    
    }

    RenderedStringTextComponent_wrapper(::CEGUI::String const & text, ::CEGUI::Font const * font )
    : CEGUI::RenderedStringTextComponent( boost::ref(text), boost::python::ptr(font) )
      , bp::wrapper< CEGUI::RenderedStringTextComponent >(){
        // constructor
    
    }

    virtual bool canSplit(  ) const  {
        if( bp::override func_canSplit = this->get_override( "canSplit" ) )
            return func_canSplit(  );
        else{
            return this->CEGUI::RenderedStringTextComponent::canSplit(  );
        }
    }
    
    bool default_canSplit(  ) const  {
        return CEGUI::RenderedStringTextComponent::canSplit( );
    }

    virtual ::CEGUI::RenderedStringTextComponent * clone(  ) const  {
        if( bp::override func_clone = this->get_override( "clone" ) )
            return func_clone(  );
        else{
            return this->CEGUI::RenderedStringTextComponent::clone(  );
        }
    }
    
    ::CEGUI::RenderedStringTextComponent * default_clone(  ) const  {
        return CEGUI::RenderedStringTextComponent::clone( );
    }

    virtual void draw( ::CEGUI::Window const * ref_wnd, ::CEGUI::GeometryBuffer & buffer, ::CEGUI::Vector2f const & position, ::CEGUI::ColourRect const * mod_colours, ::CEGUI::Rectf const * clip_rect, float const vertical_space, float const space_extra ) const  {
        if( bp::override func_draw = this->get_override( "draw" ) )
            func_draw( boost::python::ptr(ref_wnd), boost::ref(buffer), boost::ref(position), boost::python::ptr(mod_colours), boost::python::ptr(clip_rect), vertical_space, space_extra );
        else{
            this->CEGUI::RenderedStringTextComponent::draw( boost::python::ptr(ref_wnd), boost::ref(buffer), boost::ref(position), boost::python::ptr(mod_colours), boost::python::ptr(clip_rect), vertical_space, space_extra );
        }
    }
    
    void default_draw( ::CEGUI::Window const * ref_wnd, ::CEGUI::GeometryBuffer & buffer, ::CEGUI::Vector2f const & position, ::CEGUI::ColourRect const * mod_colours, ::CEGUI::Rectf const * clip_rect, float const vertical_space, float const space_extra ) const  {
        CEGUI::RenderedStringTextComponent::draw( boost::python::ptr(ref_wnd), boost::ref(buffer), boost::ref(position), boost::python::ptr(mod_colours), boost::python::ptr(clip_rect), vertical_space, space_extra );
    }

    ::CEGUI::Font const * getEffectiveFont( ::CEGUI::Window const * window ) const {
        return CEGUI::RenderedStringTextComponent::getEffectiveFont( boost::python::ptr(window) );
    }

    static ::size_t getNextTokenLength( ::CEGUI::String const & text, ::size_t start_idx ){
        return CEGUI::RenderedStringTextComponent::getNextTokenLength( boost::ref(text), start_idx );
    }

    virtual ::CEGUI::Sizef getPixelSize( ::CEGUI::Window const * ref_wnd ) const  {
        if( bp::override func_getPixelSize = this->get_override( "getPixelSize" ) )
            return func_getPixelSize( boost::python::ptr(ref_wnd) );
        else{
            return this->CEGUI::RenderedStringTextComponent::getPixelSize( boost::python::ptr(ref_wnd) );
        }
    }
    
    ::CEGUI::Sizef default_getPixelSize( ::CEGUI::Window const * ref_wnd ) const  {
        return CEGUI::RenderedStringTextComponent::getPixelSize( boost::python::ptr(ref_wnd) );
    }

    virtual ::size_t getSpaceCount(  ) const  {
        if( bp::override func_getSpaceCount = this->get_override( "getSpaceCount" ) )
            return func_getSpaceCount(  );
        else{
            return this->CEGUI::RenderedStringTextComponent::getSpaceCount(  );
        }
    }
    
    ::size_t default_getSpaceCount(  ) const  {
        return CEGUI::RenderedStringTextComponent::getSpaceCount( );
    }

    virtual void setSelection( ::CEGUI::Window const * ref_wnd, float const start, float const end ) {
        if( bp::override func_setSelection = this->get_override( "setSelection" ) )
            func_setSelection( boost::python::ptr(ref_wnd), start, end );
        else{
            this->CEGUI::RenderedStringTextComponent::setSelection( boost::python::ptr(ref_wnd), start, end );
        }
    }
    
    void default_setSelection( ::CEGUI::Window const * ref_wnd, float const start, float const end ) {
        CEGUI::RenderedStringTextComponent::setSelection( boost::python::ptr(ref_wnd), start, end );
    }

    virtual ::CEGUI::RenderedStringTextComponent * split( ::CEGUI::Window const * ref_wnd, float split_point, bool first_component ) {
        if( bp::override func_split = this->get_override( "split" ) )
            return func_split( boost::python::ptr(ref_wnd), split_point, first_component );
        else{
            return this->CEGUI::RenderedStringTextComponent::split( boost::python::ptr(ref_wnd), split_point, first_component );
        }
    }
    
    ::CEGUI::RenderedStringTextComponent * default_split( ::CEGUI::Window const * ref_wnd, float split_point, bool first_component ) {
        return CEGUI::RenderedStringTextComponent::split( boost::python::ptr(ref_wnd), split_point, first_component );
    }

};

void register_RenderedStringTextComponent_class(){

    { //::CEGUI::RenderedStringTextComponent
        typedef bp::class_< RenderedStringTextComponent_wrapper, bp::bases< CEGUI::RenderedStringComponent > > RenderedStringTextComponent_exposer_t;
        RenderedStringTextComponent_exposer_t RenderedStringTextComponent_exposer = RenderedStringTextComponent_exposer_t( "RenderedStringTextComponent", "! String component that draws an image.\n", bp::init< >("! Constructor\n") );
        bp::scope RenderedStringTextComponent_scope( RenderedStringTextComponent_exposer );
        RenderedStringTextComponent_exposer.def( bp::init< CEGUI::String const & >(( bp::arg("text") ), "! Constructor\n") );
        bp::implicitly_convertible< CEGUI::String const &, CEGUI::RenderedStringTextComponent >();
        RenderedStringTextComponent_exposer.def( bp::init< CEGUI::String const &, CEGUI::String const & >(( bp::arg("text"), bp::arg("font_name") )) );
        RenderedStringTextComponent_exposer.def( bp::init< CEGUI::String const &, CEGUI::Font const * >(( bp::arg("text"), bp::arg("font") )) );
        { //::CEGUI::RenderedStringTextComponent::canSplit
        
            typedef bool ( ::CEGUI::RenderedStringTextComponent::*canSplit_function_type )(  ) const;
            typedef bool ( RenderedStringTextComponent_wrapper::*default_canSplit_function_type )(  ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "canSplit"
                , canSplit_function_type(&::CEGUI::RenderedStringTextComponent::canSplit)
                , default_canSplit_function_type(&RenderedStringTextComponent_wrapper::default_canSplit) );
        
        }
        { //::CEGUI::RenderedStringTextComponent::clone
        
            typedef ::CEGUI::RenderedStringTextComponent * ( ::CEGUI::RenderedStringTextComponent::*clone_function_type )(  ) const;
            typedef ::CEGUI::RenderedStringTextComponent * ( RenderedStringTextComponent_wrapper::*default_clone_function_type )(  ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "clone"
                , clone_function_type(&::CEGUI::RenderedStringTextComponent::clone)
                , default_clone_function_type(&RenderedStringTextComponent_wrapper::default_clone)
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::RenderedStringTextComponent::draw
        
            typedef void ( ::CEGUI::RenderedStringTextComponent::*draw_function_type )( ::CEGUI::Window const *,::CEGUI::GeometryBuffer &,::CEGUI::Vector2f const &,::CEGUI::ColourRect const *,::CEGUI::Rectf const *,float const,float const ) const;
            typedef void ( RenderedStringTextComponent_wrapper::*default_draw_function_type )( ::CEGUI::Window const *,::CEGUI::GeometryBuffer &,::CEGUI::Vector2f const &,::CEGUI::ColourRect const *,::CEGUI::Rectf const *,float const,float const ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "draw"
                , draw_function_type(&::CEGUI::RenderedStringTextComponent::draw)
                , default_draw_function_type(&RenderedStringTextComponent_wrapper::default_draw)
                , ( bp::arg("ref_wnd"), bp::arg("buffer"), bp::arg("position"), bp::arg("mod_colours"), bp::arg("clip_rect"), bp::arg("vertical_space"), bp::arg("space_extra") ) );
        
        }
        { //::CEGUI::RenderedStringTextComponent::getColours
        
            typedef ::CEGUI::ColourRect const & ( ::CEGUI::RenderedStringTextComponent::*getColours_function_type )(  ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "getColours"
                , getColours_function_type( &::CEGUI::RenderedStringTextComponent::getColours )
                , bp::return_value_policy< bp::copy_const_reference >()
                , "! Set the colour values used when rendering this component.\n\
            ! return the ColourRect object used when drawing this component.\n" );
        
        }
        { //::CEGUI::RenderedStringTextComponent::getEffectiveFont
        
            typedef ::CEGUI::Font const * ( RenderedStringTextComponent_wrapper::*getEffectiveFont_function_type )( ::CEGUI::Window const * ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "getEffectiveFont"
                , getEffectiveFont_function_type( &RenderedStringTextComponent_wrapper::getEffectiveFont )
                , ( bp::arg("window") )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::RenderedStringTextComponent::getFont
        
            typedef ::CEGUI::Font const * ( ::CEGUI::RenderedStringTextComponent::*getFont_function_type )(  ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "getFont"
                , getFont_function_type( &::CEGUI::RenderedStringTextComponent::getFont )
                , bp::return_value_policy< bp::reference_existing_object >()
                , "! set the font to use when rendering the text.\n\
            ! return the font set to be used.  If 0 the default font will be used.\n" );
        
        }
        { //::CEGUI::RenderedStringTextComponent::getNextTokenLength
        
            typedef ::size_t ( *getNextTokenLength_function_type )( ::CEGUI::String const &,::size_t );
            
            RenderedStringTextComponent_exposer.def( 
                "getNextTokenLength"
                , getNextTokenLength_function_type( &RenderedStringTextComponent_wrapper::getNextTokenLength )
                , ( bp::arg("text"), bp::arg("start_idx") ) );
        
        }
        { //::CEGUI::RenderedStringTextComponent::getPixelSize
        
            typedef ::CEGUI::Sizef ( ::CEGUI::RenderedStringTextComponent::*getPixelSize_function_type )( ::CEGUI::Window const * ) const;
            typedef ::CEGUI::Sizef ( RenderedStringTextComponent_wrapper::*default_getPixelSize_function_type )( ::CEGUI::Window const * ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "getPixelSize"
                , getPixelSize_function_type(&::CEGUI::RenderedStringTextComponent::getPixelSize)
                , default_getPixelSize_function_type(&RenderedStringTextComponent_wrapper::default_getPixelSize)
                , ( bp::arg("ref_wnd") ) );
        
        }
        { //::CEGUI::RenderedStringTextComponent::getSpaceCount
        
            typedef ::size_t ( ::CEGUI::RenderedStringTextComponent::*getSpaceCount_function_type )(  ) const;
            typedef ::size_t ( RenderedStringTextComponent_wrapper::*default_getSpaceCount_function_type )(  ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "getSpaceCount"
                , getSpaceCount_function_type(&::CEGUI::RenderedStringTextComponent::getSpaceCount)
                , default_getSpaceCount_function_type(&RenderedStringTextComponent_wrapper::default_getSpaceCount) );
        
        }
        { //::CEGUI::RenderedStringTextComponent::getText
        
            typedef ::CEGUI::String const & ( ::CEGUI::RenderedStringTextComponent::*getText_function_type )(  ) const;
            
            RenderedStringTextComponent_exposer.def( 
                "getText"
                , getText_function_type( &::CEGUI::RenderedStringTextComponent::getText )
                , bp::return_value_policy< bp::copy_const_reference >()
                , "! Set the text to be rendered by this component.\n\
            ! return the text that will be rendered by this component\n" );
        
        }
        { //::CEGUI::RenderedStringTextComponent::setColours
        
            typedef void ( ::CEGUI::RenderedStringTextComponent::*setColours_function_type )( ::CEGUI::ColourRect const & ) ;
            
            RenderedStringTextComponent_exposer.def( 
                "setColours"
                , setColours_function_type( &::CEGUI::RenderedStringTextComponent::setColours )
                , ( bp::arg("cr") )
                , "! return the font set to be used.  If 0 the default font will be used.\n\
            ! Set the colour values used when rendering this component.\n" );
        
        }
        { //::CEGUI::RenderedStringTextComponent::setColours
        
            typedef void ( ::CEGUI::RenderedStringTextComponent::*setColours_function_type )( ::CEGUI::Colour const & ) ;
            
            RenderedStringTextComponent_exposer.def( 
                "setColours"
                , setColours_function_type( &::CEGUI::RenderedStringTextComponent::setColours )
                , ( bp::arg("c") )
                , "! Set the colour values used when rendering this component.\n\
            ! Set the colour values used when rendering this component.\n" );
        
        }
        { //::CEGUI::RenderedStringTextComponent::setFont
        
            typedef void ( ::CEGUI::RenderedStringTextComponent::*setFont_function_type )( ::CEGUI::Font const * ) ;
            
            RenderedStringTextComponent_exposer.def( 
                "setFont"
                , setFont_function_type( &::CEGUI::RenderedStringTextComponent::setFont )
                , ( bp::arg("font") )
                , "! return the text that will be rendered by this component\n\
            ! set the font to use when rendering the text.\n" );
        
        }
        { //::CEGUI::RenderedStringTextComponent::setFont
        
            typedef void ( ::CEGUI::RenderedStringTextComponent::*setFont_function_type )( ::CEGUI::String const & ) ;
            
            RenderedStringTextComponent_exposer.def( 
                "setFont"
                , setFont_function_type( &::CEGUI::RenderedStringTextComponent::setFont )
                , ( bp::arg("font_name") )
                , "! set the font to use when rendering the text.\n\
            ! set the font to use when rendering the text.\n" );
        
        }
        { //::CEGUI::RenderedStringTextComponent::setSelection
        
            typedef void ( ::CEGUI::RenderedStringTextComponent::*setSelection_function_type )( ::CEGUI::Window const *,float const,float const ) ;
            typedef void ( RenderedStringTextComponent_wrapper::*default_setSelection_function_type )( ::CEGUI::Window const *,float const,float const ) ;
            
            RenderedStringTextComponent_exposer.def( 
                "setSelection"
                , setSelection_function_type(&::CEGUI::RenderedStringTextComponent::setSelection)
                , default_setSelection_function_type(&RenderedStringTextComponent_wrapper::default_setSelection)
                , ( bp::arg("ref_wnd"), bp::arg("start"), bp::arg("end") ) );
        
        }
        { //::CEGUI::RenderedStringTextComponent::setText
        
            typedef void ( ::CEGUI::RenderedStringTextComponent::*setText_function_type )( ::CEGUI::String const & ) ;
            
            RenderedStringTextComponent_exposer.def( 
                "setText"
                , setText_function_type( &::CEGUI::RenderedStringTextComponent::setText )
                , ( bp::arg("text") )
                , "! Set the text to be rendered by this component.\n" );
        
        }
        { //::CEGUI::RenderedStringTextComponent::split
        
            typedef ::CEGUI::RenderedStringTextComponent * ( ::CEGUI::RenderedStringTextComponent::*split_function_type )( ::CEGUI::Window const *,float,bool ) ;
            typedef ::CEGUI::RenderedStringTextComponent * ( RenderedStringTextComponent_wrapper::*default_split_function_type )( ::CEGUI::Window const *,float,bool ) ;
            
            RenderedStringTextComponent_exposer.def( 
                "split"
                , split_function_type(&::CEGUI::RenderedStringTextComponent::split)
                , default_split_function_type(&RenderedStringTextComponent_wrapper::default_split)
                , ( bp::arg("ref_wnd"), bp::arg("split_point"), bp::arg("first_component") )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        RenderedStringTextComponent_exposer.staticmethod( "getNextTokenLength" );
    }

}
