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

#include "boost/python.hpp"
#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", "*!\n\
        \n\
           Class representing colour values within the system.\n\
        *\n", 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 ) );
        
        }
        { //::CEGUI::colour::getLumination
        
            typedef float ( ::CEGUI::colour::*getLumination_function_type )(  ) const;
            
            colour_exposer.def( 
                "getLumination"
                , getLumination_function_type( &::CEGUI::colour::getLumination ) );
        
        }
        { //::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 ) );
        
        }
        { //::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") ) );
        
        }
    }

}
