X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e4a84806c650d56258e9ccc5fb27c42cbd18632a..7735b2ea691f41d7a7f007befbe969386873b86e:/src/msw/imaglist.cpp diff --git a/src/msw/imaglist.cpp b/src/msw/imaglist.cpp index 317bc0f788..a9108a1b39 100644 --- a/src/msw/imaglist.cpp +++ b/src/msw/imaglist.cpp @@ -38,6 +38,8 @@ #endif #include "wx/imaglist.h" +#include "wx/dc.h" +#include "wx/msw/dc.h" #include "wx/msw/private.h" // ---------------------------------------------------------------------------- @@ -117,7 +119,7 @@ wxImageList::~wxImageList() // 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()); } @@ -125,7 +127,7 @@ int wxImageList::GetImageCount() const // 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; } @@ -241,8 +243,13 @@ bool wxImageList::Draw(int index, 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 ) @@ -278,7 +285,7 @@ bool wxImageList::Draw(int index, // 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);