Removed a redundant parameter from BOARD_PRINTOUT constructor

This commit is contained in:
Maciej Suminski 2018-10-06 18:51:46 +02:00
parent ff0909c90c
commit d3ea63e133
8 changed files with 35 additions and 18 deletions

View File

@ -66,12 +66,11 @@ void BOARD_PRINTOUT_SETTINGS::Save( wxConfigBase* aConfig )
} }
BOARD_PRINTOUT::BOARD_PRINTOUT( const BOARD_PRINTOUT_SETTINGS& aParams, const KIGFX::VIEW* aView, BOARD_PRINTOUT::BOARD_PRINTOUT( const BOARD_PRINTOUT_SETTINGS& aParams,
const wxSize& aSheetSize, const wxString& aTitle ) : const KIGFX::VIEW* aView, const wxString& aTitle ) :
wxPrintout( aTitle ), m_settings( aParams ) wxPrintout( aTitle ), m_settings( aParams )
{ {
m_view = aView; m_view = aView;
m_sheetSize = aSheetSize;
} }
@ -126,10 +125,12 @@ void BOARD_PRINTOUT::DrawPage( const wxString& aLayerName, int aPageNum, int aPa
setupPainter( painter ); setupPainter( painter );
BOX2I bBox; // determine printout bounding box BOX2I bBox; // determine printout bounding box
auto sheetSizeMils = m_settings.m_pageInfo.GetSizeMils();
VECTOR2I sheetSizeIU( milsToIU( sheetSizeMils.GetWidth() ), milsToIU( sheetSizeMils.GetHeight() ) );
if( m_settings.PrintBorderAndTitleBlock() ) if( m_settings.PrintBorderAndTitleBlock() )
{ {
bBox = BOX2I( VECTOR2I( 0, 0 ), VECTOR2I( m_sheetSize ) ); bBox = BOX2I( VECTOR2I( 0, 0 ), VECTOR2I( sheetSizeIU ) );
view->SetLayerVisible( LAYER_WORKSHEET, true ); view->SetLayerVisible( LAYER_WORKSHEET, true );
} }
else else
@ -150,8 +151,8 @@ void BOARD_PRINTOUT::DrawPage( const wxString& aLayerName, int aPageNum, int aPa
} }
else else
{ {
double scaleX = (double) m_sheetSize.GetWidth() / bBox.GetWidth(); double scaleX = (double) sheetSizeIU.x / bBox.GetWidth();
double scaleY = (double) m_sheetSize.GetHeight() / bBox.GetHeight(); double scaleY = (double) sheetSizeIU.y / bBox.GetHeight();
m_settings.m_scale = std::min( scaleX, scaleY ); m_settings.m_scale = std::min( scaleX, scaleY );
} }
} }

View File

@ -93,7 +93,7 @@ private:
wxPrintout* createPrintout( const wxString& aTitle ) override wxPrintout* createPrintout( const wxString& aTitle ) override
{ {
return new GERBVIEW_PRINTOUT( m_parent->GetGerberLayout(), *settings(), return new GERBVIEW_PRINTOUT( m_parent->GetGerberLayout(), *settings(),
m_parent->GetGalCanvas()->GetView(), m_parent->GetPageSettings().GetSizeIU(), aTitle ); m_parent->GetGalCanvas()->GetView(), aTitle );
} }
GERBVIEW_FRAME* m_parent; GERBVIEW_FRAME* m_parent;

View File

@ -47,8 +47,8 @@
GERBVIEW_PRINTOUT::GERBVIEW_PRINTOUT( GBR_LAYOUT* aLayout, const BOARD_PRINTOUT_SETTINGS& aParams, GERBVIEW_PRINTOUT::GERBVIEW_PRINTOUT( GBR_LAYOUT* aLayout, const BOARD_PRINTOUT_SETTINGS& aParams,
const KIGFX::VIEW* aView, const wxSize& aSheetSize, const wxString& aTitle ) : const KIGFX::VIEW* aView, const wxString& aTitle ) :
BOARD_PRINTOUT( aParams, aView, aSheetSize, aTitle ) BOARD_PRINTOUT( aParams, aView, aTitle )
{ {
m_layout = aLayout; m_layout = aLayout;
} }
@ -88,6 +88,12 @@ bool GERBVIEW_PRINTOUT::OnPrintPage( int aPage )
} }
int GERBVIEW_PRINTOUT::milsToIU( double aMils ) const
{
return KiROUND( IU_PER_MILS * aMils );
}
void GERBVIEW_PRINTOUT::setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView, void GERBVIEW_PRINTOUT::setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView,
const LSET& aLayerSet ) const LSET& aLayerSet )
{ {

View File

@ -28,11 +28,13 @@ class GERBVIEW_PRINTOUT : public BOARD_PRINTOUT
{ {
public: public:
GERBVIEW_PRINTOUT( GBR_LAYOUT* aLayout, const BOARD_PRINTOUT_SETTINGS& aParams, GERBVIEW_PRINTOUT( GBR_LAYOUT* aLayout, const BOARD_PRINTOUT_SETTINGS& aParams,
const KIGFX::VIEW* aView, const wxSize& aSheetSize, const wxString& aTitle ); const KIGFX::VIEW* aView, const wxString& aTitle );
bool OnPrintPage( int aPage ) override; bool OnPrintPage( int aPage ) override;
protected: protected:
int milsToIU( double aMils ) const override;
void setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView, const LSET& aLayerSet ) override; void setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView, const LSET& aLayerSet ) override;
void setupGal( KIGFX::GAL* aGal ) override; void setupGal( KIGFX::GAL* aGal ) override;

View File

@ -65,7 +65,7 @@ class BOARD_PRINTOUT : public wxPrintout
{ {
public: public:
BOARD_PRINTOUT( const BOARD_PRINTOUT_SETTINGS& aParams, const KIGFX::VIEW* aView, BOARD_PRINTOUT( const BOARD_PRINTOUT_SETTINGS& aParams, const KIGFX::VIEW* aView,
const wxSize& aSheetSize, const wxString& aTitle ); const wxString& aTitle );
virtual ~BOARD_PRINTOUT() {} virtual ~BOARD_PRINTOUT() {}
@ -88,6 +88,9 @@ public:
int aPageNum = 1, int aPageCount = 1 ); int aPageNum = 1, int aPageCount = 1 );
protected: protected:
///> Convert mils to internal units
virtual int milsToIU( double aMils ) const = 0;
///> Enables layers visibility for a printout ///> Enables layers visibility for a printout
virtual void setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView, const LSET& aLayerSet ); virtual void setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView, const LSET& aLayerSet );
@ -108,9 +111,6 @@ protected:
///> Printout parameters ///> Printout parameters
BOARD_PRINTOUT_SETTINGS m_settings; BOARD_PRINTOUT_SETTINGS m_settings;
///> Sheet size expressed in internal units
wxSize m_sheetSize;
}; };
#endif // BOARD_PRINTOUT_H #endif // BOARD_PRINTOUT_H

View File

@ -81,7 +81,7 @@ private:
wxPrintout* createPrintout( const wxString& aTitle ) override wxPrintout* createPrintout( const wxString& aTitle ) override
{ {
return new PCBNEW_PRINTOUT( m_parent->GetBoard(), *settings(), return new PCBNEW_PRINTOUT( m_parent->GetBoard(), *settings(),
m_parent->GetGalCanvas()->GetView(), m_parent->GetPageSettings().GetSizeIU(), aTitle ); m_parent->GetGalCanvas()->GetView(), aTitle );
} }
PCB_BASE_EDIT_FRAME* m_parent; PCB_BASE_EDIT_FRAME* m_parent;

View File

@ -58,8 +58,8 @@ void PCBNEW_PRINTOUT_SETTINGS::Save( wxConfigBase* aConfig )
PCBNEW_PRINTOUT::PCBNEW_PRINTOUT( BOARD* aBoard, const PCBNEW_PRINTOUT_SETTINGS& aParams, PCBNEW_PRINTOUT::PCBNEW_PRINTOUT( BOARD* aBoard, const PCBNEW_PRINTOUT_SETTINGS& aParams,
const KIGFX::VIEW* aView, const wxSize& aSheetSize, const wxString& aTitle ) : const KIGFX::VIEW* aView, const wxString& aTitle ) :
BOARD_PRINTOUT( aParams, aView, aSheetSize, aTitle ), m_pcbnewSettings( aParams ) BOARD_PRINTOUT( aParams, aView, aTitle ), m_pcbnewSettings( aParams )
{ {
m_board = aBoard; m_board = aBoard;
} }
@ -109,6 +109,12 @@ bool PCBNEW_PRINTOUT::OnPrintPage( int aPage )
} }
int PCBNEW_PRINTOUT::milsToIU( double aMils ) const
{
return KiROUND( IU_PER_MILS * aMils );
}
void PCBNEW_PRINTOUT::setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView, void PCBNEW_PRINTOUT::setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView,
const LSET& aLayerSet ) const LSET& aLayerSet )
{ {

View File

@ -51,11 +51,13 @@ class PCBNEW_PRINTOUT : public BOARD_PRINTOUT
{ {
public: public:
PCBNEW_PRINTOUT( BOARD* aBoard, const PCBNEW_PRINTOUT_SETTINGS& aParams, PCBNEW_PRINTOUT( BOARD* aBoard, const PCBNEW_PRINTOUT_SETTINGS& aParams,
const KIGFX::VIEW* aView, const wxSize& aSheetSize, const wxString& aTitle ); const KIGFX::VIEW* aView, const wxString& aTitle );
bool OnPrintPage( int aPage ) override; bool OnPrintPage( int aPage ) override;
protected: protected:
int milsToIU( double aMils ) const override;
void setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView, const LSET& aLayerSet ) override; void setupViewLayers( const std::unique_ptr<KIGFX::VIEW>& aView, const LSET& aLayerSet ) override;
void setupPainter( const std::unique_ptr<KIGFX::PAINTER>& aPainter ) override; void setupPainter( const std::unique_ptr<KIGFX::PAINTER>& aPainter ) override;