X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..027d45e8fc3cbb7a1efa91c727bcee6c52c4519c:/src/mac/carbon/imaglist.cpp diff --git a/src/mac/carbon/imaglist.cpp b/src/mac/carbon/imaglist.cpp index 9124331de4..466cc56ce1 100644 --- a/src/mac/carbon/imaglist.cpp +++ b/src/mac/carbon/imaglist.cpp @@ -7,29 +7,23 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -// 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); @@ -72,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 ) @@ -83,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 @@ -120,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 @@ -135,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 ) @@ -150,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 ); } @@ -162,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 ); } @@ -175,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) { @@ -224,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(); @@ -236,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 {