00001
00002
00003
00004
00005 #ifndef EQ_COLORMASK_H
00006 #define EQ_COLORMASK_H
00007
00008 #include <eq/base/base.h>
00009 #include <iostream>
00010
00011 namespace eq
00012 {
00016 class EQ_EXPORT ColorMask
00017 {
00018 public:
00019 ColorMask() : red( true ), green( true ), blue( true ) {}
00020 ColorMask( const bool r, const bool g, const bool b )
00021 : red( r ), green( g ), blue( b ) {}
00022
00023 bool red;
00024 bool green;
00025 bool blue;
00026
00027 static const ColorMask ALL;
00028 };
00029
00030 inline std::ostream& operator << ( std::ostream& os, const ColorMask& mask )
00031 {
00032 os << "[ ";
00033 if( mask.red )
00034 os << "red ";
00035 if( mask.green )
00036 os << "green ";
00037 if( mask.blue )
00038 os << "blue ";
00039 os << "]";
00040
00041 return os;
00042 }
00043 }
00044
00045 #endif // EQ_COLORMASK_H