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

#include "boost/python.hpp"
#include "python_CEGUI.h"
#include "RenderedStringWidgetComponent.pypp.hpp"

namespace bp = boost::python;

struct RenderedStringWidgetComponent_wrapper : CEGUI::RenderedStringWidgetComponent, bp::wrapper< CEGUI::RenderedStringWidgetComponent > {

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

    RenderedStringWidgetComponent_wrapper( )
    : CEGUI::RenderedStringWidgetComponent( )
      , bp::wrapper< CEGUI::RenderedStringWidgetComponent >(){
        // null constructor
    
    }

    RenderedStringWidgetComponent_wrapper(::CEGUI::String const & widget_name )
    : CEGUI::RenderedStringWidgetComponent( boost::ref(widget_name) )
      , bp::wrapper< CEGUI::RenderedStringWidgetComponent >(){
        // constructor
    
    }

    RenderedStringWidgetComponent_wrapper(::CEGUI::Window * widget )
    : CEGUI::RenderedStringWidgetComponent( boost::python::ptr(widget) )
      , bp::wrapper< CEGUI::RenderedStringWidgetComponent >(){
        // constructor
    
    }

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

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

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

    virtual ::CEGUI::Size getPixelSize(  ) const  {
        if( bp::override func_getPixelSize = this->get_override( "getPixelSize" ) )
            return func_getPixelSize(  );
        else{
            return this->CEGUI::RenderedStringWidgetComponent::getPixelSize(  );
        }
    }
    
    ::CEGUI::Size default_getPixelSize(  ) const  {
        return CEGUI::RenderedStringWidgetComponent::getPixelSize( );
    }

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

    virtual ::CEGUI::RenderedStringWidgetComponent * split( float split_point, bool first_component ) {
        if( bp::override func_split = this->get_override( "split" ) )
            return func_split( split_point, first_component );
        else{
            return this->CEGUI::RenderedStringWidgetComponent::split( split_point, first_component );
        }
    }
    
    ::CEGUI::RenderedStringWidgetComponent * default_split( float split_point, bool first_component ) {
        return CEGUI::RenderedStringWidgetComponent::split( split_point, first_component );
    }

};

void register_RenderedStringWidgetComponent_class(){

    { //::CEGUI::RenderedStringWidgetComponent
        typedef bp::class_< RenderedStringWidgetComponent_wrapper, bp::bases< CEGUI::RenderedStringComponent > > RenderedStringWidgetComponent_exposer_t;
        RenderedStringWidgetComponent_exposer_t RenderedStringWidgetComponent_exposer = RenderedStringWidgetComponent_exposer_t( "RenderedStringWidgetComponent", "! String component that moves a widget to appear as part of the string.\n", bp::init< >("! Constructor\n") );
        bp::scope RenderedStringWidgetComponent_scope( RenderedStringWidgetComponent_exposer );
        RenderedStringWidgetComponent_exposer.def( bp::init< CEGUI::String const & >(( bp::arg("widget_name") ), "! Constructor\n") );
        bp::implicitly_convertible< CEGUI::String const &, CEGUI::RenderedStringWidgetComponent >();
        RenderedStringWidgetComponent_exposer.def( bp::init< CEGUI::Window * >(( bp::arg("widget") )) );
        bp::implicitly_convertible< CEGUI::Window *, CEGUI::RenderedStringWidgetComponent >();
        { //::CEGUI::RenderedStringWidgetComponent::canSplit
        
            typedef bool ( ::CEGUI::RenderedStringWidgetComponent::*canSplit_function_type )(  ) const;
            typedef bool ( RenderedStringWidgetComponent_wrapper::*default_canSplit_function_type )(  ) const;
            
            RenderedStringWidgetComponent_exposer.def( 
                "canSplit"
                , canSplit_function_type(&::CEGUI::RenderedStringWidgetComponent::canSplit)
                , default_canSplit_function_type(&RenderedStringWidgetComponent_wrapper::default_canSplit) );
        
        }
        { //::CEGUI::RenderedStringWidgetComponent::clone
        
            typedef ::CEGUI::RenderedStringWidgetComponent * ( ::CEGUI::RenderedStringWidgetComponent::*clone_function_type )(  ) const;
            typedef ::CEGUI::RenderedStringWidgetComponent * ( RenderedStringWidgetComponent_wrapper::*default_clone_function_type )(  ) const;
            
            RenderedStringWidgetComponent_exposer.def( 
                "clone"
                , clone_function_type(&::CEGUI::RenderedStringWidgetComponent::clone)
                , default_clone_function_type(&RenderedStringWidgetComponent_wrapper::default_clone)
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::RenderedStringWidgetComponent::draw
        
            typedef void ( ::CEGUI::RenderedStringWidgetComponent::*draw_function_type )( ::CEGUI::GeometryBuffer &,::CEGUI::Vector2 const &,::CEGUI::ColourRect const *,::CEGUI::Rect const *,float const,float const ) const;
            typedef void ( RenderedStringWidgetComponent_wrapper::*default_draw_function_type )( ::CEGUI::GeometryBuffer &,::CEGUI::Vector2 const &,::CEGUI::ColourRect const *,::CEGUI::Rect const *,float const,float const ) const;
            
            RenderedStringWidgetComponent_exposer.def( 
                "draw"
                , draw_function_type(&::CEGUI::RenderedStringWidgetComponent::draw)
                , default_draw_function_type(&RenderedStringWidgetComponent_wrapper::default_draw)
                , ( bp::arg("buffer"), bp::arg("position"), bp::arg("mod_colours"), bp::arg("clip_rect"), bp::arg("vertical_space"), bp::arg("space_extra") ) );
        
        }
        { //::CEGUI::RenderedStringWidgetComponent::getPixelSize
        
            typedef ::CEGUI::Size ( ::CEGUI::RenderedStringWidgetComponent::*getPixelSize_function_type )(  ) const;
            typedef ::CEGUI::Size ( RenderedStringWidgetComponent_wrapper::*default_getPixelSize_function_type )(  ) const;
            
            RenderedStringWidgetComponent_exposer.def( 
                "getPixelSize"
                , getPixelSize_function_type(&::CEGUI::RenderedStringWidgetComponent::getPixelSize)
                , default_getPixelSize_function_type(&RenderedStringWidgetComponent_wrapper::default_getPixelSize) );
        
        }
        { //::CEGUI::RenderedStringWidgetComponent::getSpaceCount
        
            typedef ::size_t ( ::CEGUI::RenderedStringWidgetComponent::*getSpaceCount_function_type )(  ) const;
            typedef ::size_t ( RenderedStringWidgetComponent_wrapper::*default_getSpaceCount_function_type )(  ) const;
            
            RenderedStringWidgetComponent_exposer.def( 
                "getSpaceCount"
                , getSpaceCount_function_type(&::CEGUI::RenderedStringWidgetComponent::getSpaceCount)
                , default_getSpaceCount_function_type(&RenderedStringWidgetComponent_wrapper::default_getSpaceCount) );
        
        }
        { //::CEGUI::RenderedStringWidgetComponent::getWindow
        
            typedef ::CEGUI::Window const * ( ::CEGUI::RenderedStringWidgetComponent::*getWindow_function_type )(  ) const;
            
            RenderedStringWidgetComponent_exposer.def( 
                "getWindow"
                , getWindow_function_type( &::CEGUI::RenderedStringWidgetComponent::getWindow )
                , bp::return_value_policy< bp::reference_existing_object >()
                , "! Set the window to be controlled by this component.\n\
            ! return the window currently controlled by this component\n" );
        
        }
        { //::CEGUI::RenderedStringWidgetComponent::setWindow
        
            typedef void ( ::CEGUI::RenderedStringWidgetComponent::*setWindow_function_type )( ::CEGUI::String const & ) ;
            
            RenderedStringWidgetComponent_exposer.def( 
                "setWindow"
                , setWindow_function_type( &::CEGUI::RenderedStringWidgetComponent::setWindow )
                , ( bp::arg("widget_name") )
                , "! Set the window to be controlled by this component.\n" );
        
        }
        { //::CEGUI::RenderedStringWidgetComponent::setWindow
        
            typedef void ( ::CEGUI::RenderedStringWidgetComponent::*setWindow_function_type )( ::CEGUI::Window * ) ;
            
            RenderedStringWidgetComponent_exposer.def( 
                "setWindow"
                , setWindow_function_type( &::CEGUI::RenderedStringWidgetComponent::setWindow )
                , ( bp::arg("widget") )
                , "! Set the window to be controlled by this component.\n\
            ! Set the window to be controlled by this component.\n" );
        
        }
        { //::CEGUI::RenderedStringWidgetComponent::split
        
            typedef ::CEGUI::RenderedStringWidgetComponent * ( ::CEGUI::RenderedStringWidgetComponent::*split_function_type )( float,bool ) ;
            typedef ::CEGUI::RenderedStringWidgetComponent * ( RenderedStringWidgetComponent_wrapper::*default_split_function_type )( float,bool ) ;
            
            RenderedStringWidgetComponent_exposer.def( 
                "split"
                , split_function_type(&::CEGUI::RenderedStringWidgetComponent::split)
                , default_split_function_type(&RenderedStringWidgetComponent_wrapper::default_split)
                , ( bp::arg("split_point"), bp::arg("first_component") )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
    }

}
