From 954c66fafc3415d649b9bca05d9ada83d977f5e2 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Sat, 11 Dec 2010 11:48:38 +0000 Subject: [PATCH] changing compositing mode for Clear, see #12756 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/dcgraph.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/common/dcgraph.cpp b/src/common/dcgraph.cpp index 66a531bb47..9206732e71 100644 --- a/src/common/dcgraph.cpp +++ b/src/common/dcgraph.cpp @@ -57,8 +57,10 @@ static bool TranslateRasterOp(wxRasterOperationMode function, wxCompositionMode { switch ( function ) { - case wxCOPY: // (default) src - *op = wxCOMPOSITION_SOURCE; // + case wxCOPY: // src + // since we are supporting alpha, _OVER is closer to the intention than _SOURCE + // since the latter would overwrite even when alpha is is not set to opaque + *op = wxCOMPOSITION_OVER; break; case wxOR: // src OR dst *op = wxCOMPOSITION_ADD; @@ -1047,7 +1049,10 @@ void wxGCDCImpl::Clear(void) m_graphicContext->SetBrush( m_backgroundBrush ); wxPen p = *wxTRANSPARENT_PEN; m_graphicContext->SetPen( p ); + wxCompositionMode formerMode = m_graphicContext->GetCompositionMode(); + m_graphicContext->SetCompositionMode(wxCOMPOSITION_SOURCE); DoDrawRectangle( 0, 0, 32000 , 32000 ); + m_graphicContext->SetCompositionMode(formerMode); m_graphicContext->SetPen( m_pen ); m_graphicContext->SetBrush( m_brush ); } -- 2.45.2