Apply blind/buried via drawing to microvias.

This commit is contained in:
Jeff Young 2020-05-11 15:21:39 +01:00
parent 5cbaefaa1f
commit 03c47e210c
3 changed files with 12 additions and 3 deletions

View File

@ -464,6 +464,9 @@ void VIA::ViewGetLayers( int aLayers[], int& aCount ) const
case VIATYPE::MICROVIA:
aLayers[2] = LAYER_VIA_MICROVIA;
aLayers[3] = m_Layer;
aLayers[4] = m_BottomLayer;
aCount += 2;
break;
default:

View File

@ -326,11 +326,16 @@ void PCB_LAYER_WIDGET::ReFillRender()
if( m_fp_editor_mode && !isAllowedInFpMode( renderRow.id ) )
continue;
// Don't remove microvia and bblind vias if they're not allowed: that's only a DRC
// setting (which might be set to ignore) and the user can add them irrespective of
// the setting.
/*
if( renderRow.id == LAYER_VIA_MICROVIA && !settings.m_MicroViasAllowed )
continue;
if( renderRow.id == LAYER_VIA_BBLIND && !settings.m_BlindBuriedViaAllowed )
continue;
*/
if( !renderRow.spacer )
{

View File

@ -612,10 +612,11 @@ void PCB_PAINTER::draw( const VIA* aVia, int aLayer )
m_gal->SetFillColor( color );
}
if( aVia->GetViaType() == VIATYPE::BLIND_BURIED && aLayer != LAYER_VIAS_HOLES
if( ( aVia->GetViaType() == VIATYPE::BLIND_BURIED || aVia->GetViaType() == VIATYPE::MICROVIA )
&& aLayer != LAYER_VIAS_HOLES
&& !m_pcbSettings.GetDrawIndividualViaLayers() )
{
// Outer circles of blind/buried vias are drawn in a special way to indicate the
// Outer circles of blind/buried and micro-vias are drawn in a special way to indicate the
// top and bottom layers
PCB_LAYER_ID layerTop, layerBottom;
aVia->LayerPair( &layerTop, &layerBottom );
@ -629,7 +630,7 @@ void PCB_PAINTER::draw( const VIA* aVia, int aLayer )
else if( aLayer == layerBottom )
m_gal->DrawArc( center, radius, M_PI, 3.0 * M_PI / 2.0 );
else if( aLayer == LAYER_VIA_BBLIND )
else if( aLayer == LAYER_VIA_BBLIND || aLayer == LAYER_VIA_MICROVIA )
{
m_gal->DrawArc( center, radius, M_PI / 2.0, M_PI );
m_gal->DrawArc( center, radius, 3.0 * M_PI / 2.0, 2.0 * M_PI );