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

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

namespace bp = boost::python;

void register_Colour_class(){

    { //::CEGUI::Colour
        typedef bp::class_< CEGUI::Colour > Colour_exposer_t;
        Colour_exposer_t Colour_exposer = Colour_exposer_t( "Colour", bp::init< >("*************************************************************************\n\
           Construction & Destruction\n\
        *************************************************************************\n") );
        bp::scope Colour_scope( Colour_exposer );
        Colour_exposer.def( bp::init< CEGUI::Colour const & >(( bp::arg("val") ), "*************************************************************************\n\
           Construction & Destruction\n\
        *************************************************************************\n") );
        Colour_exposer.def( bp::init< float, float, float, bp::optional< float > >(( bp::arg("red"), bp::arg("green"), bp::arg("blue"), bp::arg("alpha")=1.0e+0f )) );
        Colour_exposer.def( bp::init< CEGUI::argb_t >(( bp::arg("argb") )) );
        bp::implicitly_convertible< CEGUI::argb_t, CEGUI::Colour >();
        { //::CEGUI::Colour::getARGB
        
            typedef ::CEGUI::argb_t ( ::CEGUI::Colour::*getARGB_function_type )(  ) const;
            
            Colour_exposer.def( 
                "getARGB"
                , getARGB_function_type( &::CEGUI::Colour::getARGB )
                , "*************************************************************************\n\
               Accessors\n\
            *************************************************************************\n" );
        
        }
        { //::CEGUI::Colour::getAlpha
        
            typedef float ( ::CEGUI::Colour::*getAlpha_function_type )(  ) const;
            
            Colour_exposer.def( 
                "getAlpha"
                , getAlpha_function_type( &::CEGUI::Colour::getAlpha ) );
        
        }
        { //::CEGUI::Colour::getBlue
        
            typedef float ( ::CEGUI::Colour::*getBlue_function_type )(  ) const;
            
            Colour_exposer.def( 
                "getBlue"
                , getBlue_function_type( &::CEGUI::Colour::getBlue ) );
        
        }
        { //::CEGUI::Colour::getGreen
        
            typedef float ( ::CEGUI::Colour::*getGreen_function_type )(  ) const;
            
            Colour_exposer.def( 
                "getGreen"
                , getGreen_function_type( &::CEGUI::Colour::getGreen ) );
        
        }
        { //::CEGUI::Colour::getHue
        
            typedef float ( ::CEGUI::Colour::*getHue_function_type )(  ) const;
            
            Colour_exposer.def( 
                "getHue"
                , getHue_function_type( &::CEGUI::Colour::getHue )
                , "*!\n\
                \n\
                    Calculates and returns the hue value based on the Colour\n\
            \n\
                @return\n\
                    The hue as a float value.\n\
                *\n" );
        
        }
        { //::CEGUI::Colour::getLumination
        
            typedef float ( ::CEGUI::Colour::*getLumination_function_type )(  ) const;
            
            Colour_exposer.def( 
                "getLumination"
                , getLumination_function_type( &::CEGUI::Colour::getLumination )
                , "*!\n\
                \n\
                    Calculates and returns the lumination value based on the Colour\n\
            \n\
                @return\n\
                    The lumination as a float value.\n\
                *\n" );
        
        }
        { //::CEGUI::Colour::getRed
        
            typedef float ( ::CEGUI::Colour::*getRed_function_type )(  ) const;
            
            Colour_exposer.def( 
                "getRed"
                , getRed_function_type( &::CEGUI::Colour::getRed ) );
        
        }
        { //::CEGUI::Colour::getSaturation
        
            typedef float ( ::CEGUI::Colour::*getSaturation_function_type )(  ) const;
            
            Colour_exposer.def( 
                "getSaturation"
                , getSaturation_function_type( &::CEGUI::Colour::getSaturation )
                , "*!\n\
                \n\
                    Calculates and returns the saturation value based on the Colour\n\
            \n\
                @return\n\
                    The saturation as a float value.\n\
                *\n" );
        
        }
        { //::CEGUI::Colour::invertColour
        
            typedef void ( ::CEGUI::Colour::*invertColour_function_type )(  ) ;
            
            Colour_exposer.def( 
                "invertColour"
                , invertColour_function_type( &::CEGUI::Colour::invertColour ) );
        
        }
        { //::CEGUI::Colour::invertColourWithAlpha
        
            typedef void ( ::CEGUI::Colour::*invertColourWithAlpha_function_type )(  ) ;
            
            Colour_exposer.def( 
                "invertColourWithAlpha"
                , invertColourWithAlpha_function_type( &::CEGUI::Colour::invertColourWithAlpha ) );
        
        }
        Colour_exposer.def( "__int__", &CEGUI::Colour::operator ::CEGUI::argb_t , "Conversion operators\n" );
        Colour_exposer.def( bp::self != bp::self );
        Colour_exposer.def( bp::self &= bp::other< CEGUI::argb_t >() );
        Colour_exposer.def( bp::self &= bp::self );
        Colour_exposer.def( bp::self * bp::other< float >() );
        Colour_exposer.def( bp::self *= bp::self );
        Colour_exposer.def( bp::self + bp::self );
        Colour_exposer.def( bp::self - bp::self );
        Colour_exposer.def( bp::self <<= bp::other< int >() );
        { //::CEGUI::Colour::operator=
        
            typedef ::CEGUI::Colour & ( ::CEGUI::Colour::*assign_function_type )( ::CEGUI::argb_t ) ;
            
            Colour_exposer.def( 
                "assign"
                , assign_function_type( &::CEGUI::Colour::operator= )
                , ( bp::arg("val") )
                , bp::return_self< >()
                , "*************************************************************************\n\
               Operators\n\
            *************************************************************************\n" );
        
        }
        { //::CEGUI::Colour::operator=
        
            typedef ::CEGUI::Colour & ( ::CEGUI::Colour::*assign_function_type )( ::CEGUI::Colour const & ) ;
            
            Colour_exposer.def( 
                "assign"
                , assign_function_type( &::CEGUI::Colour::operator= )
                , ( bp::arg("val") )
                , bp::return_self< >() );
        
        }
        Colour_exposer.def( bp::self == bp::self );
        Colour_exposer.def( bp::self >>= bp::other< int >() );
        Colour_exposer.def( bp::self |= bp::other< CEGUI::argb_t >() );
        Colour_exposer.def( bp::self |= bp::self );
        { //::CEGUI::Colour::set
        
            typedef void ( ::CEGUI::Colour::*set_function_type )( float,float,float,float ) ;
            
            Colour_exposer.def( 
                "set"
                , set_function_type( &::CEGUI::Colour::set )
                , ( bp::arg("red"), bp::arg("green"), bp::arg("blue"), bp::arg("alpha")=1.0e+0f ) );
        
        }
        { //::CEGUI::Colour::setARGB
        
            typedef void ( ::CEGUI::Colour::*setARGB_function_type )( ::CEGUI::argb_t ) ;
            
            Colour_exposer.def( 
                "setARGB"
                , setARGB_function_type( &::CEGUI::Colour::setARGB )
                , ( bp::arg("argb") )
                , "*************************************************************************\n\
               Manipulators\n\
            *************************************************************************\n" );
        
        }
        { //::CEGUI::Colour::setAlpha
        
            typedef void ( ::CEGUI::Colour::*setAlpha_function_type )( float ) ;
            
            Colour_exposer.def( 
                "setAlpha"
                , setAlpha_function_type( &::CEGUI::Colour::setAlpha )
                , ( bp::arg("alpha") )
                , "*************************************************************************\n\
               Manipulators\n\
            *************************************************************************\n" );
        
        }
        { //::CEGUI::Colour::setBlue
        
            typedef void ( ::CEGUI::Colour::*setBlue_function_type )( float ) ;
            
            Colour_exposer.def( 
                "setBlue"
                , setBlue_function_type( &::CEGUI::Colour::setBlue )
                , ( bp::arg("blue") ) );
        
        }
        { //::CEGUI::Colour::setGreen
        
            typedef void ( ::CEGUI::Colour::*setGreen_function_type )( float ) ;
            
            Colour_exposer.def( 
                "setGreen"
                , setGreen_function_type( &::CEGUI::Colour::setGreen )
                , ( bp::arg("green") ) );
        
        }
        { //::CEGUI::Colour::setHSL
        
            typedef void ( ::CEGUI::Colour::*setHSL_function_type )( float,float,float,float ) ;
            
            Colour_exposer.def( 
                "setHSL"
                , setHSL_function_type( &::CEGUI::Colour::setHSL )
                , ( bp::arg("hue"), bp::arg("saturation"), bp::arg("luminance"), bp::arg("alpha")=1.0e+0f ) );
        
        }
        { //::CEGUI::Colour::setRGB
        
            typedef void ( ::CEGUI::Colour::*setRGB_function_type )( float,float,float ) ;
            
            Colour_exposer.def( 
                "setRGB"
                , setRGB_function_type( &::CEGUI::Colour::setRGB )
                , ( bp::arg("red"), bp::arg("green"), bp::arg("blue") ) );
        
        }
        { //::CEGUI::Colour::setRGB
        
            typedef void ( ::CEGUI::Colour::*setRGB_function_type )( ::CEGUI::Colour const & ) ;
            
            Colour_exposer.def( 
                "setRGB"
                , setRGB_function_type( &::CEGUI::Colour::setRGB )
                , ( bp::arg("val") ) );
        
        }
        { //::CEGUI::Colour::setRed
        
            typedef void ( ::CEGUI::Colour::*setRed_function_type )( float ) ;
            
            Colour_exposer.def( 
                "setRed"
                , setRed_function_type( &::CEGUI::Colour::setRed )
                , ( bp::arg("red") ) );
        
        }
    }

}
