void MainMenu::KeyDown(SDL_KeyboardEvent const& key) { switch(key.keysym.sym) { case SDLK_ESCAPE: QuitEvent(); break; } }
void BaseScene::ProcessEvents() { SDL_Event event; while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: QuitEvent(); break; case SDL_MOUSEMOTION: MouseMotion(event.motion); break; case SDL_MOUSEBUTTONDOWN: MouseButtonDown(event.button); break; case SDL_MOUSEBUTTONUP: MouseButtonUp(event.button); break; case SDL_KEYDOWN: KeyDown(event.key); break; case SDL_KEYUP: KeyUp(event.key); break; //TODO: joystick and controller events } } }
void MainMenu::KeyUp(SDL_KeyboardEvent const& event) { switch(event.keysym.sym) { case SDLK_ESCAPE: QuitEvent(); break; } }
void BaseScene::KeyDown(SDL_KeyboardEvent const& event) { //preference as a default switch(event.keysym.sym) { case SDLK_ESCAPE: QuitEvent(); break; } }
void MainMenu::MouseButtonUp(SDL_MouseButtonEvent const& event) { //TODO: (2) Buttons should only register as "selected" when the left button is used if (startButton.MouseButtonUp(event) == Button::State::RELEASED) { SetSceneSignal(SceneSignal::LOBBYMENU); } if (optionsButton.MouseButtonUp(event) == Button::State::RELEASED) { SetSceneSignal(SceneSignal::OPTIONSMENU); } if (quitButton.MouseButtonUp(event) == Button::State::RELEASED) { QuitEvent(); } }
void MainMenu::MouseButtonUp(const SDL_MouseButtonEvent &event) { if ( m_startButton.MouseButtonUp(event) == Button::State::Released ) { setSceneSignal(SceneSignal::LobbyMenu); } if ( m_optionsButton.MouseButtonUp(event) == Button::State::Released ) { setSceneSignal(SceneSignal::OptionMenu); } if ( m_quitButton.MouseButtonUp(event) == Button::State::Released ) { QuitEvent(); } }
void BaseScene::HandleEvents() { SDL_Event event; while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: QuitEvent(); break; case SDL_VIDEORESIZE: SetScreen(event.resize.w, event.resize.h, 0, screen->flags); break; case SDL_MOUSEMOTION: MouseMotion(event.motion); break; case SDL_MOUSEBUTTONDOWN: MouseButtonDown(event.button); break; case SDL_MOUSEBUTTONUP: MouseButtonUp(event.button); break; case SDL_KEYDOWN: KeyDown(event.key); break; case SDL_KEYUP: KeyUp(event.key); break; #ifdef USE_EVENT_JOYSTICK //TODO: joystick/gamepad support #endif #ifdef USE_EVENT_UNKNOWN default: UnknownEvent(event); break; #endif }//switch }//while }
MyApplication(int argc, char **argv) : Application(argc, argv, "timed_event", false) { // Touch Touch(); m_controllerInThread.Touch(); // Run thread m_thread.Run(); m_controllerInThread.SwitchToThread(&m_thread); // Emit thread timed events m_controllerInThread.DPL::ControllerEventHandler<SecondEvent>::PostTimedEvent(SecondEvent(), 3); m_controllerInThread.DPL::ControllerEventHandler<FirstEvent>::PostTimedEvent(FirstEvent(), 2); // Emit framework timed quit event DPL::ControllerEventHandler<QuitEvent>::PostTimedEvent(QuitEvent(), 5); }
void MainMenu::KeyUp(const SDL_KeyboardEvent &event) { if ( event.keysym.sym == SDLK_ESCAPE ) QuitEvent(); }