Пример #1
0
long
GUISUMOAbstractView::onMouseWheel(FXObject*, FXSelector , void* data) {
    if (!myApp->isGaming()) {
        myChanger->onMouseWheel(data);
        updatePositionInformation();
    }
    return 1;
}
Пример #2
0
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;
}
Пример #3
0
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);
}
Пример #4
0
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;
}