/* Main event handler function. This function gets raw SDL events from the GUI. */ GUI_status GUI_Widget:: HandleEvent(const SDL_Event *event) { switch (event->type) { case SDL_KEYDOWN: { return(KeyDown(event->key.keysym)); } break; case SDL_KEYUP: { return(KeyUp(event->key.keysym)); } break; case SDL_MOUSEBUTTONDOWN: { int x, y, button; x = event->button.x; y = event->button.y; if ( HitRect(x, y) ) { button = event->button.button; return(MouseDown(x, y, button)); } } break; case SDL_MOUSEBUTTONUP: { int x, y, button; x = event->button.x; y = event->button.y; button = event->button.button; if ( HitRect(x, y) ) { button = event->button.button; return(MouseUp(x, y, button)); } /* if widget was clicked before we must let it deactivate itself*/ else if (ClickState(1)) return(MouseUp(-1,-1,button)); } break; case SDL_MOUSEMOTION: { int x, y; Uint8 state; x = event->motion.x; y = event->motion.y; state = event->motion.state; if ( HitRect(x, y) ) { return(MouseMotion(x, y, state)); } /* if widget was clicked before we must let it react*/ else if (ClickState(1)) return(MouseMotion(-1,-1,state)); } break; default: { /* Pass it along.. */; } break; } return(GUI_PASS); }
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 RenderEngine3D::mouseMoveEvent ( QMouseEvent * event ){ int x = event->x(); int y = size().height()-event->y()-1; MouseMotion( mouse_button, x, x-mouse_x, y, y-mouse_y ); mouse_x = x; mouse_y = y; }
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 }
void newGameMenu::MouseButtonDown(int Button, Vector2 Location) { MouseMotion(Location); for(int a = 0; a < 3; a++) { if((abs(difficultyIcons[a].location.x - Location.x) < 32) && (abs(difficultyIcons[a].location.y - Location.y) < 32)) { selectedDifficulty = a; selectedMenuItem = -1; break; } } if(selectedMenuItem > -1) menuButtonPressed(); ToggleDifficultyButtons(); };
void SaveGameMenu::MouseButtonDown(int Button, Vector2 Location) { MouseMotion(Location); switch(selectedButton) { case 0: SaveGame(); break; case 1: engine->SetState("MainMenu"); break; default: //selected save change break; } };
void EventHandler::HandleEvents() { ResetMouseMotion(); while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: exit(0); case SDL_KEYDOWN: KeyDown(); break; case SDL_KEYUP: KeyUp(); break; case SDL_MOUSEMOTION: MouseMotion(); break; } } }
void SinglePlayerPauseState::MouseButtonDown(int Button, Vector2 Location) { MouseMotion(Location); Trigger(); };
void FireworksFrame::MousePassiveMotion(int x, int y) { MouseMotion(x, y); }