X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6ce43ac97db5cab1373d2e3c158849faffa8128d..e7ead9d700b0fd3e216e5720e16fbf46d711607f:/src/mac/carbon/imaglist.cpp diff --git a/src/mac/carbon/imaglist.cpp b/src/mac/carbon/imaglist.cpp index 7892aadfd1..466cc56ce1 100644 --- a/src/mac/carbon/imaglist.cpp +++ b/src/mac/carbon/imaglist.cpp @@ -7,33 +7,23 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "imaglist.h" -#endif - -// For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #if wxUSE_IMAGLIST #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif #include "wx/defs.h" - #include "wx/imaglist.h" - #include "wx/icon.h" #include "wx/image.h" #include "wx/dc.h" -//----------------------------------------------------------------------------- -// wxImageList -//----------------------------------------------------------------------------- - IMPLEMENT_DYNAMIC_CLASS(wxImageList, wxObject) + wxImageList::wxImageList( int width, int height, bool mask, int initialCount ) { (void)Create(width, height, mask, initialCount); @@ -76,8 +66,8 @@ int wxImageList::Add( const wxIcon &bitmap ) m_width = bitmap.GetWidth(); m_height = bitmap.GetHeight(); } - - return m_images.GetCount()-1; + + return m_images.GetCount() - 1; } int wxImageList::Add( const wxBitmap &bitmap ) @@ -87,30 +77,32 @@ int wxImageList::Add( const wxBitmap &bitmap ) _T("invalid bitmap size in wxImageList: this might work ") _T("on this platform but definitely won't under Windows.") ); - m_images.Append( new wxBitmap(bitmap) ); + m_images.Append( new wxBitmap( bitmap ) ); if (m_width == 0 && m_height == 0) { m_width = bitmap.GetWidth(); m_height = bitmap.GetHeight(); } - - return m_images.GetCount()-1; + + return m_images.GetCount() - 1; } int wxImageList::Add( const wxBitmap& bitmap, const wxBitmap& mask ) { - wxBitmap bmp(bitmap); + wxBitmap bmp( bitmap ); if (mask.Ok()) - bmp.SetMask(new wxMask(mask)); - return Add(bmp); + bmp.SetMask( new wxMask( mask ) ); + + return Add( bmp ); } int wxImageList::Add( const wxBitmap& bitmap, const wxColour& maskColour ) { wxImage img = bitmap.ConvertToImage(); - img.SetMaskColour(maskColour.Red(), maskColour.Green(), maskColour.Blue()); - return Add(wxBitmap(img)); + img.SetMaskColour( maskColour.Red(), maskColour.Green(), maskColour.Blue() ); + + return Add( wxBitmap( img ) ); } // Get the bitmap @@ -124,9 +116,9 @@ wxBitmap wxImageList::GetBitmap(int index) const if ( obj == NULL ) return wxNullBitmap ; else if ( obj->IsKindOf(CLASSINFO(wxIcon)) ) - return wxBitmap( *(wx_static_cast(wxIcon*,obj)) ) ; - else - return *(wx_static_cast(wxBitmap*,obj)) ; + return wxBitmap( *(wx_static_cast(wxIcon*, obj)) ) ; + else + return *(wx_static_cast(wxBitmap*, obj)) ; } // Get the icon @@ -139,13 +131,13 @@ wxIcon wxImageList::GetIcon(int index) const wxObject* obj = (wxObject*) node->GetData(); if ( obj == NULL ) return wxNullIcon ; - else if( obj->IsKindOf(CLASSINFO(wxBitmap)) ) + else if ( obj->IsKindOf(CLASSINFO(wxBitmap)) ) { wxFAIL_MSG( wxT("cannot convert from bitmap to icon") ) ; return wxNullIcon ; } - else - return *(wx_static_cast(wxIcon*,obj)) ; + else + return *(wx_static_cast(wxIcon*, obj)) ; } bool wxImageList::Replace( int index, const wxBitmap &bitmap ) @@ -154,11 +146,12 @@ bool wxImageList::Replace( int index, const wxBitmap &bitmap ) wxCHECK_MSG( node, false, wxT("wrong index in image list") ); - wxBitmap* newBitmap = new wxBitmap(bitmap) ; + wxBitmap* newBitmap = new wxBitmap( bitmap ); if (index == (int) m_images.GetCount() - 1) { delete node->GetData(); + m_images.Erase( node ); m_images.Append( newBitmap ); } @@ -166,6 +159,7 @@ bool wxImageList::Replace( int index, const wxBitmap &bitmap ) { wxList::compatibility_iterator next = node->GetNext(); delete node->GetData(); + m_images.Erase( node ); m_images.Insert( next, newBitmap ); } @@ -179,7 +173,7 @@ bool wxImageList::Replace( int index, const wxIcon &bitmap ) wxCHECK_MSG( node, false, wxT("wrong index in image list") ); - wxIcon* newBitmap = new wxIcon(bitmap) ; + wxIcon* newBitmap = new wxIcon( bitmap ); if (index == (int) m_images.GetCount() - 1) { @@ -228,7 +222,7 @@ bool wxImageList::GetSize( int index, int &width, int &height ) const wxCHECK_MSG( node, false, wxT("wrong index in image list") ); wxObject *obj = (wxObject*)node->GetData(); - if( obj->IsKindOf(CLASSINFO(wxIcon))) + if (obj->IsKindOf(CLASSINFO(wxIcon))) { wxIcon *bm = wx_static_cast( wxIcon* , obj ) ; width = bm->GetWidth(); @@ -240,21 +234,23 @@ bool wxImageList::GetSize( int index, int &width, int &height ) const width = bm->GetWidth(); height = bm->GetHeight(); } + return true; } -bool wxImageList::Draw( int index, wxDC &dc, int x, int y, - int flags, bool WXUNUSED(solidBackground) ) +bool wxImageList::Draw( + int index, wxDC &dc, int x, int y, + int flags, bool WXUNUSED(solidBackground) ) { wxList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); wxObject *obj = (wxObject*)node->GetData(); - if( obj->IsKindOf(CLASSINFO(wxIcon))) + if (obj->IsKindOf(CLASSINFO(wxIcon))) { wxIcon *bm = wx_static_cast( wxIcon* , obj ) ; - dc.DrawIcon( *bm , x, y); + dc.DrawIcon( *bm , x, y ); } else {