@Jeff,
I learned it the hard way : don't trust grep to locate a piece of code (legacy/accelerated tools).
The legacy draw pad function handles this more or less.
This is just a suggestion:
add a field into D_PAD definition type, 'transparent_hole'
set it correctly to true or false on calling draw pad
This is 'support' for future use, all the job unrelated is done.
The day someone decides to solve it, he will only concentrate on the problem 'transparent hole'
Also in the code from your comment#4
between line 02 and 13, nothing changes that if susceptible to affect the return of GetColor(). Line #13 is doing nothing.
01 // Pad drawing
02 COLOR4D color = m_pcbSettings.GetColor( aPad, aLayer );
03
04 // Pad holes color is specific
05 if( aLayer == LAYER_PADS_PLATEDHOLES || aLayer == LAYER_NON_PLATEDHOLES )
06 {
07 // Hole color is the background color for plated holes, but a specific color
08 // for not plated holes (LAYER_NON_PLATEDHOLES color layer )
09 if( aPad->GetAttribute() == PAD_ATTRIB_HOLE_NOT_PLATED )
10 color = m_pcbSettings.GetColor( nullptr, LAYER_NON_PLATEDHOLES );
11 // Don't let pads that *should* be NPTH get lost
12 else if( aPad->PadShouldBeNPTH() )
13 color = m_pcbSettings.GetColor( aPad, aLayer );
14 else
15 color = m_pcbSettings.GetBackgroundColor();
16 }
@Jeff,
I learned it the hard way : don't trust grep to locate a piece of code (legacy/accelerated tools).
The legacy draw pad function handles this more or less.
This is just a suggestion:
add a field into D_PAD definition type, 'transparent_hole'
set it correctly to true or false on calling draw pad
This is 'support' for future use, all the job unrelated is done.
The day someone decides to solve it, he will only concentrate on the problem 'transparent hole'
Also in the code from your comment#4
between line 02 and 13, nothing changes that if susceptible to affect the return of GetColor(). Line #13 is doing nothing.
01 // Pad drawing GetColor( aPad, aLayer ); PLATEDHOLES || aLayer == LAYER_NON_ PLATEDHOLES ) NON_PLATEDHOLES color layer ) ute() == PAD_ATTRIB_ HOLE_NOT_ PLATED ) GetColor( nullptr, LAYER_NON_ PLATEDHOLES ); BeNPTH( ) ) GetColor( aPad, aLayer ); GetBackgroundCo lor();
02 COLOR4D color = m_pcbSettings.
03
04 // Pad holes color is specific
05 if( aLayer == LAYER_PADS_
06 {
07 // Hole color is the background color for plated holes, but a specific color
08 // for not plated holes (LAYER_
09 if( aPad->GetAttrib
10 color = m_pcbSettings.
11 // Don't let pads that *should* be NPTH get lost
12 else if( aPad->PadShould
13 color = m_pcbSettings.
14 else
15 color = m_pcbSettings.
16 }