summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/shared/qtgradienteditor/qtgradientwidget.cpp22
1 files changed, 2 insertions, 20 deletions
diff --git a/src/shared/qtgradienteditor/qtgradientwidget.cpp b/src/shared/qtgradienteditor/qtgradientwidget.cpp
index 227813d92..f429efea9 100644
--- a/src/shared/qtgradienteditor/qtgradientwidget.cpp
+++ b/src/shared/qtgradienteditor/qtgradientwidget.cpp
@@ -382,15 +382,7 @@ void QtGradientWidget::mousePressEvent(QMouseEvent *e)
y = current.y() - central.y();
x /= size().width() / 2;
y /= size().height() / 2;
- double r = sqrt(x * x + y * y);
-
- double arcSin = asin(y / r);
- double arcCos = acos(x / r);
-
- double angle = arcCos * 180 / M_PI;
- if (arcSin > 0) {
- angle = -angle;
- }
+ double angle = atan2(-y, x) * 180 / M_PI;
d_ptr->m_angleOffset = d_ptr->m_angleConical - angle;
d_ptr->m_dragAngle = d_ptr->m_angleConical;
@@ -480,18 +472,8 @@ void QtGradientWidget::mouseMoveEvent(QMouseEvent *e)
y = current.y() - central.y();
x /= size().width() / 2;
y /= size().height() / 2;
- double r = sqrt(x * x + y * y);
-
- double arcSin = asin(y / r);
- double arcCos = acos(x / r);
-
- double angle = arcCos * 180 / M_PI;
- if (arcSin > 0) {
- angle = -angle;
- }
-
- angle += d_ptr->m_angleOffset;
+ double angle = atan2(-y, x) * 180 / M_PI + d_ptr->m_angleOffset;
d_ptr->setAngleConical(angle);
}
}