X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b0ec34b1a083595a606b3eb04f4b64bc69955b8..594f0f5bf1355fb8d58f403d3ebacc1c1767c429:/src/os2/dcclient.cpp?ds=sidebyside diff --git a/src/os2/dcclient.cpp b/src/os2/dcclient.cpp index cdb7003da7..c034242afe 100644 --- a/src/os2/dcclient.cpp +++ b/src/os2/dcclient.cpp @@ -218,6 +218,29 @@ wxClientDC::wxClientDC( InitDC(); } // end of wxClientDC::wxClientDC +void wxClientDC::InitDC() +{ + wxWindowDC::InitDC(); + + // in wxUniv build we must manually do some DC adjustments usually + // performed by Windows for us +#ifdef __WXUNIVERSAL__ + wxPoint ptOrigin = m_canvas->GetClientAreaOrigin(); + if ( ptOrigin.x || ptOrigin.y ) + { + // no need to shift DC origin if shift is null + SetDeviceOrigin(ptOrigin.x, ptOrigin.y); + } + + // clip the DC to avoid overwriting the non client area + SetClippingRegion(wxPoint(0, 0), m_canvas->GetClientSize()); +#endif // __WXUNIVERSAL__ +} // end of wxClientDC::InitDC + +wxClientDC::~wxClientDC() +{ +} // end of wxClientDC::~wxClientDC + // ---------------------------------------------------------------------------- // wxPaintDC // ---------------------------------------------------------------------------- @@ -312,7 +335,7 @@ wxPaintDC::~wxPaintDC() ::WinEndPaint(m_hPS); m_hPS = m_hOldPS; m_bIsPaintTime = FALSE; - ms_cache.Remove(nIndex); + ms_cache.RemoveAt(nIndex); } //else: cached DC entry is still in use