Pcbnew, drill map: fix incorrect position of texts for small boards.
Fixes #7111 https://gitlab.com/kicad/code/kicad/issues/7111
This commit is contained in:
parent
0129c7ae52
commit
54cf67dad2
|
@ -143,7 +143,10 @@ bool GENDRILL_WRITER_BASE::genDrillMapFile( const wxString& aFullFileName, PLOT_
|
||||||
offset.x = KiROUND( double( bbbox.Centre().x ) - ( pageSizeIU.x / 2.0 ) / scale );
|
offset.x = KiROUND( double( bbbox.Centre().x ) - ( pageSizeIU.x / 2.0 ) / scale );
|
||||||
offset.y = KiROUND( double( bbbox.Centre().y ) - ( ypagesize_for_board / 2.0 ) / scale );
|
offset.y = KiROUND( double( bbbox.Centre().y ) - ( ypagesize_for_board / 2.0 ) / scale );
|
||||||
|
|
||||||
bottom_limit = ( pageSizeIU.y - margin ) / scale;
|
// bottom_limit is used to plot the legend (drill diameters)
|
||||||
|
// texts are scaled differently for scale > 1.0 and <= 1.0
|
||||||
|
// so the limit is scaled differently.
|
||||||
|
bottom_limit = ( pageSizeIU.y - margin ) / std::min( scale, 1.0 );
|
||||||
|
|
||||||
if( aFormat == PLOT_FORMAT::SVG )
|
if( aFormat == PLOT_FORMAT::SVG )
|
||||||
plotter = new SVG_PLOTTER;
|
plotter = new SVG_PLOTTER;
|
||||||
|
@ -253,7 +256,7 @@ bool GENDRILL_WRITER_BASE::genDrillMapFile( const wxString& aFullFileName, PLOT_
|
||||||
// For some formats (PS, PDF SVG) we plot the drill size list on more than one column
|
// For some formats (PS, PDF SVG) we plot the drill size list on more than one column
|
||||||
// because the list must be contained inside the printed page
|
// because the list must be contained inside the printed page
|
||||||
// (others formats do not have a defined page size)
|
// (others formats do not have a defined page size)
|
||||||
int max_line_len = 0; // The max line len in iu of the currently plotte column
|
int max_line_len = 0; // The max line len in iu of the currently plotted column
|
||||||
|
|
||||||
for( unsigned ii = 0; ii < m_toolListBuffer.size(); ii++ )
|
for( unsigned ii = 0; ii < m_toolListBuffer.size(); ii++ )
|
||||||
{
|
{
|
||||||
|
@ -265,7 +268,7 @@ bool GENDRILL_WRITER_BASE::genDrillMapFile( const wxString& aFullFileName, PLOT_
|
||||||
plotY += intervalle;
|
plotY += intervalle;
|
||||||
|
|
||||||
// Ensure there are room to plot the line
|
// Ensure there are room to plot the line
|
||||||
if( bottom_limit && plotY+intervalle > bottom_limit )
|
if( bottom_limit && ( plotY+intervalle > bottom_limit ) )
|
||||||
{
|
{
|
||||||
plotY = bbbox.GetBottom() + intervalle;
|
plotY = bbbox.GetBottom() + intervalle;
|
||||||
plotX += max_line_len + Millimeter2iu( 10 );//column_width;
|
plotX += max_line_len + Millimeter2iu( 10 );//column_width;
|
||||||
|
|
Loading…
Reference in New Issue