long GUISUMOAbstractView::onMouseWheel(FXObject*, FXSelector , void* data) { if (!myApp->isGaming()) { myChanger->onMouseWheel(data); updatePositionInformation(); } return 1; }
long GUISUMOAbstractView::onMouseMove(FXObject*, FXSelector , void* data) { if (myViewportChooser == 0 || !myViewportChooser->haveGrabbed()) { myChanger->onMouseMove(data); } if (myViewportChooser != 0) { myViewportChooser->setValues(myChanger->getZoom(), myChanger->getXPos(), myChanger->getYPos()); } updatePositionInformation(); return 1; }
void GUISUMOAbstractView::centerTo(GUIGlID id, bool applyZoom, SUMOReal zoomDist) { GUIGlObject* o = GUIGlObjectStorage::gIDStorage.getObjectBlocking(id); if (o != 0 && dynamic_cast<GUIGlObject*>(o) != 0) { if (applyZoom && zoomDist < 0) { myChanger->setViewport(o->getCenteringBoundary()); update(); // only update when centering onto an object once } else { // called during tracking. update is triggered somewhere else myChanger->centerTo(o->getCenteringBoundary().getCenter(), zoomDist, applyZoom); updatePositionInformation(); } } GUIGlObjectStorage::gIDStorage.unblockObject(id); }
long GUISUMOAbstractView::onMouseMove(FXObject*, FXSelector , void* data) { if (myViewportChooser == 0 || !myViewportChooser->haveGrabbed()) { myChanger->onMouseMove(data); } const SUMOReal xpos = myChanger->getXPos(); const SUMOReal ypos = myChanger->getYPos(); const SUMOReal zoom = myChanger->getZoom(); if (myViewportChooser != 0 && (xpos != myChanger->getXPos() || ypos != myChanger->getYPos() || zoom != myChanger->getZoom())) { myViewportChooser->setValues(myChanger->getZoom(), myChanger->getXPos(), myChanger->getYPos()); } updatePositionInformation(); return 1; }