Altium PCB import: fix text positioning when not bottom-left aligned.
(cherry picked from commit 536744d37a
)
This commit is contained in:
parent
6f384c8802
commit
803bcbbea0
|
@ -3197,57 +3197,11 @@ void ALTIUM_PCB::ConvertTexts6ToEdaTextSettings( const ATEXT6& aElem, EDA_TEXT*
|
||||||
aEdaText->SetItalic( aElem.isItalic );
|
aEdaText->SetItalic( aElem.isItalic );
|
||||||
aEdaText->SetMirrored( aElem.isMirrored );
|
aEdaText->SetMirrored( aElem.isMirrored );
|
||||||
|
|
||||||
if( aElem.isDesignator || aElem.isComment ) // That's just a bold assumption
|
// Altium position always specifies the bottom left corner
|
||||||
{
|
|
||||||
aEdaText->SetHorizJustify( GR_TEXT_H_ALIGN_LEFT );
|
aEdaText->SetHorizJustify( GR_TEXT_H_ALIGN_LEFT );
|
||||||
aEdaText->SetVertJustify( GR_TEXT_V_ALIGN_BOTTOM );
|
aEdaText->SetVertJustify( GR_TEXT_V_ALIGN_BOTTOM );
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
switch( aElem.textposition )
|
|
||||||
{
|
|
||||||
case ALTIUM_TEXT_POSITION::LEFT_TOP:
|
|
||||||
case ALTIUM_TEXT_POSITION::LEFT_CENTER:
|
|
||||||
case ALTIUM_TEXT_POSITION::LEFT_BOTTOM:
|
|
||||||
aEdaText->SetHorizJustify( GR_TEXT_H_ALIGN_LEFT );
|
|
||||||
break;
|
|
||||||
case ALTIUM_TEXT_POSITION::CENTER_TOP:
|
|
||||||
case ALTIUM_TEXT_POSITION::CENTER_CENTER:
|
|
||||||
case ALTIUM_TEXT_POSITION::CENTER_BOTTOM:
|
|
||||||
aEdaText->SetHorizJustify( GR_TEXT_H_ALIGN_CENTER );
|
|
||||||
break;
|
|
||||||
case ALTIUM_TEXT_POSITION::RIGHT_TOP:
|
|
||||||
case ALTIUM_TEXT_POSITION::RIGHT_CENTER:
|
|
||||||
case ALTIUM_TEXT_POSITION::RIGHT_BOTTOM:
|
|
||||||
aEdaText->SetHorizJustify( GR_TEXT_H_ALIGN_RIGHT );
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
wxLogError( wxT( "Unexpected horizontal Text Position. This should never happen." ) );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( aElem.textposition )
|
// TODO: correct the position and set proper justification
|
||||||
{
|
|
||||||
case ALTIUM_TEXT_POSITION::LEFT_TOP:
|
|
||||||
case ALTIUM_TEXT_POSITION::CENTER_TOP:
|
|
||||||
case ALTIUM_TEXT_POSITION::RIGHT_TOP:
|
|
||||||
aEdaText->SetVertJustify( GR_TEXT_V_ALIGN_TOP );
|
|
||||||
break;
|
|
||||||
case ALTIUM_TEXT_POSITION::LEFT_CENTER:
|
|
||||||
case ALTIUM_TEXT_POSITION::CENTER_CENTER:
|
|
||||||
case ALTIUM_TEXT_POSITION::RIGHT_CENTER:
|
|
||||||
aEdaText->SetVertJustify( GR_TEXT_V_ALIGN_CENTER );
|
|
||||||
break;
|
|
||||||
case ALTIUM_TEXT_POSITION::LEFT_BOTTOM:
|
|
||||||
case ALTIUM_TEXT_POSITION::CENTER_BOTTOM:
|
|
||||||
case ALTIUM_TEXT_POSITION::RIGHT_BOTTOM:
|
|
||||||
aEdaText->SetVertJustify( GR_TEXT_V_ALIGN_BOTTOM );
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
wxLogError( wxT( "Unexpected vertical text position. This should never happen." ) );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue