Code:
void QGLightViewport
::mousePressEvent(QMouseEvent* mouseEvent
) {
mLastMousePos = mouseEvent->globalPos();
setCursor(Qt::BlankCursor);
cursor().setPos(mapToGlobal(rect().center()));
}
void QGLightViewport
::mouseMoveEvent(QMouseEvent* mouseEvent
) {
QPoint mouseHomePos
= mapToGlobal
(rect
().
center());
QPoint mouseMove
= (mouseEvent
->globalPos
() - mouseHomePos
);
if (mouseMove.isNull()) // mouse didn't move
return;
// do things depending on the mouse move
cursor().setPos(mapToGlobal(rect().center()));
}
void QGLightViewport
::mouseReleaseEvent(QMouseEvent* mouseEvent
) {
cursor().setPos(mLastMousePos);
unsetCursor();
}