diff --git a/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy.cpp b/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy.cpp index 565ce7e0f3..84d57e5460 100644 --- a/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy.cpp +++ b/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy.cpp @@ -1445,7 +1445,7 @@ SCH_SYMBOL* SCH_IO_KICAD_LEGACY::loadSymbol( LINE_READER& aReader ) if( transform.x1 < -1 || transform.x1 > 1 ) SCH_PARSE_ERROR( "invalid symbol X1 transform value", aReader, line ); - transform.y1 = parseInt( aReader, line, &line ); + transform.y1 = -parseInt( aReader, line, &line ); if( transform.y1 < -1 || transform.y1 > 1 ) SCH_PARSE_ERROR( "invalid symbol Y1 transform value", aReader, line ); @@ -1455,7 +1455,7 @@ SCH_SYMBOL* SCH_IO_KICAD_LEGACY::loadSymbol( LINE_READER& aReader ) if( transform.x2 < -1 || transform.x2 > 1 ) SCH_PARSE_ERROR( "invalid symbol X2 transform value", aReader, line ); - transform.y2 = parseInt( aReader, line, &line ); + transform.y2 = -parseInt( aReader, line, &line ); if( transform.y2 < -1 || transform.y2 > 1 ) SCH_PARSE_ERROR( "invalid symbol Y2 transform value", aReader, line ); diff --git a/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy_lib_cache.cpp b/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy_lib_cache.cpp index 0201d3a021..8a7fe07007 100644 --- a/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy_lib_cache.cpp +++ b/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy_lib_cache.cpp @@ -584,7 +584,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::loadField( std::unique_ptr& aSym VECTOR2I pos; pos.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - pos.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + pos.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); field->SetPosition( pos ); VECTOR2I textSize; @@ -848,7 +848,7 @@ SCH_SHAPE* SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc( LINE_READER& aReader ) VECTOR2I center; center.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - center.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + center.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); arc->SetPosition( center ); @@ -878,9 +878,9 @@ SCH_SHAPE* SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc( LINE_READER& aReader ) VECTOR2I arcStart, arcEnd; arcStart.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - arcStart.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + arcStart.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); arcEnd.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - arcEnd.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + arcEnd.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); arc->SetStart( arcStart ); arc->SetEnd( arcEnd ); @@ -929,7 +929,7 @@ SCH_SHAPE* SCH_IO_KICAD_LEGACY_LIB_CACHE::loadCircle( LINE_READER& aReader ) VECTOR2I center; center.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - center.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + center.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); int radius = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); @@ -968,7 +968,7 @@ SCH_TEXT* SCH_IO_KICAD_LEGACY_LIB_CACHE::loadText( LINE_READER& aReader, angleInTenths = parseInt( aReader, line, &line ); center.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - center.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + center.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); size.x = size.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); visible = !parseInt( aReader, line, &line ); unit = parseInt( aReader, line, &line ); @@ -1059,13 +1059,13 @@ SCH_SHAPE* SCH_IO_KICAD_LEGACY_LIB_CACHE::loadRect( LINE_READER& aReader ) VECTOR2I pos; pos.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - pos.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + pos.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); rectangle->SetPosition( pos ); VECTOR2I end; end.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - end.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + end.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); rectangle->SetEnd( end ); rectangle->SetUnit( parseInt( aReader, line, &line ) ); @@ -1133,7 +1133,7 @@ SCH_PIN* SCH_IO_KICAD_LEGACY_LIB_CACHE::loadPin( std::unique_ptr& aS } pos += tmp.size() + 1; - position.y = schIUScale.MilsToIU( (int) num ); + position.y = -schIUScale.MilsToIU( (int) num ); tmp = tokens.GetNextToken(); @@ -1332,7 +1332,7 @@ SCH_SHAPE* SCH_IO_KICAD_LEGACY_LIB_CACHE::loadPolyLine( LINE_READER& aReader ) for( int i = 0; i < points; i++ ) { pt.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - pt.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + pt.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); polyLine->AddPoint( pt ); } @@ -1366,19 +1366,19 @@ SCH_SHAPE* SCH_IO_KICAD_LEGACY_LIB_CACHE::loadBezier( LINE_READER& aReader ) VECTOR2I pt; pt.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - pt.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + pt.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); bezier->SetStart( pt ); pt.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - pt.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + pt.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); bezier->SetBezierC1( pt ); pt.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - pt.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + pt.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); bezier->SetBezierC2( pt ); pt.x = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); - pt.y = schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); + pt.y = -schIUScale.MilsToIU( parseInt( aReader, line, &line ) ); bezier->SetEnd( pt ); bezier->RebuildBezierToSegmentsPointsList( bezier->GetWidth() ); @@ -1629,7 +1629,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc( SCH_SHAPE* aArc, OUTPUTFORMATTER& a aFormatter.Print( 0, "A %d %d %d %d %d %d %d %d %c %d %d %d %d\n", schIUScale.IUToMils( aArc->GetPosition().x ), - schIUScale.IUToMils( aArc->GetPosition().y ), + schIUScale.IUToMils( -aArc->GetPosition().y ), schIUScale.IUToMils( aArc->GetRadius() ), startAngle.AsTenthsOfADegree(), endAngle.AsTenthsOfADegree(), @@ -1638,9 +1638,9 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc( SCH_SHAPE* aArc, OUTPUTFORMATTER& a schIUScale.IUToMils( aArc->GetWidth() ), fill_tab[ static_cast( aArc->GetFillMode() ) - 1 ], schIUScale.IUToMils( aArc->GetStart().x ), - schIUScale.IUToMils( aArc->GetStart().y ), + schIUScale.IUToMils( -aArc->GetStart().y ), schIUScale.IUToMils( aArc->GetEnd().x ), - schIUScale.IUToMils( aArc->GetEnd().y ) ); + schIUScale.IUToMils( -aArc->GetEnd().y ) ); } @@ -1655,13 +1655,13 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier( SCH_SHAPE* aBezier, OUTPUTFORMAT aFormatter.Print( 0, " %d %d %d %d %d %d %d %d", schIUScale.IUToMils( aBezier->GetStart().x ), - schIUScale.IUToMils( aBezier->GetStart().y ), + schIUScale.IUToMils( -aBezier->GetStart().y ), schIUScale.IUToMils( aBezier->GetBezierC1().x ), - schIUScale.IUToMils( aBezier->GetBezierC1().y ), + schIUScale.IUToMils( -aBezier->GetBezierC1().y ), schIUScale.IUToMils( aBezier->GetBezierC2().x ), - schIUScale.IUToMils( aBezier->GetBezierC2().y ), + schIUScale.IUToMils( -aBezier->GetBezierC2().y ), schIUScale.IUToMils( aBezier->GetEnd().x ), - schIUScale.IUToMils( aBezier->GetEnd().y ) ); + schIUScale.IUToMils( -aBezier->GetEnd().y ) ); aFormatter.Print( 0, " %c\n", fill_tab[ static_cast( aBezier->GetFillMode() ) - 1 ] ); } @@ -1673,7 +1673,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::saveCircle( SCH_SHAPE* aCircle, OUTPUTFORMAT aFormatter.Print( 0, "C %d %d %d %d %d %d %c\n", schIUScale.IUToMils( aCircle->GetPosition().x ), - schIUScale.IUToMils( aCircle->GetPosition().y ), + schIUScale.IUToMils( -aCircle->GetPosition().y ), schIUScale.IUToMils( aCircle->GetRadius() ), aCircle->GetUnit(), aCircle->GetBodyStyle(), @@ -1709,7 +1709,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::saveField( const SCH_FIELD* aField, id, EscapedUTF8( text ).c_str(), // wraps in quotes schIUScale.IUToMils( aField->GetTextPos().x ), - schIUScale.IUToMils( aField->GetTextPos().y ), + schIUScale.IUToMils( -aField->GetTextPos().y ), schIUScale.IUToMils( aField->GetTextWidth() ), aField->GetTextAngle().IsHorizontal() ? 'H' : 'V', aField->IsVisible() ? 'V' : 'I', @@ -1761,7 +1761,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::savePin( const SCH_PIN* aPin, OUTPUTFORMATTE aFormatter.Print( 0, " %s %d %d %d %c %d %d %d %d %c", aPin->GetNumber().IsEmpty() ? "~" : TO_UTF8( aPin->GetNumber() ), schIUScale.IUToMils( aPin->GetPosition().x ), - schIUScale.IUToMils( aPin->GetPosition().y ), + schIUScale.IUToMils( -aPin->GetPosition().y ), schIUScale.IUToMils( (int) aPin->GetLength() ), (int) aPin->GetOrientation(), schIUScale.IUToMils( aPin->GetNumberTextSize() ), @@ -1808,7 +1808,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::savePolyLine( SCH_SHAPE* aPolyLine, schIUScale.IUToMils( aPolyLine->GetWidth() ) ); for( const VECTOR2I& pt : aPolyLine->GetPolyShape().Outline( 0 ).CPoints() ) - aFormatter.Print( 0, " %d %d", schIUScale.IUToMils( pt.x ), schIUScale.IUToMils( pt.y ) ); + aFormatter.Print( 0, " %d %d", schIUScale.IUToMils( pt.x ), -schIUScale.IUToMils( pt.y ) ); aFormatter.Print( 0, " %c\n", fill_tab[ static_cast( aPolyLine->GetFillMode() ) - 1 ] ); } @@ -1822,9 +1822,9 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::saveRectangle( SCH_SHAPE* aRectangle, aFormatter.Print( 0, "S %d %d %d %d %d %d %d %c\n", schIUScale.IUToMils( aRectangle->GetPosition().x ), - schIUScale.IUToMils( aRectangle->GetPosition().y ), + schIUScale.IUToMils( -aRectangle->GetPosition().y ), schIUScale.IUToMils( aRectangle->GetEnd().x ), - schIUScale.IUToMils( aRectangle->GetEnd().y ), + schIUScale.IUToMils( -aRectangle->GetEnd().y ), aRectangle->GetUnit(), aRectangle->GetBodyStyle(), schIUScale.IUToMils( aRectangle->GetWidth() ), @@ -1848,7 +1848,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::saveText( const SCH_TEXT* aText, OUTPUTFORMA aFormatter.Print( 0, "T %g %d %d %d %d %d %d %s", (double) aText->GetTextAngle().AsTenthsOfADegree(), schIUScale.IUToMils( aText->GetTextPos().x ), - schIUScale.IUToMils( aText->GetTextPos().y ), + schIUScale.IUToMils( -aText->GetTextPos().y ), schIUScale.IUToMils( aText->GetTextWidth() ), !aText->IsVisible(), aText->GetUnit(),