Plot solder mask: fix incorrect shape for rectangular pads.

It was noticeable only for pads having a large solder mask clearance.

Fixes #5570
https://gitlab.com/kicad/code/kicad/issues/5570
This commit is contained in:
jean-pierre charras 2020-09-10 13:22:16 +02:00
parent 62433736bc
commit 6ab6c00f61
1 changed files with 3 additions and 2 deletions

View File

@ -306,13 +306,14 @@ void PlotStandardLayer( BOARD *aBoard, PLOTTER* aPlotter,
break; break;
case PAD_SHAPE_RECT: case PAD_SHAPE_RECT:
pad->SetSize( padPlotsSize );
if( margin.x > 0 ) if( margin.x > 0 )
{ {
pad->SetShape( PAD_SHAPE_ROUNDRECT ); pad->SetShape( PAD_SHAPE_ROUNDRECT );
pad->SetRoundRectCornerRadius( margin.x ); pad->SetRoundRectCornerRadius( margin.x );
} }
pad->SetSize( padPlotsSize );
itemplotter.PlotPad( pad, color, padPlotMode ); itemplotter.PlotPad( pad, color, padPlotMode );
break; break;
@ -320,8 +321,8 @@ void PlotStandardLayer( BOARD *aBoard, PLOTTER* aPlotter,
{ {
wxSize scale( padPlotsSize.x / padSize.x, padPlotsSize.y / padSize.y ); wxSize scale( padPlotsSize.x / padSize.x, padPlotsSize.y / padSize.y );
pad->SetDelta( wxSize( padDelta.x * scale.x, padDelta.y * scale.y ) ); pad->SetDelta( wxSize( padDelta.x * scale.x, padDelta.y * scale.y ) );
pad->SetSize( padPlotsSize ); pad->SetSize( padPlotsSize );
itemplotter.PlotPad( pad, color, padPlotMode ); itemplotter.PlotPad( pad, color, padPlotMode );
} }
break; break;