From 427379a2eb30408db93090b5bbd6433a73a0a487 Mon Sep 17 00:00:00 2001 From: Craig Watson Date: Sun, 8 Jan 2017 14:11:57 -0500 Subject: [PATCH] Set minimum size for protractor --- src/tools/UBGraphicsProtractor.cpp | 13 ++++++++----- src/tools/UBGraphicsProtractor.h | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/tools/UBGraphicsProtractor.cpp b/src/tools/UBGraphicsProtractor.cpp index 85ef4b93..39f28d48 100644 --- a/src/tools/UBGraphicsProtractor.cpp +++ b/src/tools/UBGraphicsProtractor.cpp @@ -41,6 +41,7 @@ const QRectF UBGraphicsProtractor::sDefaultRect = QRectF(-250, -250, 500, 500); +const qreal UBGraphicsProtractor::minRadius = 70; UBGraphicsProtractor::UBGraphicsProtractor() : QGraphicsEllipseItem(sDefaultRect) @@ -213,11 +214,13 @@ void UBGraphicsProtractor::mouseMoveEvent(QGraphicsSceneMouseEvent *event) case Resize : - prepareGeometryChange(); - setTransform(QTransform::fromTranslate(rect().center().x(), rect().center().y()), true); - setTransform(QTransform::fromScale(scaleFactor, scaleFactor), true); - setTransform(QTransform::fromTranslate(-rect().center().x(), -rect().center().y()), true); - mScaleFactor *= scaleFactor; + if (radius() * mScaleFactor * scaleFactor > minRadius) { + prepareGeometryChange(); + setTransform(QTransform::fromTranslate(rect().center().x(), rect().center().y()), true); + setTransform(QTransform::fromScale(scaleFactor, scaleFactor), true); + setTransform(QTransform::fromTranslate(-rect().center().x(), -rect().center().y()), true); + mScaleFactor *= scaleFactor; + } break; case MoveMarker : diff --git a/src/tools/UBGraphicsProtractor.h b/src/tools/UBGraphicsProtractor.h index 74f68155..42dd591f 100644 --- a/src/tools/UBGraphicsProtractor.h +++ b/src/tools/UBGraphicsProtractor.h @@ -119,6 +119,7 @@ class UBGraphicsProtractor : public UBAbstractDrawRuler, public QGraphicsEllipse QGraphicsSvgItem* mRotateSvgItem; static const QRectF sDefaultRect; + static const qreal minRadius; virtual void rotateAroundCenter(qreal angle); virtual QPointF rotationCenter() const;