// react to mouse button presses void mouse(int button, int state, int x, int y) { if (!state) mgr->mouseButtonPress(button, x, y); glutPostRedisplay(); }
// react to mouse button presses void mouse(int button, int state, int x, int y) { if (state) _mgr->mouseButtonRelease(button, x, y); else _mgr->mouseButtonPress(button, x, y); glutPostRedisplay(); }
// react to mouse button presses void mouse(int button, int state, int x, int y) { if (state) mgr->mouseButtonRelease(button, x, y); else mgr->mouseButtonPress(button, x, y); redisplay(); }
// react to mouse button presses void mouse(int button, int state, int x, int y) { if(state) { mgr->mouseButtonRelease(button, x, y); switch(button) { case 0: _navigator.buttonRelease(OSG::Navigator::LEFT_MOUSE, x, y); break; case 1: _navigator.buttonRelease(OSG::Navigator::MIDDLE_MOUSE, x, y); break; case 2: _navigator.buttonRelease(OSG::Navigator::RIGHT_MOUSE, x, y); break; case 3: _navigator.buttonRelease(OSG::Navigator::UP_MOUSE, x, y); break; case 4: _navigator.buttonRelease(OSG::Navigator::DOWN_MOUSE, x, y); break; } _mousebuttons &= ~(1 << button); _lastx = x; _lasty = y; } else { mgr->mouseButtonPress(button, x, y); switch(button) { case 0: _navigator.buttonPress(OSG::Navigator::LEFT_MOUSE, x, y); break; case 1: _navigator.buttonPress(OSG::Navigator::MIDDLE_MOUSE, x, y); break; case 2: _navigator.buttonPress(OSG::Navigator::RIGHT_MOUSE, x, y); break; case 3: _navigator.buttonPress(OSG::Navigator::UP_MOUSE, x, y); break; case 4: _navigator.buttonPress(OSG::Navigator::DOWN_MOUSE, x, y); break; } _mousebuttons |= 1 << button; _lastx = x; _lasty = y; } glutPostRedisplay(); }