wxBitmap& IconsCollection::GetColourBmp(const LSL::lslColor& colour) { const wxString key = lslTowxColour(colour).GetAsString(wxC2S_HTML_SYNTAX).AfterFirst('#'); //Search needed colour in collection (cache) and return it if found std::map<wxString, wxBitmap>::iterator itor = m_playerColorBmps.find(key); if (itor != m_playerColorBmps.end()) { return itor->second; //Or add new colour to collection } else { m_playerColorBmps[key] = getColourIcon(lslTowxColour(colour)); return m_playerColorBmps[key]; } }
void IconImageList::SetColourIcon( const wxColour& colour ) { const wxString key = getColourIconKey(colour); if ( m_player_colour_icons.find( key ) == m_player_colour_icons.end() ) m_player_colour_icons[key] = Add( getColourIcon(colour) ); }