void WindowManager::ProcessEvent(SDL_Event *event) { MainMenu *mainmenu = (MainMenu *)SM->GetSceneByName("Main Menu"); OptionsMenu *optionsmenu = (OptionsMenu *)SM->GetSceneByName("Options Menu"); switch(event->type) // See which event it is { // When window is resized or is toggled between window and fullscreen case SDL_VIDEORESIZE: //Cleanup(); InitOpenGL(); IsGLErrors("Video Resize"); if(!WM->IsFullscreen()) { SetWindowedMode(0, 0, event->resize.w, event->resize.h); } glViewport(0,0,event->resize.w,event->resize.h); // Resize OpenGL Viewport to fit the screen/window SM->InitAll(); break; // When user quits the game case SDL_VIDEOEXPOSE: if(Game->GetCurrentMode() != GM_PLAY) { mainmenu->Resize(); optionsmenu->Resize(); } break; case SDL_QUIT: _Running=false; break; case SDL_ACTIVEEVENT: if(event->active.state & SDL_APPACTIVE) { if(event->active.gain) _Active = true; else _Active = false; } break; default: break; } }