Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-01-30 17:30:10 +0000
committerStijn Buys <ingar@osirion.org>2008-01-30 17:30:10 +0000
commit4fd8d5c71365e58e6dff36fc756d8e2e55204db7 (patch)
tree851c86f497ce3bfa7050ae5634f50f888d6d80f8 /src/math/color.h
parent28180e6b6763e4ce5d65c02e4df5380f11e6d10a (diff)
math module
Diffstat (limited to 'src/math/color.h')
-rw-r--r--src/math/color.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/math/color.h b/src/math/color.h
new file mode 100644
index 0000000..2c69b9b
--- /dev/null
+++ b/src/math/color.h
@@ -0,0 +1,51 @@
+/*
+ common/color.h
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#ifndef __INCLUDED_MATH_COLOR_H__
+#define __INCLUDED_MATH_COLOR_H__
+
+#include <iostream>
+
+namespace math {
+
+/// a class representing an RGBA color value
+class Color {
+ public:
+ Color();
+ Color(const float, float const, const float, const float=1.0f);
+ Color(const float, const float=1.0f);
+ Color(const Color &);
+
+ float red() const;
+ float green() const;
+ float blue() const;
+ float alpha() const;
+
+ const Color &operator=(const Color &);
+
+ Color operator*(const float scalar) const;
+
+ // Some default colors
+ static const Color Black() { return Color(0.0f); };
+ static const Color White() { return Color(1.0f); };
+ static const Color Red() { return Color(1.0f,0.0f,0.0f); };
+ static const Color Green() { return Color(0.0f,1.0f,0.0f); };
+ static const Color Blue() { return Color(0.0f, 0.0f, 1.0f); };
+ static const Color Yellow() { return Color(1.0f, 1.0f, 0.0f); };
+
+ private:
+ void normalize();
+ float _r, _g, _b, _a;
+};
+
+std::ostream &operator<<(std::ostream &os, const Color &c);
+
+Color operator*(const float scalar, const Color& color);
+
+} // namespace math
+
+#endif // __INCLUDED_MATH_COLOR_H__
+