From a06fe67b7901e68a94744bbb649c437a508e7b8e Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Sun, 21 Oct 2007 11:52:54 +0000 Subject: [PATCH] fixing possible offsetting glitches git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@49287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/graphcmn.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/common/graphcmn.cpp b/src/common/graphcmn.cpp index 4095bb95a9..7cced0c1ce 100644 --- a/src/common/graphcmn.cpp +++ b/src/common/graphcmn.cpp @@ -579,12 +579,15 @@ void wxGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, w void wxGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, const wxGraphicsBrush& backgroundBrush ) { wxGraphicsBrush formerBrush = m_brush; + wxGraphicsPen formerPen = m_pen; wxDouble width; wxDouble height; wxDouble descent; wxDouble externalLeading; GetTextExtent( str , &width, &height, &descent, &externalLeading ); SetBrush( backgroundBrush ); + // to make sure our 'OffsetToPixelBoundaries' doesn't move the fill shape + SetPen( wxNullGraphicsPen ); wxGraphicsPath path = CreatePath(); path.AddRectangle( x , y, width, height ); @@ -592,11 +595,13 @@ void wxGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, c DrawText( str, x ,y); SetBrush( formerBrush ); + SetPen( formerPen ); } void wxGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, wxDouble angle, const wxGraphicsBrush& backgroundBrush ) { wxGraphicsBrush formerBrush = m_brush; + wxGraphicsPen formerPen = m_pen; wxDouble width; wxDouble height; @@ -604,6 +609,8 @@ void wxGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, w wxDouble externalLeading; GetTextExtent( str , &width, &height, &descent, &externalLeading ); SetBrush( backgroundBrush ); + // to make sure our 'OffsetToPixelBoundaries' doesn't move the fill shape + SetPen( wxNullGraphicsPen ); wxGraphicsPath path = CreatePath(); path.MoveToPoint( x , y ); @@ -615,6 +622,7 @@ void wxGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, w FillPath( path ); DrawText( str, x ,y, angle); SetBrush( formerBrush ); + SetPen( formerPen ); } void wxGraphicsContext::StrokeLine( wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2)