Browse Source

PCB painter: skip early to polygon algo in outline mode

6.0.7
david-beinder 4 years ago
committed by Jeff Young
parent
commit
c0f12cf8b0
  1. 11
      pcbnew/pcb_painter.cpp

11
pcbnew/pcb_painter.cpp

@ -1078,8 +1078,12 @@ void PCB_PAINTER::draw( const PAD* aPad, int aLayer )
std::unique_ptr<PAD> dummyPad;
std::shared_ptr<SHAPE_COMPOUND> shapes;
bool simpleShapes = true;
// Drawing components of compound shapes in outline mode produces a mess.
bool simpleShapes = !m_pcbSettings.m_sketchMode[LAYER_PADS_TH];
if( simpleShapes )
{
if( ( margin.x != margin.y && aPad->GetShape() != PAD_SHAPE::CUSTOM )
|| ( aPad->GetShape() == PAD_SHAPE::ROUNDRECT && ( margin.x < 0 || margin.y < 0 ) ) )
{
@ -1122,10 +1126,6 @@ void PCB_PAINTER::draw( const PAD* aPad, int aLayer )
for( const SHAPE* shape : shapes->Shapes() )
{
// Drawing components of compound shapes in outline mode produces a mess.
if( m_pcbSettings.m_sketchMode[LAYER_PADS_TH] )
simpleShapes = false;
if( !simpleShapes )
break;
@ -1144,6 +1144,7 @@ void PCB_PAINTER::draw( const PAD* aPad, int aLayer )
break;
}
}
}
if( simpleShapes )
{

Loading…
Cancel
Save