Pcbnew, plot drill marks: fix incorrect plot drill mark in some cases.
If a non copper layers is added to a copper layer for plot with drill marks, the drill mark was not visible (covered by shapes plotted from non copper layer). Now copper layers are plotted after the non copper layers.
This commit is contained in:
parent
2215e8906f
commit
093da7f73a
|
@ -58,8 +58,30 @@ void PlotBoardLayers( BOARD* aBoard, PLOTTER* aPlotter, const LSEQ& aLayers,
|
|||
{
|
||||
wxCHECK( aBoard && aPlotter && aLayers.size(), /* void */ );
|
||||
|
||||
// if a drill mark must be plotted, the copper layer needs to be plotted
|
||||
// after other layers because the drill mark must be plotted as a filled
|
||||
// white shape *after* all other shapes are plotted
|
||||
bool plot_mark = aPlotOptions.GetDrillMarksType() != DRILL_MARKS::NO_DRILL_SHAPE;
|
||||
|
||||
for( LSEQ seq = aLayers; seq; ++seq )
|
||||
{
|
||||
// copper layers with drill marks will be plotted after all other layers
|
||||
if( *seq <= B_Cu && plot_mark )
|
||||
continue;
|
||||
|
||||
PlotOneBoardLayer( aBoard, aPlotter, *seq, aPlotOptions );
|
||||
}
|
||||
|
||||
if( !plot_mark )
|
||||
return;
|
||||
|
||||
for( LSEQ seq = aLayers; seq; ++seq )
|
||||
{
|
||||
if( *seq > B_Cu ) // already plotted
|
||||
continue;
|
||||
|
||||
PlotOneBoardLayer( aBoard, aPlotter, *seq, aPlotOptions );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue