+ width = 0;
+ height = 0;
+
+ 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)))
+ {
+ wxIcon *bm = wx_static_cast( wxIcon* , obj ) ;
+ width = bm->GetWidth();
+ height = bm->GetHeight();
+ }
+ else
+ {
+ wxBitmap *bm = wx_static_cast( wxBitmap* , obj ) ;
+ width = bm->GetWidth();
+ height = bm->GetHeight();
+ }
+
+ return true;
+}
+
+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)))
+ {
+ wxIcon *bm = wx_static_cast( wxIcon* , obj ) ;
+ dc.DrawIcon( *bm , x, y );
+ }
+ else
+ {
+ wxBitmap *bm = wx_static_cast( wxBitmap* , obj ) ;
+ dc.DrawBitmap( *bm, x, y, (flags & wxIMAGELIST_DRAW_TRANSPARENT) > 0 );
+ }
+
+ return true;