IMPLEMENT_ABSTRACT_CLASS(wxMemoryDCImpl, wxMSWDCImpl)
-wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner )
+wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner )
: wxMSWDCImpl( owner )
{
- CreateCompatible(NULL);
- Init();
+ CreateCompatible(NULL);
+ Init();
}
-wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap )
- : wxMSWDCImpl( owner )
-{
- CreateCompatible(NULL);
- Init();
+wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap )
+ : wxMSWDCImpl( owner )
+{
+ CreateCompatible(NULL);
+ Init();
DoSelect(bitmap);
}
wxMemoryDCImpl::wxMemoryDCImpl( wxMemoryDC *owner, wxDC *dc )
- : wxMSWDCImpl( owner )
+ : wxMSWDCImpl( owner )
{
- wxCHECK_RET( dc, _T("NULL dc in wxMemoryDC ctor") );
+ wxCHECK_RET( dc, wxT("NULL dc in wxMemoryDC ctor") );
CreateCompatible(dc);
bool wxMemoryDCImpl::CreateCompatible(wxDC *dc)
{
- wxDCImpl *impl = dc->GetImpl();
+ wxDCImpl *impl = dc ? dc->GetImpl() : NULL ;
wxMSWDCImpl *msw_impl = wxDynamicCast( impl, wxMSWDCImpl );
- if (!msw_impl)
+ if ( dc && !msw_impl)
{
m_ok = false;
return false;
::SelectObject(GetHdc(), (HBITMAP) m_oldBitmap);
if ( m_selectedBitmap.Ok() )
{
-#ifdef __WXDEBUG__
m_selectedBitmap.SetSelectedInto(NULL);
-#endif
m_selectedBitmap = wxNullBitmap;
}
}
// check for whether the bitmap is already selected into a device context
wxASSERT_MSG( !bitmap.GetSelectedInto() ||
- (bitmap.GetSelectedInto() == this),
+ (bitmap.GetSelectedInto() == GetOwner()),
wxT("Bitmap is selected in another wxMemoryDC, delete the first wxMemoryDC or use SelectObject(NULL)") );
m_selectedBitmap = bitmap;
if ( !hBmp )
return;
-#ifdef __WXDEBUG__
- m_selectedBitmap.SetSelectedInto(this);
-#endif
+ m_selectedBitmap.SetSelectedInto(GetOwner());
hBmp = (WXHBITMAP)::SelectObject(GetHdc(), (HBITMAP)hBmp);
if ( !hBmp )