One more attempt to fix flipping geometry.
Fixes https://gitlab.com/kicad/code/kicad/issues/4480
This commit is contained in:
parent
50e22de3ba
commit
4f399d4304
|
@ -179,20 +179,22 @@ void PCB_TEXT::Flip( const wxPoint& aCentre, bool aFlipLeftRight )
|
|||
std::swap( top, bottom );
|
||||
}
|
||||
|
||||
// Now put the text back in it (these look backwards but remember that out text will
|
||||
// be mirrored when all is said and done)
|
||||
// Now put the text back in its bounding box
|
||||
switch( GetHorizJustify() )
|
||||
{
|
||||
case GR_TEXT_HJUSTIFY_LEFT: SetTextX( right ); break;
|
||||
case GR_TEXT_HJUSTIFY_CENTER: SetTextX( ( left + right ) / 2 ); break;
|
||||
case GR_TEXT_HJUSTIFY_RIGHT: SetTextX( left ); break;
|
||||
case GR_TEXT_HJUSTIFY_LEFT: SetTextX( IsMirrored() ? left : right ); break;
|
||||
case GR_TEXT_HJUSTIFY_CENTER: SetTextX( ( left + right ) / 2 ); break;
|
||||
case GR_TEXT_HJUSTIFY_RIGHT: SetTextX( IsMirrored() ? right : left ); break;
|
||||
}
|
||||
|
||||
switch( GetVertJustify() )
|
||||
if( !aFlipLeftRight )
|
||||
{
|
||||
case GR_TEXT_VJUSTIFY_TOP: SetTextY( bottom ); break;
|
||||
case GR_TEXT_VJUSTIFY_CENTER: SetTextY( ( top + bottom ) / 2 ); break;
|
||||
case GR_TEXT_VJUSTIFY_BOTTOM: SetTextY( top ); break;
|
||||
switch( GetVertJustify() )
|
||||
{
|
||||
case GR_TEXT_VJUSTIFY_TOP: SetTextY( bottom ); break;
|
||||
case GR_TEXT_VJUSTIFY_CENTER: SetTextY( ( top + bottom ) / 2 ); break;
|
||||
case GR_TEXT_VJUSTIFY_BOTTOM: SetTextY( top ); break;
|
||||
}
|
||||
}
|
||||
|
||||
// And restore orientation
|
||||
|
|
Loading…
Reference in New Issue