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

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

namespace bp = boost::python;

void register_LayerSpecification_class(){

    { //::CEGUI::LayerSpecification
        typedef bp::class_< CEGUI::LayerSpecification > LayerSpecification_exposer_t;
        LayerSpecification_exposer_t LayerSpecification_exposer = LayerSpecification_exposer_t( "LayerSpecification", bp::init< bp::optional< CEGUI::uint > >(( bp::arg("priority")=(::CEGUI::uint)(0) ), "*!\n\
                \n\
                    Constructor.\n\
        \n\
                @param priority\n\
                    Specifies the priority of the layer.  Layers with higher priorities will be drawn on\
                    top\n\
                    of layers with lower priorities.\n\
                *\n") );
        bp::scope LayerSpecification_scope( LayerSpecification_exposer );
        bp::implicitly_convertible< CEGUI::uint, CEGUI::LayerSpecification >();
        { //::CEGUI::LayerSpecification::addSectionSpecification
        
            typedef void ( ::CEGUI::LayerSpecification::*addSectionSpecification_function_type )( ::CEGUI::SectionSpecification const & ) ;
            
            LayerSpecification_exposer.def( 
                "addSectionSpecification"
                , addSectionSpecification_function_type( &::CEGUI::LayerSpecification::addSectionSpecification )
                , ( bp::arg("section") )
                , "*!\n\
                    \n\
                        Add a section specification to the layer.\n\
            \n\
                        A section specification is a reference to a named ImagerySection within the\
                        WidgetLook.\n\
            \n\
                    @param section\n\
                        SectionSpecification object descibing the section that should be added to this layer.\n\
            \n\
                    @return\n\
                        Nothing,\n\
                    *\n" );
        
        }
        { //::CEGUI::LayerSpecification::clearSectionSpecifications
        
            typedef void ( ::CEGUI::LayerSpecification::*clearSectionSpecifications_function_type )(  ) ;
            
            LayerSpecification_exposer.def( 
                "clearSectionSpecifications"
                , clearSectionSpecifications_function_type( &::CEGUI::LayerSpecification::clearSectionSpecifications )
                , "*!\n\
                    \n\
                        Clear all section specifications from this layer,\n\
            \n\
                    @return\n\
                        Nothing.\n\
                    *\n" );
        
        }
        { //::CEGUI::LayerSpecification::getLayerPriority
        
            typedef ::CEGUI::uint ( ::CEGUI::LayerSpecification::*getLayerPriority_function_type )(  ) const;
            
            LayerSpecification_exposer.def( 
                "getLayerPriority"
                , getLayerPriority_function_type( &::CEGUI::LayerSpecification::getLayerPriority )
                , "*!\n\
                    \n\
                        Return the priority of this layer.\n\
            \n\
                    @return\n\
                        uint value descibing the priority of this LayerSpecification.\n\
                    *\n" );
        
        }
        { //::CEGUI::LayerSpecification::getSectionIterator
        
            typedef ::CEGUI::ConstVectorIterator< std::vector< CEGUI::SectionSpecification > > ( ::CEGUI::LayerSpecification::*getSectionIterator_function_type )(  ) const;
            
            LayerSpecification_exposer.def( 
                "getSectionIterator"
                , getSectionIterator_function_type( &::CEGUI::LayerSpecification::getSectionIterator )
                , "!  deprecated This type will be removed in the next version and replaced by a const list in the\
            getSectionSpecifications function.\n\
            !  deprecated This function will be replaced by the getSectionSpecifications function in the next\
            version. For editing getSectionSpecificationPointers can be used.\n" );
        
        }
        { //::CEGUI::LayerSpecification::getSectionSpecificationPointers
        
            typedef ::std::vector< CEGUI::SectionSpecification* > ( ::CEGUI::LayerSpecification::*getSectionSpecificationPointers_function_type )(  ) ;
            
            LayerSpecification_exposer.def( 
                "getSectionSpecificationPointers"
                , getSectionSpecificationPointers_function_type( &::CEGUI::LayerSpecification::getSectionSpecificationPointers )
                , "*!\n\
                    \n\
                        Returns a vector of pointers to the SectionSpecifications that are currently added to\
                        this LayerSpecification. If a\n\
                        SectionSpecification is added or removed from this LayerSpecification, then the pointers\
                        in this vector are not valid\n\
                        anymore. The function should then be called again to retrieve valid pointers.\n\
            \n\
                     @return\n\
                        A vector of pointers to the SectionSpecifications that are currently added to this\
                        LayerSpecification\n\
                    *\n" );
        
        }
        LayerSpecification_exposer.def( bp::self < bp::self );
        { //::CEGUI::LayerSpecification::render
        
            typedef void ( ::CEGUI::LayerSpecification::*render_function_type )( ::CEGUI::Window &,::CEGUI::ColourRect const *,::CEGUI::Rectf const *,bool ) const;
            
            LayerSpecification_exposer.def( 
                "render"
                , render_function_type( &::CEGUI::LayerSpecification::render )
                , ( bp::arg("srcWindow"), bp::arg("modcols")=bp::object(), bp::arg("clipper")=bp::object(), bp::arg("clipToDisplay")=(bool)(false) )
                , "*!\n\
                    \n\
                        Render this layer.\n\
            \n\
                    @param srcWindow\n\
                        Window to use when calculating pixel values from BaseDim values.\n\
            \n\
                    @return\n\
                        Nothing.\n\
                    *\n" );
        
        }
        { //::CEGUI::LayerSpecification::render
        
            typedef void ( ::CEGUI::LayerSpecification::*render_function_type )( ::CEGUI::Window &,::CEGUI::Rectf const &,::CEGUI::ColourRect const *,::CEGUI::Rectf const *,bool ) const;
            
            LayerSpecification_exposer.def( 
                "render"
                , render_function_type( &::CEGUI::LayerSpecification::render )
                , ( bp::arg("srcWindow"), bp::arg("baseRect"), bp::arg("modcols")=bp::object(), bp::arg("clipper")=bp::object(), bp::arg("clipToDisplay")=(bool)(false) )
                , "*!\n\
                    \n\
                        Render this layer.\n\
            \n\
                    @param srcWindow\n\
                        Window to use when calculating pixel values from BaseDim values.\n\
            \n\
                    @param baseRect\n\
                        Rect to use when calculating pixel values from BaseDim values.\n\
            \n\
                    @return\n\
                        Nothing.\n\
                    *\n" );
        
        }
        { //::CEGUI::LayerSpecification::setLayerPriority
        
            typedef void ( ::CEGUI::LayerSpecification::*setLayerPriority_function_type )( ::CEGUI::uint ) ;
            
            LayerSpecification_exposer.def( 
                "setLayerPriority"
                , setLayerPriority_function_type( &::CEGUI::LayerSpecification::setLayerPriority )
                , ( bp::arg("priority") )
                , "*!\n\
                    \n\
                        Return the priority of this layer.\n\
            \n\
                    @return\n\
                        uint value descibing the priority of this LayerSpecification.\n\
                    *\n\
                    *!\n\
                    \n\
                        Sets the priority of this layer.\n\
            \n\
                    @return\n\
                        uint value descibing the priority of this LayerSpecification.\n\
                    *\n" );
        
        }
        { //::CEGUI::LayerSpecification::writeXMLToStream
        
            typedef void ( ::CEGUI::LayerSpecification::*writeXMLToStream_function_type )( ::CEGUI::XMLSerializer & ) const;
            
            LayerSpecification_exposer.def( 
                "writeXMLToStream"
                , writeXMLToStream_function_type( &::CEGUI::LayerSpecification::writeXMLToStream )
                , ( bp::arg("xml_stream") )
                , "*!\n\
                    \n\
                        Writes an xml representation of this Layer to  out_stream.\n\
            \n\
                    @param xml_stream\n\
                        Stream where xml data should be output.\n\
            \n\
            \n\
                    @return\n\
                        Nothing.\n\
                    *\n" );
        
        }
    }

}
