Support >180 deg arcs in schematic.

This commit is contained in:
Alex Shvartzkop
2023-08-07 14:18:38 +03:00
parent d03c3d0f6d
commit 717ee350c8
16 changed files with 117 additions and 154 deletions
+4 -12
View File
@@ -302,13 +302,8 @@ void PDF_PLOTTER::Arc( const VECTOR2I& aCenter, const VECTOR2I& aStart, const VE
VECTOR2I end( aEnd );
VECTOR2I pt;
if( startAngle > endAngle )
{
if( endAngle < ANGLE_0 )
endAngle.Normalize();
else
startAngle = startAngle.Normalize() - ANGLE_360;
}
while( endAngle < startAngle )
endAngle += ANGLE_360;
SetCurrentLineWidth( aWidth );
VECTOR2D pos_dev = userToDeviceCoordinates( start );
@@ -361,11 +356,8 @@ void PDF_PLOTTER::Arc( const VECTOR2D& aCenter, const EDA_ANGLE& aStartAngle,
VECTOR2I end;
const EDA_ANGLE delta( 5, DEGREES_T ); // increment to draw circles
if( startAngle > endAngle )
{
std::swap( startAngle, endAngle );
std::swap( start, end );
}
while( endAngle < startAngle )
endAngle += ANGLE_360;
SetCurrentLineWidth( aWidth );