X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a3e173a02857f1f2e166e068331d1a42b85f391..d2e66707deb10dea6f92e3e4092f8a43ef942a5d:/src/generic/imaglist.cpp diff --git a/src/generic/imaglist.cpp b/src/generic/imaglist.cpp index d31386bbb5..54203dbb7b 100644 --- a/src/generic/imaglist.cpp +++ b/src/generic/imaglist.cpp @@ -2,7 +2,7 @@ // Name: src/generic/imaglist.cpp // Purpose: // Author: Robert Roebling -// Id: $id$ +// Id: $Id$ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -14,7 +14,7 @@ #pragma hdrstop #endif -#if wxUSE_IMAGLIST +#if wxUSE_IMAGLIST && !defined(wxHAS_NATIVE_IMAGELIST) #ifndef __WXPALMOS__ @@ -31,15 +31,7 @@ //----------------------------------------------------------------------------- IMPLEMENT_DYNAMIC_CLASS(wxGenericImageList, wxObject) - -#if !HAVE_NATIVE_IMAGELIST -/* - * wxImageList has to be a real class or we have problems with - * the run-time information. - */ - IMPLEMENT_DYNAMIC_CLASS(wxImageList, wxGenericImageList) -#endif wxGenericImageList::wxGenericImageList( int width, int height, bool mask, int initialCount ) { @@ -73,8 +65,10 @@ int wxGenericImageList::Add( const wxBitmap &bitmap ) { wxASSERT_MSG( (bitmap.GetWidth() >= m_width && bitmap.GetHeight() == m_height) || (m_width == 0 && m_height == 0), - _T("invalid bitmap size in wxImageList: this might work ") - _T("on this platform but definitely won't under Windows.") ); + wxT("invalid bitmap size in wxImageList: this might work ") + wxT("on this platform but definitely won't under Windows.") ); + + const int index = int(m_images.GetCount()); if (bitmap.IsKindOf(CLASSINFO(wxIcon))) { @@ -82,7 +76,7 @@ int wxGenericImageList::Add( const wxBitmap &bitmap ) } else { - // Mimic behavior of Windows ImageList_Add that automatically breaks up the added + // Mimic behaviour of Windows ImageList_Add that automatically breaks up the added // bitmap into sub-images of the correct size if (m_width > 0 && bitmap.GetWidth() > m_width && bitmap.GetHeight() >= m_height) { @@ -106,13 +100,13 @@ int wxGenericImageList::Add( const wxBitmap &bitmap ) m_height = bitmap.GetHeight(); } - return m_images.GetCount()-1; + return index; } int wxGenericImageList::Add( const wxBitmap& bitmap, const wxBitmap& mask ) { wxBitmap bmp(bitmap); - if (mask.Ok()) + if (mask.IsOk()) bmp.SetMask(new wxMask(mask)); return Add(bmp); } @@ -126,9 +120,9 @@ int wxGenericImageList::Add( const wxBitmap& bitmap, const wxColour& maskColour const wxBitmap *wxGenericImageList::GetBitmapPtr( int index ) const { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); - wxCHECK_MSG( node, (wxBitmap *) NULL, wxT("wrong index in image list") ); + wxCHECK_MSG( node, NULL, wxT("wrong index in image list") ); return (wxBitmap*)node->GetData(); } @@ -159,7 +153,7 @@ wxIcon wxGenericImageList::GetIcon(int index) const bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap ) { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); @@ -181,7 +175,7 @@ bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap ) } else { - wxList::compatibility_iterator next = node->GetNext(); + wxObjectList::compatibility_iterator next = node->GetNext(); delete node->GetData(); m_images.Erase( node ); m_images.Insert( next, newBitmap ); @@ -192,7 +186,7 @@ bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap ) bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap, const wxBitmap &mask ) { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); @@ -214,13 +208,13 @@ bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap, const wxBit } else { - wxList::compatibility_iterator next = node->GetNext(); + wxObjectList::compatibility_iterator next = node->GetNext(); delete node->GetData(); m_images.Erase( node ); m_images.Insert( next, newBitmap ); } - if (mask.Ok()) + if (mask.IsOk()) newBitmap->SetMask(new wxMask(mask)); return true; @@ -228,7 +222,7 @@ bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap, const wxBit bool wxGenericImageList::Remove( int index ) { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); @@ -240,7 +234,7 @@ bool wxGenericImageList::Remove( int index ) bool wxGenericImageList::RemoveAll() { - WX_CLEAR_LIST(wxList, m_images); + WX_CLEAR_LIST(wxObjectList, m_images); m_images.Clear(); return true; @@ -251,7 +245,7 @@ bool wxGenericImageList::GetSize( int index, int &width, int &height ) const width = 0; height = 0; - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); @@ -265,7 +259,7 @@ bool wxGenericImageList::GetSize( int index, int &width, int &height ) const bool wxGenericImageList::Draw( int index, wxDC &dc, int x, int y, int flags, bool WXUNUSED(solidBackground) ) { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") );