Correct page numbers on pcbnew multipage print
This commit is contained in:
parent
1edaa773d3
commit
ec3109472a
|
@ -77,7 +77,7 @@ bool BOARD_PRINTOUT_CONTROLLER::OnPrintPage( int aPage )
|
|||
// in gerbview, draw layers are always printed on separate pages
|
||||
// because handling negative objects when using only one page is tricky
|
||||
m_PrintParams.m_Flags = aPage;
|
||||
DrawPage( wxEmptyString );
|
||||
DrawPage();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -99,7 +99,7 @@ void BOARD_PRINTOUT_CONTROLLER::GetPageInfo( int* minPage, int* maxPage,
|
|||
}
|
||||
|
||||
|
||||
void BOARD_PRINTOUT_CONTROLLER::DrawPage( wxString layer = wxEmptyString )
|
||||
void BOARD_PRINTOUT_CONTROLLER::DrawPage( wxString layer, int aPageNum, int aPageCount)
|
||||
{
|
||||
wxPoint offset;
|
||||
double userscale;
|
||||
|
|
|
@ -84,6 +84,7 @@ BOARD_PRINTOUT_CONTROLLER::BOARD_PRINTOUT_CONTROLLER( const PRINT_PARAMETERS& aP
|
|||
bool BOARD_PRINTOUT_CONTROLLER::OnPrintPage( int aPage )
|
||||
{
|
||||
LSET lset = m_PrintParams.m_PrintMaskLayer;
|
||||
int aPageCount = lset.count();
|
||||
wxString layer;
|
||||
LAYER_ID extractLayer;
|
||||
|
||||
|
@ -113,7 +114,7 @@ bool BOARD_PRINTOUT_CONTROLLER::OnPrintPage( int aPage )
|
|||
if( m_PrintParams.m_Flags == 1 )
|
||||
m_PrintParams.m_PrintMaskLayer.set( Edge_Cuts );
|
||||
|
||||
DrawPage( layer );
|
||||
DrawPage( layer, aPage, aPageCount );
|
||||
|
||||
m_PrintParams.m_PrintMaskLayer = lset;
|
||||
|
||||
|
@ -137,7 +138,7 @@ void BOARD_PRINTOUT_CONTROLLER::GetPageInfo( int* minPage, int* maxPage,
|
|||
}
|
||||
|
||||
|
||||
void BOARD_PRINTOUT_CONTROLLER::DrawPage( wxString layer = wxEmptyString )
|
||||
void BOARD_PRINTOUT_CONTROLLER::DrawPage( wxString layer, int aPageNum, int aPageCount )
|
||||
{
|
||||
wxPoint offset;
|
||||
double userscale;
|
||||
|
@ -147,6 +148,8 @@ void BOARD_PRINTOUT_CONTROLLER::DrawPage( wxString layer = wxEmptyString )
|
|||
BASE_SCREEN* screen = m_Parent->GetScreen();
|
||||
bool printMirror = m_PrintParams.m_PrintMirror;
|
||||
wxSize pageSizeIU = m_Parent->GetPageSizeIU();
|
||||
int tempScreenNumber;
|
||||
int tempNumberOfScreens;
|
||||
|
||||
wxBusyCursor dummy;
|
||||
|
||||
|
@ -286,8 +289,16 @@ void BOARD_PRINTOUT_CONTROLLER::DrawPage( wxString layer = wxEmptyString )
|
|||
GRForceBlackPen( true );
|
||||
|
||||
if( m_PrintParams.PrintBorderAndTitleBlock() )
|
||||
{
|
||||
tempScreenNumber = screen->m_ScreenNumber;
|
||||
tempNumberOfScreens = screen->m_NumberOfScreens;
|
||||
screen->m_ScreenNumber = aPageNum;
|
||||
screen->m_NumberOfScreens = aPageCount;
|
||||
m_Parent->DrawWorkSheet( dc, screen, m_PrintParams.m_PenDefaultSize,
|
||||
IU_PER_MILS, titleblockFilename, layer );
|
||||
screen->m_ScreenNumber = tempScreenNumber;
|
||||
screen->m_NumberOfScreens = tempNumberOfScreens;
|
||||
}
|
||||
|
||||
if( printMirror )
|
||||
{
|
||||
|
|
|
@ -123,7 +123,7 @@ public:
|
|||
|
||||
void GetPageInfo( int* minPage, int* maxPage, int* selPageFrom, int* selPageTo );
|
||||
|
||||
void DrawPage( wxString layer );
|
||||
void DrawPage( wxString layer = wxEmptyString, int aPageNum = 1, int aPageCount = 1 );
|
||||
};
|
||||
|
||||
#endif // PRINTOUT_CONTROLLER_H
|
||||
|
|
Loading…
Reference in New Issue