Plotters: better support of filled circles having a thickness set to 0.

Setting a line thickness = 0 for graphic objects (circle, rect, line) is
allowed but creates issues for circles that were plotted a non filled shapes
but having a outline thickness = 0.
This commit is contained in:
jean-pierre charras
2020-10-12 11:30:43 +02:00
parent 88102bca46
commit 380534807b
5 changed files with 53 additions and 2 deletions
+6 -2
View File
@@ -578,7 +578,7 @@ void BRDITEMS_PLOTTER::PlotFootprintGraphicItem( FP_SHAPE* aShape )
if( aShape->GetWidth() > 0 )
m_plotter->ThickCircle( pos, radius * 2, thickness, GetPlotMode(), &gbr_metadata );
else
m_plotter->Circle( pos, radius * 2, FILLED_SHAPE, -1 );
m_plotter->FilledCircle( pos, radius * 2, GetPlotMode(), &gbr_metadata );
break;
@@ -859,7 +859,11 @@ void BRDITEMS_PLOTTER::PlotPcbShape( PCB_SHAPE* aShape )
case S_CIRCLE:
radius = KiROUND( GetLineLength( end, start ) );
m_plotter->ThickCircle( start, radius * 2, thickness, GetPlotMode(), &gbr_metadata );
if( thickness > 0 )
m_plotter->ThickCircle( start, radius * 2, thickness, GetPlotMode(), &gbr_metadata );
else
m_plotter->FilledCircle( start, radius * 2, GetPlotMode(), &gbr_metadata );
break;
case S_ARC: