From 76932c786986b3934923812f0e4ad734a2aa7b55 Mon Sep 17 00:00:00 2001 From: morro Date: Fri, 7 Dec 2018 21:04:33 +0100 Subject: [PATCH 1/2] adding snap toggle to arrow rotation --- src/control/tools/ArrowHandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/control/tools/ArrowHandler.cpp b/src/control/tools/ArrowHandler.cpp index 845f9c3a..ce5e4da2 100644 --- a/src/control/tools/ArrowHandler.cpp +++ b/src/control/tools/ArrowHandler.cpp @@ -51,7 +51,7 @@ void ArrowHandler::drawShape(Point& c, bool shiftDown) // an appropriate delta is Pi/3 radians for an arrow shape double delta = M_PI / 6.0; - if (shiftDown) + if (shiftDown || !xournal->getControl()->isRotationSnapping()) { stroke->addPoint(c); stroke->addPoint(Point(c.x - dist * cos(angle + delta), c.y - dist * sin(angle + delta))); From ac878dcae8c34c24f83f4a9295343d8de7b6ccb5 Mon Sep 17 00:00:00 2001 From: morro Date: Fri, 7 Dec 2018 21:06:40 +0100 Subject: [PATCH 2/2] fixing arrow free rotation aspect ratio --- src/control/tools/ArrowHandler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/control/tools/ArrowHandler.cpp b/src/control/tools/ArrowHandler.cpp index ce5e4da2..bf969428 100644 --- a/src/control/tools/ArrowHandler.cpp +++ b/src/control/tools/ArrowHandler.cpp @@ -54,9 +54,9 @@ void ArrowHandler::drawShape(Point& c, bool shiftDown) if (shiftDown || !xournal->getControl()->isRotationSnapping()) { stroke->addPoint(c); - stroke->addPoint(Point(c.x - dist * cos(angle + delta), c.y - dist * sin(angle + delta))); + stroke->addPoint(Point(c.x - arrowDist * cos(angle + delta), c.y - arrowDist * sin(angle + delta))); stroke->addPoint(c); - stroke->addPoint(Point(c.x - dist * cos(angle - delta), c.y - dist * sin(angle - delta))); + stroke->addPoint(Point(c.x - arrowDist * cos(angle - delta), c.y - arrowDist * sin(angle - delta))); } else {