History

consolidate all calls to QCursor::pos() and QCursor.setPosition() to use common ControllerScriptingInterface

Brad Hefta-Gaub committed 10 years ago

Commit 0d873c71 parent bf52d305 files · +11 −67Browse files

Showing the changes to interface/src/Application.cpp (1 of 5 files). Show all

Unified · Split

interface/src/Application.cpp+11−33
@@ -806,39 +806,14 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : · 805 unmodified lines
806 } else if (action == controller::toInt(controller::Action::CYCLE_CAMERA)) {806 } else if (action == controller::toInt(controller::Action::CYCLE_CAMERA)) {
807 cycleCamera();807 cycleCamera();
808 } else if (action == controller::toInt(controller::Action::CONTEXT_MENU)) {808 } else if (action == controller::toInt(controller::Action::CONTEXT_MENU)) {
809 offscreenUi->toggleMenu(_glWidget->mapFromGlobal(QCursor::pos()));809 auto reticlePosition = _controllerScriptingInterface->getReticlePosition();
810 offscreenUi->toggleMenu(_glWidget->mapFromGlobal(QPoint(reticlePosition.x, reticlePosition.y)));
810 } else if (action == controller::toInt(controller::Action::RETICLE_X)) {811 } else if (action == controller::toInt(controller::Action::RETICLE_X)) {
811 auto oldPos = QCursor::pos();812 auto oldPos = _controllerScriptingInterface->getReticlePosition();
812 auto newPos = oldPos;813 _controllerScriptingInterface->setReticlePosition({ oldPos.x + state, oldPos.y });
813 newPos.setX(oldPos.x() + state);
814 QCursor::setPos(newPos);
815
816
817 // NOTE: This is some debugging code we will leave in while debugging various reticle movement strategies,
818 // remove it after we're done
819 const float REASONABLE_CHANGE = 50.0f;
820 glm::vec2 oldPosG = { oldPos.x(), oldPos.y() };
821 glm::vec2 newPosG = { newPos.x(), newPos.y() };
822 auto distance = glm::distance(oldPosG, newPosG);
823 if (distance > REASONABLE_CHANGE) {
824 qDebug() << "Action::RETICLE_X... UNREASONABLE CHANGE! distance:" << distance << " oldPos:" << oldPosG << " newPos:" << newPosG;
825 }
826
827 } else if (action == controller::toInt(controller::Action::RETICLE_Y)) {814 } else if (action == controller::toInt(controller::Action::RETICLE_Y)) {
828 auto oldPos = QCursor::pos();815 auto oldPos = _controllerScriptingInterface->getReticlePosition();
829 auto newPos = oldPos;816 _controllerScriptingInterface->setReticlePosition({ oldPos.x, oldPos.y + state });
830 newPos.setY(oldPos.y() + state);
831 QCursor::setPos(newPos);
832
833 // NOTE: This is some debugging code we will leave in while debugging various reticle movement strategies,
834 // remove it after we're done
835 const float REASONABLE_CHANGE = 50.0f;
836 glm::vec2 oldPosG = { oldPos.x(), oldPos.y() };
837 glm::vec2 newPosG = { newPos.x(), newPos.y() };
838 auto distance = glm::distance(oldPosG, newPosG);
839 if (distance > REASONABLE_CHANGE) {
840 qDebug() << "Action::RETICLE_Y... UNREASONABLE CHANGE! distance:" << distance << " oldPos:" << oldPosG << " newPos:" << newPosG;
841 }
842 }817 }
843 }818 }
844 });819 });
@@ -2110,7 +2085,8 @@ void Application::keyPressEvent(QKeyEvent* event) { · 1265 unmodified lines
2110void Application::keyReleaseEvent(QKeyEvent* event) {2085void Application::keyReleaseEvent(QKeyEvent* event) {
2111 if (event->key() == Qt::Key_Alt && _altPressed && hasFocus()) {2086 if (event->key() == Qt::Key_Alt && _altPressed && hasFocus()) {
2112 auto offscreenUi = DependencyManager::get<OffscreenUi>();2087 auto offscreenUi = DependencyManager::get<OffscreenUi>();
2113 offscreenUi->toggleMenu(_glWidget->mapFromGlobal(QCursor::pos()));2088 auto reticlePosition = _controllerScriptingInterface->getReticlePosition();
2089 offscreenUi->toggleMenu(_glWidget->mapFromGlobal(QPoint(reticlePosition.x, reticlePosition.y)));
2114 }2090 }
2115 2091
2116 _keysPressed.remove(event->key());2092 _keysPressed.remove(event->key());
@@ -4727,8 +4703,10 @@ bool Application::isThrottleRendering() const { · 2610 unmodified lines
4727 return getActiveDisplayPlugin()->isThrottled();4703 return getActiveDisplayPlugin()->isThrottled();
4728}4704}
4729 4705
4706// FIXME -- consolidate users of getTrueMouse() controllerScriptingInterface->getReticlePosition()
4730ivec2 Application::getTrueMouse() const {4707ivec2 Application::getTrueMouse() const {
4731 return toGlm(_glWidget->mapFromGlobal(QCursor::pos()));4708 auto reticlePosition = _controllerScriptingInterface->getReticlePosition();
4709 return toGlm(_glWidget->mapFromGlobal(QPoint(reticlePosition.x, reticlePosition.y)));
4732}4710}
4733 4711
4734bool Application::hasFocus() const {4712bool Application::hasFocus() const {