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-10-12 11:14:22 +0000
committerStijn Buys <ingar@osirion.org>2008-10-12 11:14:22 +0000
commit18383a5fc596bf9546f14d7393ee66c57720b116 (patch)
tree5382c3b380a72149eabbc4f75a2c5744b895e48a /src/math/color.cc
parent0d831968949b1119db48530a86c2d1651c6cbfc6 (diff)
libmath API cleanup
Diffstat (limited to 'src/math/color.cc')
-rw-r--r--src/math/color.cc45
1 files changed, 22 insertions, 23 deletions
diff --git a/src/math/color.cc b/src/math/color.cc
index 231ec80..ff4cb5d 100644
--- a/src/math/color.cc
+++ b/src/math/color.cc
@@ -12,37 +12,37 @@ namespace math
{
Color::Color() :
- r(rgba_data[0]),
- g(rgba_data[1]),
- b(rgba_data[2]),
- a(rgba_data[3])
+ r(rgba_data[0]),
+ g(rgba_data[1]),
+ b(rgba_data[2]),
+ a(rgba_data[3])
{
assign(1.0f, 1.0f);
}
Color::Color(float red, float green, float blue, float alpha) :
- r(rgba_data[0]),
- g(rgba_data[1]),
- b(rgba_data[2]),
- a(rgba_data[3])
+ r(rgba_data[0]),
+ g(rgba_data[1]),
+ b(rgba_data[2]),
+ a(rgba_data[3])
{
assign(red, green, blue, alpha);
}
-Color::Color(const float grey, const float alpha) :
- r(rgba_data[0]),
- g(rgba_data[1]),
- b(rgba_data[2]),
- a(rgba_data[3])
+Color::Color(const float grey, const float alpha) :
+ r(rgba_data[0]),
+ g(rgba_data[1]),
+ b(rgba_data[2]),
+ a(rgba_data[3])
{
assign(grey, alpha);
}
-Color::Color(Color const &other) :
- r(rgba_data[0]),
- g(rgba_data[1]),
- b(rgba_data[2]),
- a(rgba_data[3])
+Color::Color(Color const &other) :
+ r(rgba_data[0]),
+ g(rgba_data[1]),
+ b(rgba_data[2]),
+ a(rgba_data[3])
{
assign(other);
}
@@ -58,8 +58,7 @@ void Color::assign(float red, float green, float blue, float alpha)
void Color::assign(Color const & other)
{
- for (int i =0; i < 4; i++)
- rgba_data[i] = other.rgba_data[i];
+ memcpy(rgba_data, other.rgba_data, sizeof(rgba_data));
}
void Color::assign(float grey, float alpha)
@@ -79,18 +78,18 @@ void Color::clamp()
for (int i =0; i < 4; i++)
if (rgba_data[i] < 0)
rgba_data[i] = 0;
-
+
float tmp = rgba_data[0];
if (rgba_data[1] > tmp)
tmp = rgba_data[1];
if (rgba_data[2] > tmp)
tmp = rgba_data[2];
-
+
if (tmp > 1) {
for (int i =0; i < 3; i++)
rgba_data[i] /= tmp;
}
-
+
if (rgba_data[3] > 1)
rgba_data[3] = 1;
}