Add constructor and Set taking NSColor.
Change eqauality operator to check if the NSColor objects are the same instance or if all of the color components (m_red/green/blue) are identical. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
1837499892
commit
d8fdd58fa3
@ -31,6 +31,9 @@ public:
|
|||||||
: m_cocoaNSColor(NULL)
|
: m_cocoaNSColor(NULL)
|
||||||
{ Set(colRGB); }
|
{ Set(colRGB); }
|
||||||
|
|
||||||
|
// initialization using existing NSColor
|
||||||
|
wxColour( WX_NSColor aColor );
|
||||||
|
|
||||||
// implicit conversion from the colour name
|
// implicit conversion from the colour name
|
||||||
wxColour( const wxString &colourName )
|
wxColour( const wxString &colourName )
|
||||||
{ InitFromName(colourName); }
|
{ InitFromName(colourName); }
|
||||||
@ -57,11 +60,11 @@ public:
|
|||||||
// comparison
|
// comparison
|
||||||
bool operator == (const wxColour& colour) const
|
bool operator == (const wxColour& colour) const
|
||||||
{
|
{
|
||||||
// VZ: sure we want to compare NSColor objects for equality here?
|
// TODO: Really compare the NSColor
|
||||||
return (m_cocoaNSColor == colour.m_cocoaNSColor
|
return (m_cocoaNSColor == colour.m_cocoaNSColor
|
||||||
&& m_red == colour.m_red
|
|| (m_red == colour.m_red
|
||||||
&& m_green == colour.m_green
|
&& m_green == colour.m_green
|
||||||
&& m_blue == colour.m_blue);
|
&& m_blue == colour.m_blue));
|
||||||
}
|
}
|
||||||
bool operator != (const wxColour& colour) const
|
bool operator != (const wxColour& colour) const
|
||||||
{ return !(*this == colour); }
|
{ return !(*this == colour); }
|
||||||
@ -76,6 +79,7 @@ public:
|
|||||||
(unsigned char)(colRGB >> 8),
|
(unsigned char)(colRGB >> 8),
|
||||||
(unsigned char)(colRGB >> 16));
|
(unsigned char)(colRGB >> 16));
|
||||||
}
|
}
|
||||||
|
void Set( WX_NSColor aColor );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// puts the object in an invalid, uninitialized state
|
// puts the object in an invalid, uninitialized state
|
||||||
|
@ -39,6 +39,12 @@ wxColour::wxColour (const wxColour& col)
|
|||||||
[m_cocoaNSColor retain];
|
[m_cocoaNSColor retain];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxColour::wxColour( WX_NSColor aColor )
|
||||||
|
: m_cocoaNSColor(nil)
|
||||||
|
{
|
||||||
|
Set(aColor);
|
||||||
|
}
|
||||||
|
|
||||||
wxColour& wxColour::operator =(const wxColour& col)
|
wxColour& wxColour::operator =(const wxColour& col)
|
||||||
{
|
{
|
||||||
m_cocoaNSColor = col.m_cocoaNSColor;
|
m_cocoaNSColor = col.m_cocoaNSColor;
|
||||||
@ -80,3 +86,18 @@ void wxColour::Set (unsigned char r, unsigned char g, unsigned char b)
|
|||||||
m_blue = b;
|
m_blue = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxColour::Set( WX_NSColor aColor )
|
||||||
|
{
|
||||||
|
[aColor retain];
|
||||||
|
[m_cocoaNSColor release];
|
||||||
|
m_cocoaNSColor = aColor;
|
||||||
|
|
||||||
|
/* Make a temporary color in RGB format and get the values. Note that
|
||||||
|
unless the color was actually RGB to begin with it's likely that
|
||||||
|
these will be fairly bogus. Particulary if the color is a pattern. */
|
||||||
|
NSColor *rgbColor = [m_cocoaNSColor colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
|
||||||
|
m_red = [rgbColor redComponent]*255.0;
|
||||||
|
m_green = [rgbColor greenComponent]*255.0;
|
||||||
|
m_blue = [rgbColor blueComponent]*255.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user