// Cache class - stores already requested bitmaps
// ----------------------------------------------------------------------------
-WX_DECLARE_STRING_HASH_MAP(wxBitmap, wxArtProviderBitmapsHash);
+WX_DECLARE_EXPORTED_STRING_HASH_MAP(wxBitmap, wxArtProviderBitmapsHash);
class WXDLLEXPORT wxArtProviderCache
{
{ m_bitmapsHash[full_id] = bmp; }
void Clear();
-
+
static wxString ConstructHashID(const wxArtID& id,
const wxArtClient& client,
const wxSize& size);
}
sm_providers->Insert(provider);
+ sm_cache->Clear();
}
/*static*/ bool wxArtProvider::PopProvider()
sm_cache->Clear();
return TRUE;
}
-
+
return FALSE;
}
bmp = node->GetData()->CreateBitmap(id, client, size);
if ( bmp.Ok() )
{
- if ( size != wxDefaultSize &&
+ if ( size != wxDefaultSize &&
(bmp.GetWidth() != size.x || bmp.GetHeight() != size.y) )
{
wxImage img = bmp.ConvertToImage();
wxCHECK_MSG( sm_providers, wxNullIcon, _T("no wxArtProvider exists") );
wxBitmap bmp = GetBitmap(id, client, size);
- if ( bmp.Ok() )
- {
- wxIcon icon;
- icon.CopyFromBitmap(bmp);
- return icon;
- }
- else
- {
+ if ( !bmp.Ok() )
return wxNullIcon;
- }
-}
+ wxIcon icon;
+ icon.CopyFromBitmap(bmp);
+ return icon;
+}
class wxArtProviderModule: public wxModule