falling back to wxImage handler

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2005-01-04 06:22:37 +00:00
parent 4b60ad0d8c
commit 1996c23f8c

View File

@@ -19,6 +19,7 @@
IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap)
#endif
#include "wx/image.h"
#include "wx/mac/private.h"
@@ -61,14 +62,31 @@ bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type,
{
UnRef();
m_refData = new wxBitmapRefData;
wxBitmapHandler *handler = FindHandler((wxBitmapType)type);
wxBitmapHandler *handler = FindHandler(type);
if ( handler )
return handler->LoadFile(this, filename, type, desiredWidth, desiredHeight);
{
m_refData = new wxBitmapRefData;
return handler->LoadFile(this, filename, type, desiredWidth, desiredHeight );
}
else
return FALSE;
{
wxImage loadimage(filename, type);
if (loadimage.Ok())
{
if ( desiredWidth == -1 )
desiredWidth = loadimage.GetWidth() ;
if ( desiredHeight == -1 )
desiredHeight = loadimage.GetHeight() ;
if ( desiredWidth != loadimage.GetWidth() || desiredHeight != loadimage.GetHeight() )
loadimage.Rescale( desiredWidth , desiredHeight ) ;
wxBitmap bmp( loadimage );
wxIcon *icon = (wxIcon*)(&bmp);
*this = *icon;
return true;
}
}
return false ;
}
void wxIcon::CopyFromBitmap(const wxBitmap& bmp)