From 6568cc7995278ccefa2b95245b5e9c12680fd4d3 Mon Sep 17 00:00:00 2001 From: Lynix Date: Thu, 26 Dec 2013 11:39:39 +0100 Subject: [PATCH] Fixed Color::operator[+|*](=) Former-commit-id: b49f7e60af324d28862948f066faa55bbe5f4c87 --- include/Nazara/Core/Color.inl | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/include/Nazara/Core/Color.inl b/include/Nazara/Core/Color.inl index 1790ad687..72fc9a7a5 100644 --- a/include/Nazara/Core/Color.inl +++ b/include/Nazara/Core/Color.inl @@ -51,18 +51,24 @@ inline NzString NzColor::ToString() const inline NzColor NzColor::operator+(const NzColor& color) const { - return NzColor(std::min(static_cast(r) + color.r, 255), - std::min(static_cast(g) + color.g, 255), - std::min(static_cast(b) + color.b, 255), - std::min(static_cast(a) + color.a, 255)); + NzColor c; + c.r = std::min(static_cast(r) + static_cast(color.r), 255U); + c.g = std::min(static_cast(g) + static_cast(color.g), 255U); + c.b = std::min(static_cast(b) + static_cast(color.b), 255U); + c.a = std::min(static_cast(a) + static_cast(color.a), 255U); + + return c; } inline NzColor NzColor::operator*(const NzColor& color) const { - return NzColor(static_cast(r) * color.r/255, - static_cast(g) * color.g/255, - static_cast(b) * color.b/255, - static_cast(a) * color.a/255); + NzColor c; + c.r = (static_cast(r) * static_cast(color.r)) / 255U; + c.g = (static_cast(g) * static_cast(color.g)) / 255U; + c.b = (static_cast(b) * static_cast(color.b)) / 255U; + c.a = (static_cast(a) * static_cast(color.a)) / 255U; + + return c; } inline NzColor NzColor::operator+=(const NzColor& color) @@ -72,7 +78,7 @@ inline NzColor NzColor::operator+=(const NzColor& color) inline NzColor NzColor::operator*=(const NzColor& color) { - return operator=(operator+(color)); + return operator=(operator*(color)); } inline bool NzColor::operator==(const NzColor& color) const