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

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

namespace bp = boost::python;

struct FontManager_wrapper : CEGUI::FontManager, bp::wrapper< CEGUI::FontManager > {

    FontManager_wrapper( )
    : CEGUI::FontManager( )
      , bp::wrapper< CEGUI::FontManager >(){
        // null constructor
    
    }

    virtual void fireEvent( ::CEGUI::String const & name, ::CEGUI::EventArgs & args, ::CEGUI::String const & eventNamespace="" ) {
        if( bp::override func_fireEvent = this->get_override( "fireEvent" ) )
            func_fireEvent( boost::ref(name), boost::ref(args), boost::ref(eventNamespace) );
        else{
            this->CEGUI::EventSet::fireEvent( boost::ref(name), boost::ref(args), boost::ref(eventNamespace) );
        }
    }
    
    void default_fireEvent( ::CEGUI::String const & name, ::CEGUI::EventArgs & args, ::CEGUI::String const & eventNamespace="" ) {
        CEGUI::EventSet::fireEvent( boost::ref(name), boost::ref(args), boost::ref(eventNamespace) );
    }

    virtual ::CEGUI::RefCounted< CEGUI::BoundSlot > subscribeScriptedEvent( ::CEGUI::String const & name, ::CEGUI::String const & subscriber_name ) {
        if( bp::override func_subscribeScriptedEvent = this->get_override( "subscribeScriptedEvent" ) )
            return func_subscribeScriptedEvent( boost::ref(name), boost::ref(subscriber_name) );
        else{
            return this->CEGUI::EventSet::subscribeScriptedEvent( boost::ref(name), boost::ref(subscriber_name) );
        }
    }
    
    ::CEGUI::RefCounted< CEGUI::BoundSlot > default_subscribeScriptedEvent( ::CEGUI::String const & name, ::CEGUI::String const & subscriber_name ) {
        return CEGUI::EventSet::subscribeScriptedEvent( boost::ref(name), boost::ref(subscriber_name) );
    }

    virtual ::CEGUI::RefCounted< CEGUI::BoundSlot > subscribeScriptedEvent( ::CEGUI::String const & name, unsigned int group, ::CEGUI::String const & subscriber_name ) {
        if( bp::override func_subscribeScriptedEvent = this->get_override( "subscribeScriptedEvent" ) )
            return func_subscribeScriptedEvent( boost::ref(name), group, boost::ref(subscriber_name) );
        else{
            return this->CEGUI::EventSet::subscribeScriptedEvent( boost::ref(name), group, boost::ref(subscriber_name) );
        }
    }
    
    ::CEGUI::RefCounted< CEGUI::BoundSlot > default_subscribeScriptedEvent( ::CEGUI::String const & name, unsigned int group, ::CEGUI::String const & subscriber_name ) {
        return CEGUI::EventSet::subscribeScriptedEvent( boost::ref(name), group, boost::ref(subscriber_name) );
    }

};

void register_FontManager_class(){

    { //::CEGUI::FontManager
        typedef bp::class_< FontManager_wrapper, bp::bases< CEGUI::Singleton< CEGUI::FontManager >, CEGUI::NamedXMLResourceManager< CEGUI::Font, CEGUI::Font_xmlHandler > >, boost::noncopyable > FontManager_exposer_t;
        FontManager_exposer_t FontManager_exposer = FontManager_exposer_t( "FontManager", bp::init< >("! Constructor.\n") );
        bp::scope FontManager_scope( FontManager_exposer );
        { //::CEGUI::FontManager::createFreeTypeFont
        
            typedef ::CEGUI::Font & ( ::CEGUI::FontManager::*createFreeTypeFont_function_type )( ::CEGUI::String const &,float const,bool const,::CEGUI::String const &,::CEGUI::String const &,bool const,float const,float const,::CEGUI::XMLResourceExistsAction ) ;
            
            FontManager_exposer.def( 
                "createFreeTypeFont"
                , createFreeTypeFont_function_type( &::CEGUI::FontManager::createFreeTypeFont )
                , ( bp::arg("font_name"), bp::arg("point_size"), bp::arg("anti_aliased"), bp::arg("font_filename"), bp::arg("resource_group")="", bp::arg("auto_scaled")=(bool const)(false), bp::arg("native_horz_res")=6.4e+2f, bp::arg("native_vert_res")=4.8e+2f, bp::arg("action")=::CEGUI::XREA_RETURN )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::FontManager::createPixmapFont
        
            typedef ::CEGUI::Font & ( ::CEGUI::FontManager::*createPixmapFont_function_type )( ::CEGUI::String const &,::CEGUI::String const &,::CEGUI::String const &,bool const,float const,float const,::CEGUI::XMLResourceExistsAction ) ;
            
            FontManager_exposer.def( 
                "createPixmapFont"
                , createPixmapFont_function_type( &::CEGUI::FontManager::createPixmapFont )
                , ( bp::arg("font_name"), bp::arg("imageset_filename"), bp::arg("resource_group")="", bp::arg("auto_scaled")=(bool const)(false), bp::arg("native_horz_res")=6.4e+2f, bp::arg("native_vert_res")=4.8e+2f, bp::arg("action")=::CEGUI::XREA_RETURN )
                , bp::return_value_policy< bp::reference_existing_object >() );
        
        }
        { //::CEGUI::FontManager::getIterator
        
            typedef ::CEGUI::ConstBaseIterator< std::map<CEGUI::String, CEGUI::Font*, CEGUI::String::FastLessCompare, std::allocator<std::pair<CEGUI::String const, CEGUI::Font*> > > > ( ::CEGUI::FontManager::*getIterator_function_type )(  ) const;
            
            FontManager_exposer.def( 
                "getIterator"
                , getIterator_function_type( &::CEGUI::FontManager::getIterator )
                , "*!\n\
            \n\
                Return a FontManager.FontIterator object to iterate over the available\n\
                Font objects.\n\
            *\n" );
        
        }
        { //::CEGUI::FontManager::notifyDisplaySizeChanged
        
            typedef void ( ::CEGUI::FontManager::*notifyDisplaySizeChanged_function_type )( ::CEGUI::Size const & ) ;
            
            FontManager_exposer.def( 
                "notifyDisplaySizeChanged"
                , notifyDisplaySizeChanged_function_type( &::CEGUI::FontManager::notifyDisplaySizeChanged )
                , ( bp::arg("size") )
                , "*!\n\
                \n\
                    Notify the FontManager that display size may have changed.\n\
            \n\
                @param size\n\
                    Size object describing the display resolution\n\
                *\n" );
        
        }
        { //::CEGUI::FontManager::writeFontToStream
        
            typedef void ( ::CEGUI::FontManager::*writeFontToStream_function_type )( ::CEGUI::String const &,::CEGUI::OutStream & ) const;
            
            FontManager_exposer.def( 
                "writeFontToStream"
                , writeFontToStream_function_type( &::CEGUI::FontManager::writeFontToStream )
                , ( bp::arg("name"), bp::arg("out_stream") )
                , "*!\n\
                \n\
                    Writes a full XML font file for the specified Font to the given\n\
                    OutStream.\n\
            \n\
                @param name\n\
                    String holding the name of the Font to be written to the stream.\n\
            \n\
                @param out_stream\n\
                    OutStream (std.ostream based) object where data is to be sent.\n\
                *\n" );
        
        }
        { //::CEGUI::EventSet::fireEvent
        
            typedef void ( ::CEGUI::EventSet::*fireEvent_function_type )( ::CEGUI::String const &,::CEGUI::EventArgs &,::CEGUI::String const & ) ;
            typedef void ( FontManager_wrapper::*default_fireEvent_function_type )( ::CEGUI::String const &,::CEGUI::EventArgs &,::CEGUI::String const & ) ;
            
            FontManager_exposer.def( 
                "fireEvent"
                , fireEvent_function_type(&::CEGUI::EventSet::fireEvent)
                , default_fireEvent_function_type(&FontManager_wrapper::default_fireEvent)
                , ( bp::arg("name"), bp::arg("args"), bp::arg("eventNamespace")="" ) );
        
        }
        { //::CEGUI::EventSet::subscribeScriptedEvent
        
            typedef ::CEGUI::RefCounted< CEGUI::BoundSlot > ( ::CEGUI::EventSet::*subscribeScriptedEvent_function_type )( ::CEGUI::String const &,::CEGUI::String const & ) ;
            typedef ::CEGUI::RefCounted< CEGUI::BoundSlot > ( FontManager_wrapper::*default_subscribeScriptedEvent_function_type )( ::CEGUI::String const &,::CEGUI::String const & ) ;
            
            FontManager_exposer.def( 
                "subscribeScriptedEvent"
                , subscribeScriptedEvent_function_type(&::CEGUI::EventSet::subscribeScriptedEvent)
                , default_subscribeScriptedEvent_function_type(&FontManager_wrapper::default_subscribeScriptedEvent)
                , ( bp::arg("name"), bp::arg("subscriber_name") ) );
        
        }
        { //::CEGUI::EventSet::subscribeScriptedEvent
        
            typedef ::CEGUI::RefCounted< CEGUI::BoundSlot > ( ::CEGUI::EventSet::*subscribeScriptedEvent_function_type )( ::CEGUI::String const &,unsigned int,::CEGUI::String const & ) ;
            typedef ::CEGUI::RefCounted< CEGUI::BoundSlot > ( FontManager_wrapper::*default_subscribeScriptedEvent_function_type )( ::CEGUI::String const &,unsigned int,::CEGUI::String const & ) ;
            
            FontManager_exposer.def( 
                "subscribeScriptedEvent"
                , subscribeScriptedEvent_function_type(&::CEGUI::EventSet::subscribeScriptedEvent)
                , default_subscribeScriptedEvent_function_type(&FontManager_wrapper::default_subscribeScriptedEvent)
                , ( bp::arg("name"), bp::arg("group"), bp::arg("subscriber_name") ) );
        
        }
    }

}
