diff --git a/EGkColor.h b/EGkColor.h index 4629188..706515f 100644 --- a/EGkColor.h +++ b/EGkColor.h @@ -52,14 +52,14 @@ class Color void Set( const int vCol[4]) { Set( vCol[0], vCol[1], vCol[2], vCol[3]) ; } void Set( double dRed, double dGreen, double dBlue, double dAlpha = 1) - { m_Col[RED] = (( dRed < 0) ? 0 : (( dRed > 1) ? MAX_RGB : int( dRed * MAX_RGB))) ; - m_Col[GREEN] = (( dGreen < 0) ? 0 : (( dGreen > 1) ? MAX_RGB : int( dGreen * MAX_RGB))) ; - m_Col[BLUE] = (( dBlue < 0) ? 0 : (( dBlue > 1) ? MAX_RGB : int( dBlue * MAX_RGB))) ; - m_Col[ALPHA] = (( dAlpha < 0) ? 0 : (( dAlpha > 1) ? MAX_ALPHA : int( dAlpha * MAX_ALPHA))) ; } + { m_Col[RED] = (( dRed < 0) ? 0 : (( dRed > 1) ? MAX_RGB : int( lround( dRed * MAX_RGB)))) ; + m_Col[GREEN] = (( dGreen < 0) ? 0 : (( dGreen > 1) ? MAX_RGB : int( lround( dGreen * MAX_RGB)))) ; + m_Col[BLUE] = (( dBlue < 0) ? 0 : (( dBlue > 1) ? MAX_RGB : int( lround( dBlue * MAX_RGB)))) ; + m_Col[ALPHA] = (( dAlpha < 0) ? 0 : (( dAlpha > 1) ? MAX_ALPHA : int( lround( dAlpha * MAX_ALPHA)))) ; } void SetAlpha( int nAlpha) { m_Col[ALPHA] = (( nAlpha < 0) ? 0 : (( nAlpha > MAX_ALPHA) ? MAX_ALPHA : nAlpha)) ; } void SetAlpha( double dAlpha) - { m_Col[ALPHA] = (( dAlpha < 0) ? 0 : (( dAlpha > 1) ? MAX_ALPHA : int( dAlpha * MAX_ALPHA))) ; } + { m_Col[ALPHA] = (( dAlpha < 0) ? 0 : (( dAlpha > 1) ? MAX_ALPHA : int( lround( dAlpha * MAX_ALPHA)))) ; } int GetIntRed( void) const { return m_Col[RED] ; } int GetIntGreen( void) const