Don't print sheet backgrounds when printing in black & white.

Fixes https://gitlab.com/kicad/code/kicad/issues/6746
This commit is contained in:
Jeff Young 2020-12-15 17:10:24 +00:00
parent 10e68daa37
commit 4cc43b3bd3
1 changed files with 4 additions and 1 deletions

View File

@ -985,7 +985,7 @@ void SCH_SHEET::Print( RENDER_SETTINGS* aSettings, const wxPoint& aOffset )
wxPoint pos = m_pos + aOffset;
int lineWidth = std::max( GetPenWidth(), aSettings->GetDefaultPenWidth() );
auto* settings = dynamic_cast<KIGFX::SCH_RENDER_SETTINGS*>( aSettings );
bool override = settings ? settings->m_OverrideItemColors : false;
bool override = settings && settings->m_OverrideItemColors;
COLOR4D border = GetBorderColor();
COLOR4D background = GetBackgroundColor();
@ -995,6 +995,9 @@ void SCH_SHEET::Print( RENDER_SETTINGS* aSettings, const wxPoint& aOffset )
if( override || background == COLOR4D::UNSPECIFIED )
background = aSettings->GetLayerColor( LAYER_SHEET_BACKGROUND );
if( GetGRForceBlackPenState() ) // printing in black & white
background = COLOR4D::UNSPECIFIED;
if( background != COLOR4D::UNSPECIFIED )
{
GRFilledRect( nullptr, DC, pos.x, pos.y, pos.x + m_size.x, pos.y + m_size.y, 0,