diff --git a/pcbnew/ratsnest.cpp b/pcbnew/ratsnest.cpp index 4e33ee235..12b62f12d 100644 --- a/pcbnew/ratsnest.cpp +++ b/pcbnew/ratsnest.cpp @@ -120,8 +120,13 @@ void PCB_BASE_FRAME::DrawGeneralRatsnest( wxDC* aDC, int aNetcode ) || dn->Parent()->GetLocalRatsnestVisible(); if( enable && show ) - GRLine( m_canvas->GetClipBox(), aDC, wxPoint( s.x, s.y ), wxPoint( d.x, - d.y ), 0, color ); + { + auto dx = d.x - s.x; + auto dy = d.y - s.y; + auto cx = s.x + 0.5 * dx - 0.1 * dy; + auto cy = s.y + 0.5 * dy + 0.1 * dx; + GRBezier(m_canvas->GetClipBox(), aDC, s.x, s.y, cx, cy, d.x, d.y, 0, color); + } } } } diff --git a/pcbnew/ratsnest_viewitem.cpp b/pcbnew/ratsnest_viewitem.cpp index 522de670b..12a0fc6ed 100644 --- a/pcbnew/ratsnest_viewitem.cpp +++ b/pcbnew/ratsnest_viewitem.cpp @@ -121,7 +121,13 @@ void RATSNEST_VIEWITEM::ViewDraw( int aLayer, KIGFX::VIEW* aView ) const } else { - gal->DrawLine( source, target ); + auto dx = target.x - source.x; + auto dy = target.y - source.y; + const auto center = VECTOR2I( + source.x + 0.5 * dx - 0.1 * dy, + source.y + 0.5 * dy + 0.1 * dx + ); + gal->DrawCurve(source, center, center, target); } } }