#ifndef _GLCOLOR_H_
#define _GLCOLOR_H_
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/version.hpp>
+#include <boost/shared_ptr.hpp>
#include <ostream>
+class Color;
+typedef boost::shared_ptr<Color> ColorRef;
+
//! convienece class for handling opengl colors
class Color
{
Color();
Color(const Color &);
//! initialize with red, green, blue, alpha
- Color(float r, float g, float b, float a=0.0);
+ Color(float r, float g, float b, float a=1.0);
+ Color(const ColorRef);
//! set all channels simultaneously
- void set(float r, float g, float b, float a=0.0);
+ void set(float r, float g, float b, float a=1.0);
//! return an array of 4 colors (stored by class)
const float* const get() const;
void setR(float);
protected:
float colors[4];
-private:
- friend class boost::serialization::access;
- template<class Archive>
- void serialize(Archive& ar, const unsigned int /*version*/) {
- ar & boost::serialization::make_nvp("red", colors[RedChannel]);
- ar & boost::serialization::make_nvp("green", colors[GreenChannel]);
- ar & boost::serialization::make_nvp("blue", colors[BlueChannel]);
- ar & boost::serialization::make_nvp("alpha", colors[AlphaChannel]);
- }
};
-BOOST_CLASS_EXPORT(Color)
-
#endif