Suboptimal wxColour::CreateByName implementation for wxMotif.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon 2003-10-23 21:49:44 +00:00
parent 38d6b9572c
commit c0a83c519b
2 changed files with 24 additions and 1 deletions

View File

@ -66,7 +66,10 @@ public:
inline bool operator == (const wxColour& colour) const { return (m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue); }
inline bool operator != (const wxColour& colour) const { return (!(m_red == colour.m_red && m_green == colour.m_green && m_blue == colour.m_blue)); }
// Get colour from name or wxNullColour
static wxColour CreateByName(const wxString& name);
// Allocate a colour, or nearest colour, using the given display.
// If realloc is TRUE, ignore the existing pixel, otherwise just return
// the existing one.

View File

@ -63,6 +63,26 @@ void wxColour::InitFromName(const wxString& name)
*this = wxTheColourDatabase->Find(name);
}
/* static */
wxColour wxColour::CreateByName(const wxString& name)
{
wxColour col;
Display *dpy = wxGlobalDisplay();
WXColormap colormap = wxTheApp->GetMainColormap( dpy );
XColor xcol;
if ( XParseColor( dpy, (Colormap)colormap, name.mb_str(), &xcol ) )
{
col.m_red = xcol.red & 0xff;
col.m_green = xcol.green & 0xff;
col.m_blue = xcol.blue & 0xff;
col.m_isInit = TRUE;
col.m_pixel = -1;
}
return col;
}
wxColour::~wxColour ()
{
}