Don't draw the segment lines in wxGtkPrinterDC::DrawArc() unless it's filled.

The segments should only be drawn if we're filling the arc, i.e. drawing a
pie, but not if we're just drawing its outline.

Add a test of this to the printing sample.

Closes #15609.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-10-25 17:38:43 +00:00
parent db7af3c2a7
commit 16ab50d25b
2 changed files with 13 additions and 6 deletions

View File

@@ -1386,11 +1386,14 @@ void wxGtkPrinterDCImpl::DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2,w
cairo_arc_negative(m_cairo, XLOG2DEV(xc), YLOG2DEV(yc),
XLOG2DEVREL(wxRound(radius)), alpha1, alpha2);
cairo_line_to(m_cairo, XLOG2DEV(xc), YLOG2DEV(yc));
cairo_close_path (m_cairo);
if ( m_brush.IsNonTransparent() )
{
cairo_line_to(m_cairo, XLOG2DEV(xc), YLOG2DEV(yc));
cairo_close_path (m_cairo);
SetBrush( m_brush );
cairo_fill_preserve( m_cairo );
SetBrush( m_brush );
cairo_fill_preserve( m_cairo );
}
SetPen (m_pen);
cairo_stroke( m_cairo );