X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/888dde65f43d5f57e8fb2028b27191cca1741403..79cb759dc8580da2e82e880cd94a08cd38bb814e:/src/msw/dcclient.cpp diff --git a/src/msw/dcclient.cpp b/src/msw/dcclient.cpp index 96737f424e..1e667aa704 100644 --- a/src/msw/dcclient.cpp +++ b/src/msw/dcclient.cpp @@ -90,7 +90,7 @@ wxWindowDCImpl::wxWindowDCImpl( wxDC *owner ) : { } -wxWindowDCImpl::wxWindowDCImpl( wxDC *owner, wxWindow *window ) : +wxWindowDCImpl::wxWindowDCImpl( wxDC *owner, wxWindow *window ) : wxMSWDCImpl( owner ) { wxCHECK_RET( window, _T("invalid window in wxWindowDCImpl") ); @@ -109,9 +109,6 @@ void wxWindowDCImpl::InitDC() // DrawText() to OPAQUE as required, otherwise always TRANSPARENT, ::SetBkMode(GetHdc(), TRANSPARENT); - // default bg colour is pne of the window - SetBackground(wxBrush(m_window->GetBackgroundColour(), wxSOLID)); - // since we are a window dc we need to grab the palette from the window #if wxUSE_PALETTE InitializePalette(); @@ -169,7 +166,8 @@ void wxClientDCImpl::InitDC() } // clip the DC to avoid overwriting the non client area - SetClippingRegion(wxPoint(0,0), m_window->GetClientSize()); + wxSize size = m_window->GetClientSize(); + DoSetClippingRegion(0, 0, size.x, size.y); #endif // __WXUNIVERSAL__ || __WXWINCE__ } @@ -329,27 +327,25 @@ class wxPaintDCExImpl: public wxPaintDCImpl public: wxPaintDCExImpl( wxDC *owner, wxWindow *window, WXHDC dc ); ~wxPaintDCExImpl(); - + int m_saveState; }; IMPLEMENT_ABSTRACT_CLASS(wxPaintDCEx,wxPaintDC) -wxPaintDCEx::wxPaintDCEx( wxWindow *window, WXHDC dc ) +wxPaintDCEx::wxPaintDCEx(wxWindow *window, WXHDC dc) + : wxPaintDC(new wxPaintDCExImpl(this, window, dc)) { - m_pimpl = new wxPaintDCExImpl( this, window, dc ); } - - -wxPaintDCExImpl::wxPaintDCExImpl( wxDC *owner, wxWindow *window, WXHDC dc ) : - wxPaintDCImpl( owner ) +wxPaintDCExImpl::wxPaintDCExImpl(wxDC *owner, wxWindow *window, WXHDC dc) + : wxPaintDCImpl( owner ) { wxCHECK_RET( dc, wxT("wxPaintDCEx requires an existing device context") ); m_saveState = 0; - + m_window = window; wxPaintDCInfo *info = FindInCache();