bool EventsManager::Update() { static SDL_Event event; while (SDL_PollEvent(&event)) { switch(event.type) { case SDL_FINGERDOWN: case SDL_FINGERUP: case SDL_FINGERMOTION: pEventQueue->Raise(CreateTouchEvent(event)); return true; case SDL_KEYDOWN: pEventQueue->Raise(CreateKeyboardEvent(event)); return true; case SDL_MOUSEBUTTONUP: case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEMOTION: pEventQueue->Raise(CreateMouseEvent(event)); return true; case SDL_QUIT: pEventQueue->Raise(std::static_pointer_cast<IEventData>(std::make_shared<AppQuit_Event>())); return false; } } return true; }
void EventHandler::AddMouseEvent( const SDL_Event &event ) { events.push_back( CreateMouseEvent( event ) ); }