]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/imaglist.cpp
Fixed bug in dc::blit()
[wxWidgets.git] / src / generic / imaglist.cpp
index 61819c387aba02e92c09219ef7e689ce7cca33ad..fcc9c4e1739471625b567f1cdd21018a88073c1b 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        imaglist.cpp
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -25,29 +24,37 @@ wxImageList::wxImageList( int width, int height, bool WXUNUSED(mask), int WXUNUS
   m_width = width;
   m_height = height;
   Create();
-};
+}
 
 wxImageList::~wxImageList()
 {
-};
+}
 
 int wxImageList::GetImageCount() const
 {
   return m_images.Number();
-};
+}
 
 bool wxImageList::Create()
 {
   m_images.DeleteContents( TRUE );
   return TRUE;
-};
+}
 
 int wxImageList::Add( const wxBitmap &bitmap )
 {
   m_images.Append( new wxBitmap(bitmap) );
   return m_images.Number();
-};
+}
 
+const wxBitmap *wxImageList::GetBitmap(int index) const {
+  wxNode *node = m_images.Nth(index);
+  if (node != NULL)
+    return (wxBitmap*)node->Data();
+
+  return (wxBitmap *) NULL;
+}
+    
 bool wxImageList::Replace( int index, const wxBitmap &bitmap )
 {
   wxNode *node = m_images.Nth( index );
@@ -63,35 +70,26 @@ bool wxImageList::Replace( int index, const wxBitmap &bitmap )
     wxNode *next = node->Next();
     m_images.DeleteNode( node );
     m_images.Insert( next, new wxBitmap(bitmap) );
-  };
+  }
   
   return TRUE;
-};
+}
 
 bool wxImageList::Remove( int index )
 {
   wxNode *node = m_images.Nth( index );
   if (node) m_images.DeleteNode( node );
   return (node != NULL);
-};
+}
 
 bool wxImageList::RemoveAll()
 {
   m_images.Clear();
   return TRUE;
-};
+}
 
 bool wxImageList::GetSize( int index, int &width, int &height ) const
 {
-#ifdef __WXGTK__
-
-  width = m_width;
-  height = m_height;
-  
-  return (m_images.Nth( index ) != NULL);
-  
-#else
-  
   wxNode *node = m_images.Nth( index );
   if (node)
   {
@@ -105,10 +103,8 @@ bool wxImageList::GetSize( int index, int &width, int &height ) const
     width = 0;
     height = 0;
     return FALSE;
-  };
-
-#endif  
-};
+  }
+}
 
 bool wxImageList::Draw( int index, wxDC &dc, int x, int y,
                         int flags, bool WXUNUSED(solidBackground) )
@@ -117,23 +113,10 @@ bool wxImageList::Draw( int index, wxDC &dc, int x, int y,
   if (!node) return FALSE;
   wxBitmap *bm = (wxBitmap*)node->Data();
   
-#ifdef __WXGTK__
-
-  // As X doesn't have a standard size for icons, we resize here.
-  // Otherwise we'd simply have to forbid different bitmap sizes.
-
-  if ((m_width != bm->GetWidth()) ||
-      (m_height != bm->GetHeight()))
-  {
-    bm->Resize( m_width, m_height );
-  };
-  
-#endif  
-  
   wxIcon *icon = (wxIcon*)bm;
   dc.DrawIcon( *icon, x, y, (flags & wxIMAGELIST_DRAW_TRANSPARENT) > 0 );
 
   return TRUE;
-};
+}