Skip to content

Commit 4602fe8

Browse files
committed
rotation snapping by 15 degrees
1 parent 5694128 commit 4602fe8

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/core/canvasmouseinteractions.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
#include <QMenu>
5858
#include <QInputDialog>
5959
#include <QApplication>
60+
#include <cmath>
6061

6162
using namespace Friction::Core;
6263

@@ -830,6 +831,11 @@ void Canvas::rotateSelected(const eMouseEvent& e) {
830831
rot = d_rot + mRotHalfCycles*180;
831832
}
832833

834+
if (!mValueInput.inputEnabled() && e.shiftMod()) {
835+
constexpr qreal snapStep = 15.0;
836+
rot = std::round(rot / snapStep) * snapStep;
837+
}
838+
833839
if(mCurrentMode == CanvasMode::boxTransform) {
834840
rotateSelectedBy(rot, absPos, mStartTransform);
835841
} else {

0 commit comments

Comments
 (0)