Showing the changes to interface/src/Application.cpp (1 of 5 files). Show all
Unified · Split
| @@ -1940,32 +1940,14 @@ void Application::updateCursor(float deltaTime) { · 1939 unmodified lines | |||
| 1940 | 1940 | ||
| 1941 | static QPoint lastMousePos = QPoint(); | 1941 | static QPoint lastMousePos = QPoint(); |
| 1942 | _lastMouseMove = (lastMousePos == QCursor::pos()) ? _lastMouseMove : usecTimestampNow(); | 1942 | _lastMouseMove = (lastMousePos == QCursor::pos()) ? _lastMouseMove : usecTimestampNow(); |
| 1943 | bool hideMouse = false; | ||
| 1944 | bool underMouse = QGuiApplication::topLevelAt(QCursor::pos()) == | ||
| 1945 | Application::getInstance()->getWindow()->windowHandle(); | ||
| 1946 | |||
| 1947 | static const int HIDE_CURSOR_TIMEOUT = 3 * USECS_PER_SECOND; // 3 second | ||
| 1948 | int elapsed = usecTimestampNow() - _lastMouseMove; | ||
| 1949 | if ((elapsed > HIDE_CURSOR_TIMEOUT) || | ||
| 1950 | (OculusManager::isConnected() && Menu::getInstance()->isOptionChecked(MenuOption::EnableVRMode))) { | ||
| 1951 | hideMouse = underMouse; | ||
| 1952 | } | ||
| 1953 | |||
| 1954 | setCursorVisible(!hideMouse); | ||
| 1955 | lastMousePos = QCursor::pos(); | 1943 | lastMousePos = QCursor::pos(); |
| 1956 | } | 1944 | } |
| 1957 | 1945 | ||
| 1958 | void Application::setCursorVisible(bool visible) { | 1946 | void Application::setCursorVisible(bool visible) { |
| 1959 | if (visible) { | 1947 | if (visible) { |
| 1960 | if (overrideCursor() != NULL) { | 1948 | DependencyManager::get<GLCanvas>()->unsetCursor(); |
| 1961 | restoreOverrideCursor(); | ||
| 1962 | } | ||
| 1963 | } else { | 1949 | } else { |
| 1964 | if (overrideCursor() != NULL) { | 1950 | DependencyManager::get<GLCanvas>()->setCursor(Qt::BlankCursor); |
| 1965 | changeOverrideCursor(Qt::BlankCursor); | ||
| 1966 | } else { | ||
| 1967 | setOverrideCursor(Qt::BlankCursor); | ||
| 1968 | } | ||
| 1969 | } | 1951 | } |
| 1970 | } | 1952 | } |
| 1971 | 1953 | ||