void MouseToolHandler::onGLMouseButtonRelease(wxMouseEvent& ev) { if (_activeMouseTools.empty()) return; // Determine the button that has been released unsigned int state = wxutil::MouseButton::GetButtonStateChangeForMouseEvent(ev) & wxutil::MouseButton::ALL_BUTTON_MASK; ActiveMouseTools::const_iterator i = _activeMouseTools.find(state); if (i != _activeMouseTools.end()) { // Ask the active mousetool to handle this event ui::MouseTool::Result result = processMouseUpEvent(i->second, Vector2(ev.GetX(), ev.GetY())); if (result == ui::MouseTool::Result::Finished) { clearActiveMouseTool(i->second); } } }
void InputWrapper::processEvent(SDL_Event *event){ switch(event->type){ case SDL_KEYDOWN: processKeyDownEvent(event); break; case SDL_KEYUP: processKeyUpEvent(event); break; case SDL_MOUSEMOTION: processMouseMoveEvent(event); break; case SDL_MOUSEBUTTONDOWN: processMouseDownEvent(event); break; case SDL_MOUSEBUTTONUP: processMouseUpEvent(event); break; } }