diff --git a/common/eda_text.cpp b/common/eda_text.cpp index 1ee1906c31..65bebe5764 100644 --- a/common/eda_text.cpp +++ b/common/eda_text.cpp @@ -40,7 +40,7 @@ // because the text position is sometimes critical. // Currently, this change is broken for rotated or mirrored texts, // so keep this line commented until there are fixes -//#define FIX_MULTILINE_VERT_JUSTIF +#define FIX_MULTILINE_VERT_JUSTIF // Conversion to application internal units defined at build time. #if defined( PCBNEW ) @@ -267,9 +267,13 @@ void EDA_TEXT::Draw( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset, { if( m_MultilineAllowed ) { - wxPoint pos = m_Pos; wxArrayString* list = wxStringSplit( m_Text, '\n' ); - wxPoint offset; + + wxPoint pos = m_Pos; // Position of first line of the + // multiline text according to + // the center of the multiline text block + + wxPoint offset; // Offset to next line. offset.y = GetInterline(); @@ -290,7 +294,12 @@ void EDA_TEXT::Draw( EDA_RECT* aClipBox, wxDC* aDC, const wxPoint& aOffset, break; } } + + // Rotate the position of the first line + // around the center of the multiline text block + RotatePoint( &pos, m_Pos, m_Orient ); #endif + // Rotate the offset lines to increase happened in the right direction RotatePoint( &offset, m_Orient ); for( unsigned i = 0; iCount(); i++ )