void HumanClientApp::Reinitialize() { bool fullscreen = GetOptionsDB().Get<bool>("fullscreen"); bool fake_mode_change = GetOptionsDB().Get<bool>("fake-mode-change"); std::pair<int, int> size = GetWindowWidthHeight(); bool fullscreen_transition = Fullscreen() != fullscreen; GG::X old_width = AppWidth(); GG::Y old_height = AppHeight(); SetVideoMode(GG::X(size.first), GG::Y(size.second), fullscreen, fake_mode_change); if (fullscreen_transition) { FullscreenSwitchSignal(fullscreen); // after video mode is changed but before DoLayout() calls } else if (fullscreen && (old_width != size.first || old_height != size.second) && GetOptionsDB().Get<bool>("UI.auto-reposition-windows")) { // Reposition windows if in fullscreen mode... handled here instead of // HandleWindowResize() because the prev. fullscreen resolution is only // available here. RepositionWindowsSignal(); } // HandleWindowResize is already called via this signal sent from // SDLGUI::HandleSystemEvents() when in windowed mode. This sends the // signal (and hence calls HandleWindowResize()) when in fullscreen mode, // making the signal more consistent... if (fullscreen) { WindowResizedSignal(GG::X(size.first), GG::Y(size.second)); } }
void EveGGApp::GLInit() { double ratio = Value(AppWidth() * 1.0) / Value(AppHeight()); glEnable(GL_BLEND); glEnable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); glClearColor(0, 0, 0, 0); glViewport(0, 0, Value(AppWidth()), Value(AppHeight())); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(50.0, ratio, 1.0, 10.0); gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glMatrixMode(GL_MODELVIEW); }
void EveGGApp::Enter2DMode() { glPushAttrib(GL_ENABLE_BIT | GL_PIXEL_MODE_BIT | GL_TEXTURE_BIT); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); glDisable(GL_CULL_FACE); glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glViewport(0, 0, Value(AppWidth()), Value(AppHeight())); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); glOrtho(0.0, Value(AppWidth()), Value(AppHeight()), 0.0, 0.0, Value(AppWidth())); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); }