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

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

namespace bp = boost::python;

struct CentredRenderedString_wrapper : CEGUI::CentredRenderedString, bp::wrapper< CEGUI::CentredRenderedString > {

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

    CentredRenderedString_wrapper(::CEGUI::RenderedString const & string )
    : CEGUI::CentredRenderedString( boost::ref(string) )
      , bp::wrapper< CEGUI::CentredRenderedString >(){
        // constructor
    
    }

    virtual void draw( ::CEGUI::GeometryBuffer & buffer, ::CEGUI::Vector2 const & position, ::CEGUI::ColourRect const * mod_colours, ::CEGUI::Rect const * clip_rect ) 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) );
        else{
            this->CEGUI::CentredRenderedString::draw( boost::ref(buffer), boost::ref(position), boost::python::ptr(mod_colours), boost::python::ptr(clip_rect) );
        }
    }
    
    void default_draw( ::CEGUI::GeometryBuffer & buffer, ::CEGUI::Vector2 const & position, ::CEGUI::ColourRect const * mod_colours, ::CEGUI::Rect const * clip_rect ) const  {
        CEGUI::CentredRenderedString::draw( boost::ref(buffer), boost::ref(position), boost::python::ptr(mod_colours), boost::python::ptr(clip_rect) );
    }

    virtual void format( ::CEGUI::Size const & area_size ) {
        if( bp::override func_format = this->get_override( "format" ) )
            func_format( boost::ref(area_size) );
        else{
            this->CEGUI::CentredRenderedString::format( boost::ref(area_size) );
        }
    }
    
    void default_format( ::CEGUI::Size const & area_size ) {
        CEGUI::CentredRenderedString::format( boost::ref(area_size) );
    }

    virtual ::size_t getFormattedLineCount(  ) const  {
        if( bp::override func_getFormattedLineCount = this->get_override( "getFormattedLineCount" ) )
            return func_getFormattedLineCount(  );
        else{
            return this->CEGUI::CentredRenderedString::getFormattedLineCount(  );
        }
    }
    
    ::size_t default_getFormattedLineCount(  ) const  {
        return CEGUI::CentredRenderedString::getFormattedLineCount( );
    }

    virtual float getHorizontalExtent(  ) const  {
        if( bp::override func_getHorizontalExtent = this->get_override( "getHorizontalExtent" ) )
            return func_getHorizontalExtent(  );
        else{
            return this->CEGUI::CentredRenderedString::getHorizontalExtent(  );
        }
    }
    
    float default_getHorizontalExtent(  ) const  {
        return CEGUI::CentredRenderedString::getHorizontalExtent( );
    }

    virtual float getVerticalExtent(  ) const  {
        if( bp::override func_getVerticalExtent = this->get_override( "getVerticalExtent" ) )
            return func_getVerticalExtent(  );
        else{
            return this->CEGUI::CentredRenderedString::getVerticalExtent(  );
        }
    }
    
    float default_getVerticalExtent(  ) const  {
        return CEGUI::CentredRenderedString::getVerticalExtent( );
    }

};

void register_CentredRenderedString_class(){

    { //::CEGUI::CentredRenderedString
        typedef bp::class_< CentredRenderedString_wrapper > CentredRenderedString_exposer_t;
        CentredRenderedString_exposer_t CentredRenderedString_exposer = CentredRenderedString_exposer_t( "CentredRenderedString", "*!\n\
        \n\
            FormattedRenderedString implementation that renders the RenderedString with\n\
            centred formatting.\n\
        *\n", bp::init< CEGUI::RenderedString const & >(( bp::arg("string") ), "! Constructor.\n") );
        bp::scope CentredRenderedString_scope( CentredRenderedString_exposer );
        bp::implicitly_convertible< CEGUI::RenderedString const &, CEGUI::CentredRenderedString >();
        { //::CEGUI::CentredRenderedString::draw
        
            typedef void ( ::CEGUI::CentredRenderedString::*draw_function_type )( ::CEGUI::GeometryBuffer &,::CEGUI::Vector2 const &,::CEGUI::ColourRect const *,::CEGUI::Rect const * ) const;
            typedef void ( CentredRenderedString_wrapper::*default_draw_function_type )( ::CEGUI::GeometryBuffer &,::CEGUI::Vector2 const &,::CEGUI::ColourRect const *,::CEGUI::Rect const * ) const;
            
            CentredRenderedString_exposer.def( 
                "draw"
                , draw_function_type(&::CEGUI::CentredRenderedString::draw)
                , default_draw_function_type(&CentredRenderedString_wrapper::default_draw)
                , ( bp::arg("buffer"), bp::arg("position"), bp::arg("mod_colours"), bp::arg("clip_rect") ) );
        
        }
        { //::CEGUI::CentredRenderedString::format
        
            typedef void ( ::CEGUI::CentredRenderedString::*format_function_type )( ::CEGUI::Size const & ) ;
            typedef void ( CentredRenderedString_wrapper::*default_format_function_type )( ::CEGUI::Size const & ) ;
            
            CentredRenderedString_exposer.def( 
                "format"
                , format_function_type(&::CEGUI::CentredRenderedString::format)
                , default_format_function_type(&CentredRenderedString_wrapper::default_format)
                , ( bp::arg("area_size") ) );
        
        }
        { //::CEGUI::CentredRenderedString::getFormattedLineCount
        
            typedef ::size_t ( ::CEGUI::CentredRenderedString::*getFormattedLineCount_function_type )(  ) const;
            typedef ::size_t ( CentredRenderedString_wrapper::*default_getFormattedLineCount_function_type )(  ) const;
            
            CentredRenderedString_exposer.def( 
                "getFormattedLineCount"
                , getFormattedLineCount_function_type(&::CEGUI::CentredRenderedString::getFormattedLineCount)
                , default_getFormattedLineCount_function_type(&CentredRenderedString_wrapper::default_getFormattedLineCount) );
        
        }
        { //::CEGUI::CentredRenderedString::getHorizontalExtent
        
            typedef float ( ::CEGUI::CentredRenderedString::*getHorizontalExtent_function_type )(  ) const;
            typedef float ( CentredRenderedString_wrapper::*default_getHorizontalExtent_function_type )(  ) const;
            
            CentredRenderedString_exposer.def( 
                "getHorizontalExtent"
                , getHorizontalExtent_function_type(&::CEGUI::CentredRenderedString::getHorizontalExtent)
                , default_getHorizontalExtent_function_type(&CentredRenderedString_wrapper::default_getHorizontalExtent) );
        
        }
        { //::CEGUI::CentredRenderedString::getVerticalExtent
        
            typedef float ( ::CEGUI::CentredRenderedString::*getVerticalExtent_function_type )(  ) const;
            typedef float ( CentredRenderedString_wrapper::*default_getVerticalExtent_function_type )(  ) const;
            
            CentredRenderedString_exposer.def( 
                "getVerticalExtent"
                , getVerticalExtent_function_type(&::CEGUI::CentredRenderedString::getVerticalExtent)
                , default_getVerticalExtent_function_type(&CentredRenderedString_wrapper::default_getVerticalExtent) );
        
        }
    }

}
