X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3417f6618c41a6b8a7adc29ad5a12ca8c0dad248..91b4bd63177025704dd39679a2a7c4198eeb7909:/src/os2/dcclient.cpp diff --git a/src/os2/dcclient.cpp b/src/os2/dcclient.cpp index 2ee419bd58..74264492a4 100644 --- a/src/os2/dcclient.cpp +++ b/src/os2/dcclient.cpp @@ -142,6 +142,12 @@ wxWindowDC::wxWindowDC( void wxWindowDC::InitDC() { + wxColour vColor; + + vColor.InitFromName("BLACK"); + m_pen.SetColour(vColor); + vColor.Set("WHITE"); + m_brush.SetColour(vColor); // // The background mode is only used for text background and is set in // DrawText() to OPAQUE as required, otherwise always TRANSPARENT, @@ -212,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_pCanvas->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_pCanvas->GetClientSize()); +#endif // __WXUNIVERSAL__ +} // end of wxClientDC::InitDC + +wxClientDC::~wxClientDC() +{ +} // end of wxClientDC::~wxClientDC + // ---------------------------------------------------------------------------- // wxPaintDC // ---------------------------------------------------------------------------- @@ -306,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