X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/939fadc8aab8cc85906685ed6cdcb46d28f27903..e87b78335291c67025c5a763c2acfb22343f9908:/src/common/image.cpp diff --git a/src/common/image.cpp b/src/common/image.cpp index 10035ce965..5192bc06d8 100644 --- a/src/common/image.cpp +++ b/src/common/image.cpp @@ -32,6 +32,7 @@ #include "wx/intl.h" #include "wx/module.h" #include "wx/hash.h" +#include "wx/utils.h" // For memcpy #include @@ -1127,7 +1128,7 @@ bool wxImage::CanRead( wxInputStream &stream ) { const wxList& list = GetHandlers(); - for ( wxList::Node *node = list.GetFirst(); node; node = node->GetNext() ) + for ( wxList::compatibility_iterator node = list.GetFirst(); node; node = node->GetNext() ) { wxImageHandler *handler=(wxImageHandler*)node->GetData(); if (handler->CanRead( stream )) @@ -1145,7 +1146,7 @@ int wxImage::GetImageCount( wxInputStream &stream, long type ) { wxList &list=GetHandlers(); - for (wxList::Node *node = list.GetFirst(); node; node = node->GetNext()) + for (wxList::compatibility_iterator node = list.GetFirst(); node; node = node->GetNext()) { handler=(wxImageHandler*)node->GetData(); if ( handler->CanRead(stream) ) @@ -1188,7 +1189,7 @@ bool wxImage::LoadFile( wxInputStream& stream, long type, int index ) { wxList &list=GetHandlers(); - for ( wxList::Node *node = list.GetFirst(); node; node = node->GetNext() ) + for ( wxList::compatibility_iterator node = list.GetFirst(); node; node = node->GetNext() ) { handler=(wxImageHandler*)node->GetData(); if ( handler->CanRead(stream) ) @@ -1265,9 +1266,6 @@ bool wxImage::SaveFile( wxOutputStream& stream, const wxString& mimetype ) const void wxImage::AddHandler( wxImageHandler *handler ) { - // make sure that the memory will be freed at the program end - sm_handlers.DeleteContents(true); - // Check for an existing handler of the type being added. if (FindHandler( handler->GetType() ) == 0) { @@ -1289,9 +1287,6 @@ void wxImage::AddHandler( wxImageHandler *handler ) void wxImage::InsertHandler( wxImageHandler *handler ) { - // make sure that the memory will be freed at the program end - sm_handlers.DeleteContents(true); - // Check for an existing handler of the type being added. if (FindHandler( handler->GetType() ) == 0) { @@ -1312,6 +1307,7 @@ bool wxImage::RemoveHandler( const wxString& name ) if (handler) { sm_handlers.DeleteObject(handler); + delete handler; return true; } else @@ -1320,7 +1316,7 @@ bool wxImage::RemoveHandler( const wxString& name ) wxImageHandler *wxImage::FindHandler( const wxString& name ) { - wxNode *node = sm_handlers.GetFirst(); + wxList::compatibility_iterator node = sm_handlers.GetFirst(); while (node) { wxImageHandler *handler = (wxImageHandler*)node->GetData(); @@ -1333,7 +1329,7 @@ wxImageHandler *wxImage::FindHandler( const wxString& name ) wxImageHandler *wxImage::FindHandler( const wxString& extension, long bitmapType ) { - wxNode *node = sm_handlers.GetFirst(); + wxList::compatibility_iterator node = sm_handlers.GetFirst(); while (node) { wxImageHandler *handler = (wxImageHandler*)node->GetData(); @@ -1347,7 +1343,7 @@ wxImageHandler *wxImage::FindHandler( const wxString& extension, long bitmapType wxImageHandler *wxImage::FindHandler( long bitmapType ) { - wxNode *node = sm_handlers.GetFirst(); + wxList::compatibility_iterator node = sm_handlers.GetFirst(); while (node) { wxImageHandler *handler = (wxImageHandler *)node->GetData(); @@ -1359,7 +1355,7 @@ wxImageHandler *wxImage::FindHandler( long bitmapType ) wxImageHandler *wxImage::FindHandlerMime( const wxString& mimetype ) { - wxNode *node = sm_handlers.GetFirst(); + wxList::compatibility_iterator node = sm_handlers.GetFirst(); while (node) { wxImageHandler *handler = (wxImageHandler *)node->GetData(); @@ -1378,24 +1374,24 @@ void wxImage::InitStandardHandlers() void wxImage::CleanUpHandlers() { - wxNode *node = sm_handlers.GetFirst(); + wxList::compatibility_iterator node = sm_handlers.GetFirst(); while (node) { wxImageHandler *handler = (wxImageHandler *)node->GetData(); - wxNode *next = node->GetNext(); + wxList::compatibility_iterator next = node->GetNext(); delete handler; - delete node; node = next; } -} + sm_handlers.Clear(); +} wxString wxImage::GetImageExtWildcard() { wxString fmts; wxList& Handlers = wxImage::GetHandlers(); - wxNode* Node = Handlers.GetFirst(); + wxList::compatibility_iterator Node = Handlers.GetFirst(); while ( Node ) { wxImageHandler* Handler = (wxImageHandler*)Node->GetData(); @@ -1407,7 +1403,6 @@ wxString wxImage::GetImageExtWildcard() return wxT("(") + fmts + wxT(")|") + fmts; } - //----------------------------------------------------------------------------- // wxImageHandler //----------------------------------------------------------------------------- @@ -1468,37 +1463,6 @@ bool wxImageHandler::CallDoCanRead(wxInputStream& stream) #endif // wxUSE_STREAMS - - -//----------------------------------------------------------------------------- -// Deprecated wxBitmap conversion routines -//----------------------------------------------------------------------------- - -#if WXWIN_COMPATIBILITY_2_2 && wxUSE_GUI - -#ifdef __WXGTK__ -wxBitmap wxImage::ConvertToMonoBitmap( unsigned char red, unsigned char green, unsigned char blue ) const -{ - wxImage mono = this->ConvertToMono( red, green, blue ); - wxBitmap bitmap( mono, 1 ); - return bitmap; -} -#endif - -wxBitmap wxImage::ConvertToBitmap() const -{ - wxBitmap bitmap( *this ); - return bitmap; -} - -wxImage::wxImage( const wxBitmap &bitmap ) -{ - *this = bitmap.ConvertToImage(); -} - -#endif // WXWIN_COMPATIBILITY_2_2 && wxUSE_GUI - - // ---------------------------------------------------------------------------- // image histogram stuff // ----------------------------------------------------------------------------