eeschema: Fix print order between worksheet and screen
The worksheet should be drawn behind the screen.
This commit is contained in:
parent
c2904ce7e9
commit
d1a0102e84
|
@ -482,7 +482,17 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( const PAGE_INFO& aPageInfo,
|
||||||
*/
|
*/
|
||||||
void WS_DRAW_ITEM_LIST::Print( wxDC* aDC, COLOR4D aColor )
|
void WS_DRAW_ITEM_LIST::Print( wxDC* aDC, COLOR4D aColor )
|
||||||
{
|
{
|
||||||
|
std::vector<WS_DRAW_ITEM_BASE*> second_items;
|
||||||
|
|
||||||
for( WS_DRAW_ITEM_BASE* item = GetFirst(); item; item = GetNext() )
|
for( WS_DRAW_ITEM_BASE* item = GetFirst(); item; item = GetNext() )
|
||||||
|
{
|
||||||
|
if( item->Type() == WSG_BITMAP_T )
|
||||||
|
item->PrintWsItem( aDC, aColor );
|
||||||
|
else
|
||||||
|
second_items.push_back( item );
|
||||||
|
}
|
||||||
|
|
||||||
|
for( auto item : second_items )
|
||||||
item->PrintWsItem( aDC, aColor );
|
item->PrintWsItem( aDC, aColor );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -423,8 +423,6 @@ void SCH_PRINTOUT::PrintPage( SCH_SCREEN* aScreen )
|
||||||
if( m_parent->GetPrintMonochrome() )
|
if( m_parent->GetPrintMonochrome() )
|
||||||
GRForceBlackPen( true );
|
GRForceBlackPen( true );
|
||||||
|
|
||||||
aScreen->Print( dc );
|
|
||||||
|
|
||||||
if( printReference )
|
if( printReference )
|
||||||
{
|
{
|
||||||
m_parent->PrintWorkSheet( dc, aScreen, GetDefaultLineThickness(), IU_PER_MILS,
|
m_parent->PrintWorkSheet( dc, aScreen, GetDefaultLineThickness(), IU_PER_MILS,
|
||||||
|
@ -432,6 +430,8 @@ void SCH_PRINTOUT::PrintPage( SCH_SCREEN* aScreen )
|
||||||
GetLayerColor( ( SCH_LAYER_ID )LAYER_WORKSHEET ) );
|
GetLayerColor( ( SCH_LAYER_ID )LAYER_WORKSHEET ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
aScreen->Print( dc );
|
||||||
|
|
||||||
m_parent->SetDrawBgColor( bgColor );
|
m_parent->SetDrawBgColor( bgColor );
|
||||||
aScreen->m_IsPrinting = false;
|
aScreen->m_IsPrinting = false;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue