Comment 5 for bug 1787499

Revision history for this message
Franck78 (fbourdonnec) wrote : Re: more transparency while moving footprints

@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 }