void CSVRender::WorldspaceWidget::mouseReleaseEvent (QMouseEvent *event) { std::string button = mapButton (event); mDragMode.clear(); if (button=="p-edit" || button=="s-edit" || button=="p-select" || button=="s-select") { if (mDragging) { EditMode& editMode = dynamic_cast<CSVRender::EditMode&> (*mEditMode->getCurrent()); editMode.dragCompleted(); mDragging = false; } else { osg::ref_ptr<TagBase> tag = mousePick (event->pos()); handleMouseClick (tag, button, event->modifiers() & Qt::ShiftModifier); } } else SceneWidget::mouseReleaseEvent(event); }
int SceneMultiplayer::handle(sf::Event* xevent) { event = xevent; // Checking instance, and go to battlefield when connected if (instance->isConnected()) { return 1; } switch (event->type) { case sf::Event::MouseButtonReleased: { // Delegate mouse click event return handleMouseClick(event->mouseButton.x, event->mouseButton.y); break; } case sf::Event::KeyPressed: { // Delegate keypress event return handleKeyPress(event->key.code); break; } } return 2; // Multiplayer Prompt Scene is 2 }
int Game::run() { m_running = true; SDL_Event event; while(m_running) { while (SDL_PollEvent(&event) != 0) { if (event.type == SDL_QUIT) { m_running = false; } else if (event.type == SDL_MOUSEBUTTONDOWN) { if (event.button.button == SDL_BUTTON_LEFT) { handleMouseClick(event.button.x, event.button.y); } } else if (event.type == SDL_KEYDOWN) { handleKeyboardKey(event.key.keysym.sym); } } update(); } return 0; }
void MenuSystem::handleEvents() { Common::Event event; Common::EventManager *eventMan = _vm->_system->getEventManager(); while (eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_KEYDOWN: handleKeyDown(event.kbd); break; case Common::EVENT_QUIT: _running = false; break; case Common::EVENT_MOUSEMOVE: handleMouseMove(event.mouse.x, event.mouse.y); break; case Common::EVENT_LBUTTONUP: handleMouseClick(event.mouse.x, event.mouse.y); break; default: break; } } }