History

Merge pull request #4232 from thoys/cursor_is_visible_and_oculus_cursor_visibility

Ability to make cursor invisible again (both OS-cursor and oculus rectile) and js-interface to cursorVisible boolean

Andrew Meadows committed 11 years ago

Commit 5ea785f2 parents f8d62d3 27147fd5 files · +30 −28Browse files

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

Unified · Split

interface/src/Application.cpp+12−22
@@ -230,6 +230,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : · 229 unmodified lines
230230 _touchAvgX(0.0f),
231231 _touchAvgY(0.0f),
232232 _isTouchPressed(false),
233+ _cursorVisible(true),
233234 _mousePressed(false),
234235 _enableProcessOctreeThread(true),
235236 _octreeProcessor(),
@@ -1480,6 +1481,8 @@ void Application::setEnableVRMode(bool enableVRMode) { · 1244 unmodified lines
14801481
14811482 auto glCanvas = DependencyManager::get<GLCanvas>();
14821483 resizeGL(glCanvas->getDeviceWidth(), glCanvas->getDeviceHeight());
1484+
1485+ updateCursorVisibility();
14831486 }
14841487
14851488 void Application::setLowVelocityFilter(bool lowVelocityFilter) {
@@ -1947,35 +1950,22 @@ void Application::updateCursor(float deltaTime) { · 461 unmodified lines
19471950
19481951 static QPoint lastMousePos = QPoint();
19491952 _lastMouseMove = (lastMousePos == QCursor::pos()) ? _lastMouseMove : usecTimestampNow();
1950− bool hideMouse = false;
1951− bool underMouse = QGuiApplication::topLevelAt(QCursor::pos()) ==
1952− Application::getInstance()->getWindow()->windowHandle();
1953−
1954− static const int HIDE_CURSOR_TIMEOUT = 3 * USECS_PER_SECOND; // 3 second
1955− int elapsed = usecTimestampNow() - _lastMouseMove;
1956− if ((elapsed > HIDE_CURSOR_TIMEOUT) ||
1957− (OculusManager::isConnected() && Menu::getInstance()->isOptionChecked(MenuOption::EnableVRMode))) {
1958− hideMouse = underMouse;
1959− }
1960−
1961− setCursorVisible(!hideMouse);
19621953 lastMousePos = QCursor::pos();
19631954 }
19641955
1965−void Application::setCursorVisible(bool visible) {
1966− if (visible) {
1967− if (overrideCursor() != NULL) {
1968− restoreOverrideCursor();
1969− }
1956+void Application::updateCursorVisibility() {
1957+ if (!_cursorVisible || Menu::getInstance()->isOptionChecked(MenuOption::EnableVRMode)) {
1958+ DependencyManager::get<GLCanvas>()->setCursor(Qt::BlankCursor);
19701959 } else {
1971− if (overrideCursor() != NULL) {
1972− changeOverrideCursor(Qt::BlankCursor);
1973− } else {
1974− setOverrideCursor(Qt::BlankCursor);
1975− }
1960+ DependencyManager::get<GLCanvas>()->unsetCursor();
19761961 }
19771962 }
19781963
1964+void Application::setCursorVisible(bool visible) {
1965+ _cursorVisible = visible;
1966+ updateCursorVisibility();
1967+}
1968+
19791969 void Application::update(float deltaTime) {
19801970 bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
19811971 PerformanceWarning warn(showWarnings, "Application::update()");

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t