From fa85685baae9f173ad64468485d789daee83d0ae Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Wed, 11 Sep 2013 10:30:39 +0200 Subject: [PATCH] Fixed COLOR4D( EDA_COLOR_T aColor ) and added asserts. --- common/gal/color4d.cpp | 6 +++--- include/gal/color4d.h | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/common/gal/color4d.cpp b/common/gal/color4d.cpp index b28b4d1b68..e2cd0af05e 100644 --- a/common/gal/color4d.cpp +++ b/common/gal/color4d.cpp @@ -30,9 +30,9 @@ using namespace KiGfx; COLOR4D::COLOR4D( EDA_COLOR_T aColor ) { - r = g_ColorRefs[aColor].m_Red; - g = g_ColorRefs[aColor].m_Green; - b = g_ColorRefs[aColor].m_Blue; + r = g_ColorRefs[aColor].m_Red / 255.0; + g = g_ColorRefs[aColor].m_Green / 255.0; + b = g_ColorRefs[aColor].m_Blue / 255.0; a = 1.0; } diff --git a/include/gal/color4d.h b/include/gal/color4d.h index d89a629c47..7398d796e8 100644 --- a/include/gal/color4d.h +++ b/include/gal/color4d.h @@ -28,6 +28,7 @@ #define COLOR4D_H_ #include +#include namespace KiGfx { @@ -55,6 +56,10 @@ public: COLOR4D( double aRed, double aGreen, double aBlue, double aAlpha ) : r( aRed ), g( aGreen ), b( aBlue ), a( aAlpha ) { + assert( r >= 0.0 && r <= 1.0 ); + assert( g >= 0.0 && g <= 1.0 ); + assert( b >= 0.0 && b <= 1.0 ); + assert( a >= 0.0 && a <= 1.0 ); } /** @@ -82,6 +87,8 @@ public: */ COLOR4D& Brighten( double aFactor ) { + assert( aFactor >= 0.0 && aFactor <= 1.0 ); + r = r * ( 1.0 - aFactor ) + aFactor; g = g * ( 1.0 - aFactor ) + aFactor; b = b * ( 1.0 - aFactor ) + aFactor; @@ -97,6 +104,8 @@ public: */ COLOR4D& Darken( double aFactor ) { + assert( aFactor >= 0.0 && aFactor <= 1.0 ); + r = r * ( 1.0 - aFactor ); g = g * ( 1.0 - aFactor ); b = b * ( 1.0 - aFactor ); @@ -126,6 +135,8 @@ public: */ COLOR4D Brightened( double aFactor ) const { + assert( aFactor >= 0.0 && aFactor <= 1.0 ); + return COLOR4D( r * ( 1.0 - aFactor ) + aFactor, g * ( 1.0 - aFactor ) + aFactor, b * ( 1.0 - aFactor ) + aFactor, @@ -140,6 +151,8 @@ public: */ COLOR4D Darkened( double aFactor ) const { + assert( aFactor >= 0.0 && aFactor <= 1.0 ); + return COLOR4D( r * ( 1.0 - aFactor ), g * ( 1.0 - aFactor ), b * ( 1.0 - aFactor ),