]> git.tdb.fi Git - libs/gl.git/blob - source/color.h
d3710a9d64c745fb85d87a4216222854e4c08730
[libs/gl.git] / source / color.h
1 /* $Id$
2
3 This file is part of libmspgl
4 Copyright © 2007  Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
6 */
7
8 #ifndef MSP_GL_COLOR_H_
9 #define MSP_GL_COLOR_H_
10
11 #include <GL/gl.h>
12
13 namespace Msp {
14 namespace GL {
15
16 struct Color
17 {
18         float r, g, b, a;
19
20         Color(): r(1), g(1), b(1), a(1) { }
21         Color(float v): r(v), g(v), b(v), a(1) { }
22         Color(float r_, float g_, float b_): r(r_), g(g_), b(b_), a(1) { }
23         Color(float r_, float g_, float b_, float a_): r(r_), g(g_), b(b_), a(a_) { }
24         Color operator*(float f) const { return Color(r*f, g*f, b*f, a); }
25         Color operator+(const Color &c) const { return Color(r+c.r, g+c.g, b+c.g, 1-(1-a)*(1-c.a)); }
26         bool operator==(const Color &c) const { return (r==c.r && b==c.b && g==c.g && a==c.a); }
27         bool operator!=(const Color &c) const { return !operator==(c); }
28 };
29
30 } // namespace GL
31 } // namespace Msp
32
33 #endif