X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/edccf4281bc8fbb9d8151240ba5b208339c9ac11..b4a2ab728bf4627ab2b41385b69e31f10c1fd3b1:/src/msw/dcclient.cpp diff --git a/src/msw/dcclient.cpp b/src/msw/dcclient.cpp index b6b44efe1b..d76f002aba 100644 --- a/src/msw/dcclient.cpp +++ b/src/msw/dcclient.cpp @@ -135,6 +135,11 @@ wxClientDC::wxClientDC(wxWindow *the_canvas) m_canvas = the_canvas; m_hDC = (WXHDC) ::GetDC(GetWinHwnd(the_canvas)); + // the background mode is only used for text background + // and is set in DrawText() to OPAQUE as required, other- + // wise always TRANSPARENT, RR + ::SetBkMode( GetHdc(), TRANSPARENT ); + SetBackground(wxBrush(m_canvas->GetBackgroundColour(), wxSOLID)); } @@ -179,12 +184,12 @@ wxPaintDC::wxPaintDC() wxPaintDC::wxPaintDC(wxWindow *canvas) { - wxCHECK_RET( canvas, _T("NULL canvas in wxPaintDC ctor") ); + wxCHECK_RET( canvas, T("NULL canvas in wxPaintDC ctor") ); #ifdef __WXDEBUG__ if ( g_isPainting <= 0 ) { - wxFAIL_MSG( _T("wxPaintDC may be created only in EVT_PAINT handler!") ); + wxFAIL_MSG( T("wxPaintDC may be created only in EVT_PAINT handler!") ); return; } @@ -205,6 +210,11 @@ wxPaintDC::wxPaintDC(wxWindow *canvas) ms_cache.Add(new wxPaintDCInfo(m_canvas, this)); } + // the background mode is only used for text background + // and is set in DrawText() to OPAQUE as required, other- + // wise always TRANSPARENT, RR + ::SetBkMode( GetHdc(), TRANSPARENT ); + SetBackground(wxBrush(m_canvas->GetBackgroundColour(), wxSOLID)); } @@ -217,7 +227,7 @@ wxPaintDC::~wxPaintDC() size_t index; wxPaintDCInfo *info = FindInCache(&index); - wxCHECK_RET( info, _T("existing DC should have a cache entry") ); + wxCHECK_RET( info, T("existing DC should have a cache entry") ); if ( !--info->count ) {