// Copyright (C) 2002-2005 Gideon May (gideon@computer.org) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. // Permission to modify the code and to distribute modified code is granted // provided this copyright notice appears in all copies, and a notice // that the code was modified is included with the copyright notice. // // This software is provided "as is" without express or implied warranty, // and with no claim as to its suitability for any purpose. #include #include #include #include #include "StateAttribute.hpp" #include "held_ptr.hpp" using namespace boost::python; namespace { DEFINE_STATEATTRIBUTE_CAST(BlendFunc) } namespace PyOSG { void init_BlendFunc() { REGISTER_STATEATTRIBUTE_CAST(BlendFunc) class_, bases > blendfunc("BlendFunc", "BlendFunc - encapsulates the OpenGL blend/transparency state.", no_init); scope blendfunc_scope(blendfunc); blendfunc .def(init<>()) #if ((OSG_VERSION_MAJOR==1) && (OSG_VERSION_MINOR < 1)) .def("setFunction", &osg::BlendFunc::setFunction) #endif .def("setSource", &osg::BlendFunc::setSource) .def("getSource", &osg::BlendFunc::getSource) .def("setDestination", &osg::BlendFunc::setDestination) .def("getDestination", &osg::BlendFunc::getDestination) ; enum_ blendfuncmode("BlendFuncMode"); # define OSG_ENUM(VALUE) \ (blendfuncmode.value(#VALUE, osg::BlendFunc::VALUE), \ blendfunc.def(#VALUE, object(osg::BlendFunc::VALUE))) OSG_ENUM(DST_ALPHA); OSG_ENUM(DST_COLOR); OSG_ENUM(ONE); OSG_ENUM(ONE_MINUS_DST_ALPHA); OSG_ENUM(ONE_MINUS_DST_COLOR); OSG_ENUM(ONE_MINUS_SRC_ALPHA); OSG_ENUM(ONE_MINUS_SRC_COLOR); OSG_ENUM(SRC_ALPHA); OSG_ENUM(SRC_ALPHA_SATURATE); OSG_ENUM(SRC_COLOR); OSG_ENUM(CONSTANT_COLOR); OSG_ENUM(ONE_MINUS_CONSTANT_COLOR); OSG_ENUM(CONSTANT_ALPHA); OSG_ENUM(ONE_MINUS_CONSTANT_ALPHA); OSG_ENUM(ZERO); } } // namespace PyOSG