Skip to content

Commit

Permalink
Fix Advanced Digitizing locked distance circle
Browse files Browse the repository at this point in the history
  • Loading branch information
agiudiceandrea authored and nyalldawson committed Sep 15, 2023
1 parent fcc7ef7 commit 8b1b324
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/gui/qgsadvanceddigitizingcanvasitem.cpp
Expand Up @@ -162,7 +162,12 @@ void QgsAdvancedDigitizingCanvasItem::paint( QPainter *painter )
{
painter->setPen( mLockedPen );
const double r = mAdvancedDigitizingDockWidget->constraintDistance()->value() / mupp;
painter->drawEllipse( prevPointPix, r, r );
QPainterPath ellipsePath;
ellipsePath.addEllipse( prevPointPix, r, r );
const double a = std::atan2( -( curPoint.y() - prevPoint.y() ), curPoint.x() - prevPoint.x() ) + canvasRotationRad;
const QTransform t = QTransform().translate( prevPointPix.x(), prevPointPix.y() ).rotateRadians( a ).translate( -prevPointPix.x(), -prevPointPix.y() );
const QPolygonF ellipsePoly = ellipsePath.toFillPolygon( t );
painter->drawPolygon( ellipsePoly );
}

// Draw x
Expand Down

0 comments on commit 8b1b324

Please sign in to comment.