Respect showHiddenPins and showHiddenFields flags when plotting.
This commit is contained in:
parent
9c94967b52
commit
1d753e0850
|
@ -357,6 +357,9 @@ void LIB_FIELD::Plot( PLOTTER* aPlotter, bool aBackground, const SCH_PLOT_OPTS&
|
||||||
|
|
||||||
SCH_RENDER_SETTINGS* renderSettings = getRenderSettings( aPlotter );
|
SCH_RENDER_SETTINGS* renderSettings = getRenderSettings( aPlotter );
|
||||||
|
|
||||||
|
if( !IsVisible() && !renderSettings->m_ShowHiddenFields )
|
||||||
|
return;
|
||||||
|
|
||||||
// Calculate the text orientation, according to the symbol orientation/mirror.
|
// Calculate the text orientation, according to the symbol orientation/mirror.
|
||||||
EDA_ANGLE orient = GetTextAngle();
|
EDA_ANGLE orient = GetTextAngle();
|
||||||
|
|
||||||
|
|
|
@ -1162,14 +1162,17 @@ void LIB_PIN::Rotate( const VECTOR2I& aCenter, bool aRotateCCW )
|
||||||
void LIB_PIN::Plot( PLOTTER* aPlotter, bool aBackground, const SCH_PLOT_OPTS& aPlotOpts,
|
void LIB_PIN::Plot( PLOTTER* aPlotter, bool aBackground, const SCH_PLOT_OPTS& aPlotOpts,
|
||||||
int aUnit, int aBodyStyle, const VECTOR2I& aOffset, bool aDimmed )
|
int aUnit, int aBodyStyle, const VECTOR2I& aOffset, bool aDimmed )
|
||||||
{
|
{
|
||||||
if( !IsVisible() || aBackground )
|
if( aBackground )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SCH_RENDER_SETTINGS* renderSettings = getRenderSettings( aPlotter );
|
SCH_RENDER_SETTINGS* renderSettings = getRenderSettings( aPlotter );
|
||||||
const SYMBOL* part = GetParentSymbol();
|
|
||||||
PIN_ORIENTATION orient = PinDrawOrient( renderSettings->m_Transform );
|
|
||||||
|
|
||||||
VECTOR2I pos = renderSettings->TransformCoordinate( m_position ) + aOffset;
|
if( !IsVisible() && !renderSettings->m_ShowHiddenPins )
|
||||||
|
return;
|
||||||
|
|
||||||
|
const SYMBOL* part = GetParentSymbol();
|
||||||
|
PIN_ORIENTATION orient = PinDrawOrient( renderSettings->m_Transform );
|
||||||
|
VECTOR2I pos = renderSettings->TransformCoordinate( m_position ) + aOffset;
|
||||||
|
|
||||||
PlotPinType( aPlotter, pos, orient, aDimmed );
|
PlotPinType( aPlotter, pos, orient, aDimmed );
|
||||||
PlotPinTexts( aPlotter, pos, orient, part->GetPinNameOffset(), part->GetShowPinNumbers(),
|
PlotPinTexts( aPlotter, pos, orient, part->GetPinNameOffset(), part->GetShowPinNumbers(),
|
||||||
|
|
|
@ -1157,11 +1157,11 @@ void SCH_FIELD::Plot( PLOTTER* aPlotter, bool aBackground, const SCH_PLOT_OPTS&
|
||||||
if( GetShownText( sheet, true ).IsEmpty() || aBackground )
|
if( GetShownText( sheet, true ).IsEmpty() || aBackground )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
RENDER_SETTINGS* settings = aPlotter->RenderSettings();
|
SCH_RENDER_SETTINGS* renderSettings = getRenderSettings( aPlotter );
|
||||||
COLOR4D color = settings->GetLayerColor( GetLayer() );
|
COLOR4D color = renderSettings->GetLayerColor( GetLayer() );
|
||||||
int penWidth = GetEffectiveTextPenWidth( settings->GetDefaultPenWidth() );
|
int penWidth = GetEffectiveTextPenWidth( renderSettings->GetDefaultPenWidth() );
|
||||||
|
|
||||||
COLOR4D bg = settings->GetBackgroundColor();;
|
COLOR4D bg = renderSettings->GetBackgroundColor();;
|
||||||
|
|
||||||
if( bg == COLOR4D::UNSPECIFIED || !aPlotter->GetColorMode() )
|
if( bg == COLOR4D::UNSPECIFIED || !aPlotter->GetColorMode() )
|
||||||
bg = COLOR4D::WHITE;
|
bg = COLOR4D::WHITE;
|
||||||
|
@ -1169,12 +1169,12 @@ void SCH_FIELD::Plot( PLOTTER* aPlotter, bool aBackground, const SCH_PLOT_OPTS&
|
||||||
if( aPlotter->GetColorMode() && GetTextColor() != COLOR4D::UNSPECIFIED )
|
if( aPlotter->GetColorMode() && GetTextColor() != COLOR4D::UNSPECIFIED )
|
||||||
color = GetTextColor();
|
color = GetTextColor();
|
||||||
|
|
||||||
penWidth = std::max( penWidth, settings->GetMinPenWidth() );
|
penWidth = std::max( penWidth, renderSettings->GetMinPenWidth() );
|
||||||
|
|
||||||
// clamp the pen width to be sure the text is readable
|
// clamp the pen width to be sure the text is readable
|
||||||
penWidth = std::min( penWidth, std::min( GetTextSize().x, GetTextSize().y ) / 4 );
|
penWidth = std::min( penWidth, std::min( GetTextSize().x, GetTextSize().y ) / 4 );
|
||||||
|
|
||||||
if( !IsVisible() )
|
if( !IsVisible() && !renderSettings->m_ShowHiddenFields )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Calculate the text orientation, according to the symbol orientation/mirror
|
// Calculate the text orientation, according to the symbol orientation/mirror
|
||||||
|
@ -1219,13 +1219,13 @@ void SCH_FIELD::Plot( PLOTTER* aPlotter, bool aBackground, const SCH_PLOT_OPTS&
|
||||||
else if( m_parent && m_parent->Type() == SCH_GLOBAL_LABEL_T )
|
else if( m_parent && m_parent->Type() == SCH_GLOBAL_LABEL_T )
|
||||||
{
|
{
|
||||||
SCH_GLOBALLABEL* label = static_cast<SCH_GLOBALLABEL*>( m_parent );
|
SCH_GLOBALLABEL* label = static_cast<SCH_GLOBALLABEL*>( m_parent );
|
||||||
textpos += label->GetSchematicTextOffset( settings );
|
textpos += label->GetSchematicTextOffset( renderSettings );
|
||||||
}
|
}
|
||||||
|
|
||||||
KIFONT::FONT* font = GetFont();
|
KIFONT::FONT* font = GetFont();
|
||||||
|
|
||||||
if( !font )
|
if( !font )
|
||||||
font = KIFONT::FONT::GetFont( settings->GetDefaultFont(), IsBold(), IsItalic() );
|
font = KIFONT::FONT::GetFont( renderSettings->GetDefaultFont(), IsBold(), IsItalic() );
|
||||||
|
|
||||||
TEXT_ATTRIBUTES attrs = GetAttributes();
|
TEXT_ATTRIBUTES attrs = GetAttributes();
|
||||||
attrs.m_StrokeWidth = penWidth;
|
attrs.m_StrokeWidth = penWidth;
|
||||||
|
@ -1250,7 +1250,7 @@ void SCH_FIELD::Plot( PLOTTER* aPlotter, bool aBackground, const SCH_PLOT_OPTS&
|
||||||
for( const std::pair<wxString, wxString>& page : pages )
|
for( const std::pair<wxString, wxString>& page : pages )
|
||||||
pageHrefs.push_back( wxT( "#" ) + page.first );
|
pageHrefs.push_back( wxT( "#" ) + page.first );
|
||||||
|
|
||||||
bbox.Offset( label->GetSchematicTextOffset( settings ) );
|
bbox.Offset( label->GetSchematicTextOffset( renderSettings ) );
|
||||||
|
|
||||||
aPlotter->HyperlinkMenu( bbox, pageHrefs );
|
aPlotter->HyperlinkMenu( bbox, pageHrefs );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue