pcbnew: Draw title block normally even when the view is flipped
This commit is contained in:
parent
6602e17edc
commit
cbf7d708b2
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* This program source code file is part of KICAD, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2013 CERN
|
||||
* Copyright (C) 2013-2018 CERN
|
||||
* @author Maciej Suminski <maciej.suminski@cern.ch>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
@ -97,6 +97,16 @@ void WORKSHEET_VIEWITEM::ViewDraw( int aLayer, VIEW* aView ) const
|
|||
COLOR4D color = settings->GetColor( this, aLayer );
|
||||
drawList.BuildWorkSheetGraphicList( *m_pageInfo, *m_titleBlock, color, color );
|
||||
|
||||
// Draw the title block normally even if the view is flipped
|
||||
bool flipped = gal->IsFlippedX();
|
||||
|
||||
if( flipped )
|
||||
{
|
||||
gal->Save();
|
||||
gal->Translate( VECTOR2D( m_pageInfo->GetWidthMils() * m_mils2IUscalefactor, 0 ) );
|
||||
gal->Scale( VECTOR2D( -1.0, 1.0 ) );
|
||||
}
|
||||
|
||||
// Draw all the components that make the page layout
|
||||
WS_DRAW_ITEM_BASE* item = drawList.GetFirst();
|
||||
while( item )
|
||||
|
@ -130,6 +140,9 @@ void WORKSHEET_VIEWITEM::ViewDraw( int aLayer, VIEW* aView ) const
|
|||
// Draw gray line that outlines the sheet size
|
||||
if( settings->GetShowPageLimits() )
|
||||
drawBorder( gal );
|
||||
|
||||
if( flipped )
|
||||
gal->Restore();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -771,6 +771,21 @@ public:
|
|||
globalFlipY = yAxis;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if flip flag for the X axis is set.
|
||||
*/
|
||||
bool IsFlippedX() const
|
||||
{
|
||||
return globalFlipX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if flip flag for the Y axis is set.
|
||||
*/
|
||||
bool IsFlippedY() const
|
||||
{
|
||||
return globalFlipY;
|
||||
}
|
||||
|
||||
// ---------------------------
|
||||
// Buffer manipulation methods
|
||||
|
|
Loading…
Reference in New Issue