col->green = (m_green << 8) + m_green;
}
-wxColour::~wxColour ()
-{
-}
-
wxColour& wxColour::operator=(const RGBColor& col)
{
InitRGBColor(col);
return *this;
}
+wxColour& wxColour::operator=(const wxColour& col)
+{
+ m_red = col.m_red;
+ m_green = col.m_green;
+ m_blue = col.m_blue;
+ m_alpha = col.m_alpha;
+ m_cgColour = col.m_cgColour;
+ return *this;
+}
+
void wxColour::InitRGBA (ChannelType r, ChannelType g, ChannelType b, ChannelType a)
{
m_red = r;
CGColorRef col = 0 ;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
if ( CGColorCreateGenericRGB )
- col = CGColorCreateGenericRGB( r / 255.0, g / 255.0, b / 255.0, a / 255.0 );
+ col = CGColorCreateGenericRGB( (CGFloat)(r / 255.0), (CGFloat) (g / 255.0), (CGFloat) (b / 255.0), (CGFloat) (a / 255.0) );
else
#endif
{
- CGFloat components[4] = { r / 255.0, g / 255.0, b / 255.0, a / 255.0 } ;
+ CGFloat components[4] = { (CGFloat)(r / 255.0), (CGFloat) (g / 255.0), (CGFloat) (b / 255.0), (CGFloat) (a / 255.0) } ;
col = CGColorCreate( wxMacGetGenericRGBColorSpace() , components ) ;
}
m_cgColour.reset( col );
CGColorRef cfcol;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
if ( CGColorCreateGenericRGB )
- cfcol = CGColorCreateGenericRGB( col.red / 65535.0, col.green / 65535.0, col.blue / 65535.0, 1.0 );
+ cfcol = CGColorCreateGenericRGB((CGFloat)(col.red / 65535.0), (CGFloat)(col.green / 65535.0),
+ (CGFloat)(col.blue / 65535.0), (CGFloat) 1.0 );
else
#endif
{
- CGFloat components[4] = { col.red / 65535.0, col.green / 65535.0, col.blue / 65535.0, 1.0 } ;
+ CGFloat components[4] = { (CGFloat)(col.red / 65535.0), (CGFloat)(col.green / 65535.0),
+ (CGFloat)(col.blue / 65535.0), (CGFloat) 1.0 } ;
cfcol = CGColorCreate( wxMacGetGenericRGBColorSpace() , components ) ;
}
m_cgColour.reset( cfcol );
{
m_cgColour.reset( col );
size_t noComp = CGColorGetNumberOfComponents( col );
- if ( noComp >=3 && noComp <= 4 )
+ if ( noComp >= 1 && noComp <= 4 )
{
// TODO verify whether we really are on a RGB color space
+ m_alpha = wxALPHA_OPAQUE;
const CGFloat *components = CGColorGetComponents( col );
- m_red = (int)(components[0]*255+0.5);
- m_green = (int)(components[1]*255+0.5);
- m_blue = (int)(components[2]*255+0.5);
- if ( noComp == 4 )
- m_alpha = (int)(components[3]*255+0.5);
+ if ( noComp >= 3 )
+ {
+ m_red = (int)(components[0]*255+0.5);
+ m_green = (int)(components[1]*255+0.5);
+ m_blue = (int)(components[2]*255+0.5);
+ if ( noComp == 4 )
+ m_alpha = (int)(components[3]*255+0.5);
+ }
else
- m_alpha = wxALPHA_OPAQUE;
+ {
+ m_red = (int)(components[0]*255+0.5);
+ m_green = (int)(components[0]*255+0.5);
+ m_blue = (int)(components[0]*255+0.5);
+ }
}
else
{