X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4ce1efe123a9b5f7dbb5be4aaf3dd0a21b399f38..0b7824d78a475810924776e02004723cc4e20c84:/src/msw/gdiimage.cpp diff --git a/src/msw/gdiimage.cpp b/src/msw/gdiimage.cpp index 7d04d9be55..9ac518a065 100644 --- a/src/msw/gdiimage.cpp +++ b/src/msw/gdiimage.cpp @@ -39,7 +39,15 @@ #include "wx/bitmap.h" #include "wx/msw/gdiimage.h" + +#if wxUSE_WXDIB #include "wx/msw/dib.h" +#endif + +#ifdef __WXWINCE__ +#include +#include +#endif #include "wx/listimpl.cpp" WX_DEFINE_LIST(wxGDIImageHandlerList); @@ -236,7 +244,7 @@ bool wxGDIImage::RemoveHandler(const wxString& name) wxGDIImageHandler *wxGDIImage::FindHandler(const wxString& name) { - wxGDIImageHandlerList::Node *node = ms_handlers.GetFirst(); + wxGDIImageHandlerList::compatibility_iterator node = ms_handlers.GetFirst(); while ( node ) { wxGDIImageHandler *handler = node->GetData(); @@ -251,7 +259,7 @@ wxGDIImageHandler *wxGDIImage::FindHandler(const wxString& name) wxGDIImageHandler *wxGDIImage::FindHandler(const wxString& extension, long type) { - wxGDIImageHandlerList::Node *node = ms_handlers.GetFirst(); + wxGDIImageHandlerList::compatibility_iterator node = ms_handlers.GetFirst(); while ( node ) { wxGDIImageHandler *handler = node->GetData(); @@ -268,7 +276,7 @@ wxGDIImageHandler *wxGDIImage::FindHandler(const wxString& extension, wxGDIImageHandler *wxGDIImage::FindHandler(long type) { - wxGDIImageHandlerList::Node *node = ms_handlers.GetFirst(); + wxGDIImageHandlerList::compatibility_iterator node = ms_handlers.GetFirst(); while ( node ) { wxGDIImageHandler *handler = node->GetData(); @@ -283,13 +291,13 @@ wxGDIImageHandler *wxGDIImage::FindHandler(long type) void wxGDIImage::CleanUpHandlers() { - wxGDIImageHandlerList::Node *node = ms_handlers.GetFirst(); + wxGDIImageHandlerList::compatibility_iterator node = ms_handlers.GetFirst(); while ( node ) { wxGDIImageHandler *handler = node->GetData(); - wxGDIImageHandlerList::Node *next = node->GetNext(); + wxGDIImageHandlerList::compatibility_iterator next = node->GetNext(); delete handler; - delete node; + ms_handlers.Erase( node ); node = next; } } @@ -345,11 +353,15 @@ bool wxBMPFileHandler::LoadFile(wxBitmap *bitmap, int WXUNUSED(desiredWidth), int WXUNUSED(desiredHeight)) { +#if wxUSE_WXDIB wxCHECK_MSG( bitmap, false, _T("NULL bitmap in LoadFile") ); wxDIB dib(name); return dib.IsOk() && bitmap->CopyFromDIB(dib); +#else + return FALSE; +#endif } bool wxBMPFileHandler::SaveFile(wxBitmap *bitmap, @@ -357,11 +369,15 @@ bool wxBMPFileHandler::SaveFile(wxBitmap *bitmap, int WXUNUSED(type), const wxPalette * WXUNUSED(pal)) { +#if wxUSE_WXDIB wxCHECK_MSG( bitmap, false, _T("NULL bitmap in SaveFile") ); wxDIB dib(*bitmap); return dib.Save(name); +#else + return FALSE; +#endif } // ---------------------------------------------------------------------------- @@ -373,14 +389,6 @@ bool wxICOFileHandler::LoadIcon(wxIcon *icon, long WXUNUSED(flags), int desiredWidth, int desiredHeight) { -#ifdef __DIGITALMARS__ -//FIXME __DIGITALMARS__ April 2003 CE - // why no ExtractIcon in library - wxLogTrace(_T("iconload"), - _T("Returning false from wxICOFileHandler::Load because of DigitalMars compiler bug")); - - return false; -#else icon->UnRef(); // actual size @@ -423,7 +431,7 @@ bool wxICOFileHandler::LoadIcon(wxIcon *icon, } else #endif - // were we asked for a large icon? + // were we asked for a large icon? if ( desiredWidth == ::GetSystemMetrics(SM_CXICON) && desiredHeight == ::GetSystemMetrics(SM_CYICON) ) { @@ -450,11 +458,13 @@ bool wxICOFileHandler::LoadIcon(wxIcon *icon, } //else: not standard size, load below +#ifndef __WXWINCE__ if ( !hicon ) { // take any size icon from the file by index hicon = ::ExtractIcon(wxGetInstance(), nameReal, iconIndex); } +#endif if ( !hicon ) { @@ -483,7 +493,6 @@ bool wxICOFileHandler::LoadIcon(wxIcon *icon, icon->SetSize(size.x, size.y); return icon->Ok(); -#endif // Digitalmars } bool wxICOResourceHandler::LoadIcon(wxIcon *icon, @@ -517,6 +526,7 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon, } // next check if it's not a standard icon +#ifndef __WXWINCE__ if ( !hicon && !hasSize ) { static const struct @@ -539,6 +549,7 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon, } } } +#endif wxSize size = wxGetHiconSize(hicon); icon->SetSize(size.x, size.y); @@ -555,7 +566,7 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon, wxSize wxGetHiconSize(HICON hicon) { wxSize size(32, 32); // default - +#ifndef __WXWINCE__ if ( hicon && wxGetOsVersion() != wxWIN32S ) { ICONINFO info; @@ -580,7 +591,7 @@ wxSize wxGetHiconSize(HICON hicon) ::DeleteObject(info.hbmColor); } } - +#endif return size; }