19 #ifndef SNARK_GRAPHICS_COLOURED_H_
20 #define SNARK_GRAPHICS_COLOURED_H_
22 #include <boost/array.hpp>
23 #include <comma/Visiting/traits.h>
24 #include <snark/graphics/Vertex.h>
26 namespace snark {
namespace graphics {
28 template <
typename T,
typename S >
34 coloured(
const T& value,
const colour< S > = colours< S >::black() ) : value( value ), colour( colour ) {}
39 namespace snark {
namespace Visiting {
42 template <
typename T,
typename S >
struct traits< snark::graphics::coloured< T, S > >
45 template <
typename Key,
class Visitor >
46 static void visit(
const Key&,
const snark::graphics::coloured< T, S >& p, Visitor& v )
48 v.apply(
"value", p.value );
49 v.apply(
"colour", p.colour );
53 template <
typename Key,
class Visitor >
54 static void visit(
const Key&, snark::graphics::coloured< T, S >& p, Visitor& v )
56 v.apply(
"value", p.value );
57 v.apply(
"colour", p.colour );