#endif
#include "wx/imaglist.h"
+#include "wx/dc.h"
+#include "wx/msw/dc.h"
#include "wx/msw/private.h"
// ----------------------------------------------------------------------------
// Returns the number of images in the image list.
int wxImageList::GetImageCount() const
{
- wxASSERT_MSG( m_hImageList, _T("invalid image list") );
+ wxASSERT_MSG( m_hImageList, wxT("invalid image list") );
return ImageList_GetImageCount(GetHImageList());
}
// Returns the size (same for all images) of the images in the list
bool wxImageList::GetSize(int WXUNUSED(index), int &width, int &height) const
{
- wxASSERT_MSG( m_hImageList, _T("invalid image list") );
+ wxASSERT_MSG( m_hImageList, wxT("invalid image list") );
return ImageList_GetIconSize(GetHImageList(), &width, &height) != 0;
}
int flags,
bool solidBackground)
{
- HDC hDC = GetHdcOf(dc);
- wxCHECK_MSG( hDC, false, _T("invalid wxDC in wxImageList::Draw") );
+ wxDCImpl *impl = dc.GetImpl();
+ wxMSWDCImpl *msw_impl = wxDynamicCast( impl, wxMSWDCImpl );
+ if (!msw_impl)
+ return false;
+
+ HDC hDC = GetHdcOf(*msw_impl);
+ wxCHECK_MSG( hDC, false, wxT("invalid wxDC in wxImageList::Draw") );
COLORREF clr = CLR_NONE; // transparent by default
if ( solidBackground )
// Get the bitmap
wxBitmap wxImageList::GetBitmap(int index) const
{
-#if wxUSE_WXDIB
+#if wxUSE_WXDIB && wxUSE_IMAGE
int bmp_width = 0, bmp_height = 0;
GetSize(index, bmp_width, bmp_height);