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