Commit ee3e97e6 authored by Nick Østergaard's avatar Nick Østergaard Committed by jean-pierre charras

Fix vertical offset for multiline text in VRML exporter.

parent 5f65d0da
...@@ -600,33 +600,31 @@ static void export_vrml_pcbtext( MODEL_VRML& aModel, TEXTE_PCB* text ) ...@@ -600,33 +600,31 @@ static void export_vrml_pcbtext( MODEL_VRML& aModel, TEXTE_PCB* text )
if( text->IsMirrored() ) if( text->IsMirrored() )
NEGATE( size.x ); NEGATE( size.x );
EDA_COLOR_T color = BLACK; // not actually used, but needed by DrawGraphicText
if( text->IsMultilineAllowed() ) if( text->IsMultilineAllowed() )
{ {
wxPoint pos = text->GetTextPosition();
wxArrayString* list = wxStringSplit( text->GetText(), '\n' ); wxArrayString* list = wxStringSplit( text->GetText(), '\n' );
wxPoint offset; std::vector<wxPoint> positions;
positions.reserve( list->Count() );
offset.y = text->GetInterline(); text->GetPositionsOfLinesOfMultilineText( positions, list->Count() );
RotatePoint( &offset, text->GetOrientation() );
for( unsigned i = 0; i<list->Count(); i++ ) for( unsigned ii = 0; ii < list->Count(); ii++ )
{ {
wxString txt = list->Item( i ); wxString txt = list->Item( ii );
DrawGraphicText( NULL, NULL, pos, BLACK, DrawGraphicText( NULL, NULL, positions[ii], color,
txt, text->GetOrientation(), size, txt, text->GetOrientation(), size,
text->GetHorizJustify(), text->GetVertJustify(), text->GetHorizJustify(), text->GetVertJustify(),
text->GetThickness(), text->IsItalic(), text->GetThickness(), text->IsItalic(),
true, true,
vrml_text_callback ); vrml_text_callback );
pos += offset;
} }
delete (list); delete (list);
} }
else else
{ {
DrawGraphicText( NULL, NULL, text->GetTextPosition(), BLACK, DrawGraphicText( NULL, NULL, text->GetTextPosition(), color,
text->GetText(), text->GetOrientation(), size, text->GetText(), text->GetOrientation(), size,
text->GetHorizJustify(), text->GetVertJustify(), text->GetHorizJustify(), text->GetVertJustify(),
text->GetThickness(), text->IsItalic(), text->GetThickness(), text->IsItalic(),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment