void handleEvents(WorldState & state, RenderEngine & render) { sf::Event event; while (window->pollEvent(event)) { if (event.type == sf::Event::Closed) state.setRunning(false); if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape)) state.setRunning(false); if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'r')) state.toggleModelRotate(); if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'q')) state.toggleIncreaseVelocity(); if(event.type == sf::Event::Resized) { resize(event.size.width, event.size.height); } if(event.type == sf::Event::MouseButtonPressed) { state.lastClickPos[0] = event.mouseButton.x; state.lastClickPos[1] = (state.currentRes[1]-event.mouseButton.y); state.lastFrameDragPos[0] = event.mouseButton.x; state.lastFrameDragPos[1] = (state.currentRes[1]-event.mouseButton.y); state.mouseButtonDown = true; } if(event.type == sf::Event::MouseButtonReleased) state.mouseButtonDown = false; if(event.type == sf::Event::MouseMoved && state.mouseButtonDown) { state.cursorDragAmount[0] += state.lastFrameDragPos[0] - event.mouseMove.x; state.cursorDragAmount[1] += state.lastFrameDragPos[1] - (state.currentRes[1]-event.mouseMove.y); state.lastFrameDragPos[0] = event.mouseMove.x; state.lastFrameDragPos[1] = (state.currentRes[1]-event.mouseMove.y); } if(event.type == sf::Event::MouseWheelMoved) { state.zoomCamera(event.mouseWheel.delta); state.cursorScrollAmount += event.mouseWheel.delta; } if(event.type == sf::Event::MouseMoved) { state.cursorAbsolutePos[0] = event.mouseMove.x; state.cursorAbsolutePos[1] = (state.currentRes[1]-event.mouseMove.y); } if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Up)) state.zoomCamera(1); if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Down)) state.zoomCamera(-1); } }
void handleEvents(WorldState & state, RenderEngine & render) { sf::Event event; while (App->pollEvent(event)) { if (event.type == sf::Event::Closed) state.setRunning(false); if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape)) state.setRunning(false); if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'q')) state.setShadingMode(0); if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'w')) state.setShadingMode(1); if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'e')) state.setShadingMode(2); if((event.type == sf::Event::TextEntered) && (event.text.unicode == 'r')) state.toggleModelRotate(); if((event.type == sf::Event::TextEntered) && (event.text.unicode == 't')) state.toggleLightRotate(); } }