26 #ifndef _BOARD_COLOR_H_
27 #define _BOARD_COLOR_H_
43 inline Color(
const unsigned int rgb,
unsigned char alpha = 255 );
45 inline Color(
unsigned char red,
48 unsigned char alpha = 255 );
50 inline Color(
unsigned char gray,
unsigned char alpha = 255 );
52 inline Color(
const bool valid =
true );
54 inline void red(
unsigned char red );
55 inline void green(
unsigned char green );
56 inline void blue(
unsigned char blue );
57 inline void alpha(
unsigned char alpha );
59 inline unsigned char red()
const;
60 inline unsigned char green()
const;
61 inline unsigned char blue()
const;
62 inline unsigned char alpha()
const;
64 inline Color & setRGBi(
const unsigned char red,
65 const unsigned char green,
66 const unsigned char blue,
67 const unsigned char alpha = 255 );
69 Color & setRGBf(
float red,
74 bool operator==(
const Color & other )
const;
76 bool operator!=(
const Color & other )
const;
78 bool operator<(
const Color & other )
const;
80 void flushPostscript( std::ostream & )
const;
82 std::string svg()
const;
92 std::string
svgAlpha(
const char * prefix )
const;
94 std::string postscript()
const;
104 std::string
tikz()
const;
107 inline bool valid()
const {
return (*
this) != Color::Null; }
111 static const Color Null;
112 static const Color Black;
113 static const Color Gray;
114 static const Color White;
115 static const Color Red;
116 static const Color Green;
117 static const Color Lime;
118 static const Color Blue;
119 static const Color Cyan;
120 static const Color Magenta;
121 static const Color Yellow;
122 static const Color Silver;
123 static const Color Purple;
124 static const Color Navy;
125 static const Color Aqua;
135 Color::setRGBi(
const unsigned char red,
136 const unsigned char green,
137 const unsigned char blue,
138 const unsigned char alpha ) {
147 inline Color::Color(
const unsigned int rgb,
unsigned char alpha )
150 _red = ( rgb & 0xFF0000u ) >> 16;
151 _green = ( rgb & 0xFF00u ) >> 8;
155 inline Color::Color(
unsigned char red,
158 unsigned char alpha )
159 :_red(red),_green(green),_blue(blue),_alpha(alpha)
162 inline Color::Color(
unsigned char gray,
unsigned char alpha )
163 :_red(gray),_green(gray),_blue(gray),_alpha(alpha)
166 inline Color::Color(
const bool valid )
167 :_red(-1),_green(-1),_blue(-1),_alpha(255)
170 _red = _green = _blue = 0;
175 Color::red(
const unsigned char red )
181 Color::green(
unsigned char green )
187 Color::blue(
unsigned char blue )
193 Color::alpha(
unsigned char alpha )
198 inline unsigned char Color::red()
const {
return _red; }
199 inline unsigned char Color::green()
const {
return _green; }
200 inline unsigned char Color::blue()
const {
return _blue; }
201 inline unsigned char Color::alpha()
const {
return _alpha; }
Structure representing an RGB triple.
Definition: Color.h:39
std::string tikz() const
Definition: Color.cpp:142
std::string svgAlpha(const char *prefix) const
Definition: Color.cpp:133