summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGiles Bathgate <gilesbathgate@gmail.com>2011-05-14 21:29:45 (GMT)
committerGiles Bathgate <gilesbathgate@gmail.com>2011-05-14 21:29:45 (GMT)
commita878f3773d4c2647451ec93a85203ce906e13e2d (patch)
tree0cdaf25601a2b47c910cee860d36e8266605c40f /src
parent9eff0b4bdb22657e77c55fcc4e5435578350408b (diff)
Use QPoint instead of seperate x and y mouse vars.
Diffstat (limited to 'src')
-rw-r--r--src/GLView.h3
-rw-r--r--src/glview.cc25
2 files changed, 11 insertions, 17 deletions
diff --git a/src/GLView.h b/src/GLView.h
index 4977abb..be21578 100644
--- a/src/GLView.h
+++ b/src/GLView.h
@@ -57,8 +57,7 @@ private:
double w_h_ratio;
bool mouse_drag_active;
- int last_mouse_x;
- int last_mouse_y;
+ QPoint last_mouse;
void keyPressEvent(QKeyEvent *event);
void wheelEvent(QWheelEvent *event);
diff --git a/src/glview.cc b/src/glview.cc
index dd2a3b5..d5285dc 100644
--- a/src/glview.cc
+++ b/src/glview.cc
@@ -48,8 +48,6 @@ GLView::GLView(QWidget *parent) : QGLWidget(parent)
object_trans_z = 0;
mouse_drag_active = false;
- last_mouse_x = 0;
- last_mouse_y = 0;
orthomode = false;
showaxes = false;
@@ -425,8 +423,7 @@ void GLView::wheelEvent(QWheelEvent *event)
void GLView::mousePressEvent(QMouseEvent *event)
{
mouse_drag_active = true;
- last_mouse_x = event->globalX();
- last_mouse_y = event->globalY();
+ last_mouse = event->globalPos();
grabMouse();
setFocus();
}
@@ -442,17 +439,16 @@ void GLView::normalizeAngle(GLdouble& angle)
void GLView::mouseMoveEvent(QMouseEvent *event)
{
- int this_mouse_x = event->globalX();
- int this_mouse_y = event->globalY();
- int dx = (this_mouse_x-last_mouse_x);
- int dy = (this_mouse_y-last_mouse_y);
+ QPoint this_mouse = event->globalPos();
+ double dx = (this_mouse.x()-last_mouse.x()) * 0.7;
+ double dy = (this_mouse.y()-last_mouse.y()) * 0.7;
if (mouse_drag_active) {
if ((event->buttons() & Qt::LeftButton) != 0) {
- object_rot_x += (this_mouse_y-last_mouse_y) * 0.7;
+ object_rot_x += dy;
if ((QApplication::keyboardModifiers() & Qt::ShiftModifier) != 0)
- object_rot_y += dx * 0.7;
+ object_rot_y += dx;
else
- object_rot_z += dx * 0.7;
+ object_rot_z += dx;
normalizeAngle(object_rot_x);
normalizeAngle(object_rot_y);
@@ -461,15 +457,14 @@ void GLView::mouseMoveEvent(QMouseEvent *event)
if ((QApplication::keyboardModifiers() & Qt::ShiftModifier) != 0) {
viewer_distance += (GLdouble)dy;
} else {
- object_trans_x += (GLint)dx;
- object_trans_z -= (GLint)dy;
+ object_trans_x += dx;
+ object_trans_z -= dy;
}
}
updateGL();
emit doAnimateUpdate();
}
- last_mouse_x = this_mouse_x;
- last_mouse_y = this_mouse_y;
+ last_mouse = this_mouse;
}
void GLView::mouseReleaseEvent(QMouseEvent*)
contact: Jan Huwald // Impressum