From: <geo...@us...> - 2014-09-20 18:29:59
|
Revision: 7725 http://sourceforge.net/p/freeorion/code/7725 Author: geoffthemedio Date: 2014-09-20 18:29:55 +0000 (Sat, 20 Sep 2014) Log Message: ----------- Slightly tweaked patch by Mitten.O adjusting / fixing window positioning by default and from config.xml. Modified Paths: -------------- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Ogre/OgreGUI.h branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp branches/SDL_Migration_And_Dependencies_Updates/msvc2010/GiGiSDL/GiGiSDL.vcxproj Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/GG/GUI.h 2014-09-20 18:29:55 UTC (rev 7725) @@ -354,6 +354,9 @@ /** Emitted whenever the GUI's AppWidth() and/or AppHeight() change. */ boost::signals2::signal<void (X, Y)> WindowResizedSignal; + /** Emitted whenever the GUI's window's left and top positions change. */ + boost::signals2::signal<void (X, Y)> WindowMovedSignal; + /** Emitted when the Window in which the GUI is operating gains or loses focus. */ boost::signals2::signal<void ()> FocusChangedSignal; Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Ogre/OgreGUI.h =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Ogre/OgreGUI.h 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/GG/Ogre/OgreGUI.h 2014-09-20 18:29:55 UTC (rev 7725) @@ -153,9 +153,6 @@ keyboard, mouse, etc. */ boost::signals2::signal<void ()> HandleSystemEventsSignal; - /** Emitted whenever the OgreGUI's window's left and top positions change. */ - boost::signals2::signal<void (X, Y)> WindowMovedSignal; - /** Emitted when the Ogre::RenderWindow in which the OgreGUI is operating is about to close. */ boost::signals2::signal<void ()> WindowClosingSignal; Modified: branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/GG/src/SDL/SDLGUI.cpp 2014-09-20 18:29:55 UTC (rev 7725) @@ -648,7 +648,7 @@ // Use the same code for the real size initialization that is used for resizing the window // to avoid duplicated effort. m_window = SDL_CreateWindow(AppName().c_str(), Value(m_initial_x), Value(m_initial_y), - 100, 100, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); + Value(m_app_width), Value(m_app_height), SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); if (m_window == 0) { std::cerr << "Video mode set failed: " << SDL_GetError(); @@ -657,6 +657,12 @@ m_gl_context = SDL_GL_CreateContext(m_window); m_glext.reset(new OpenGLExtensions(m_gl_context)); + GLenum error = glewInit(); + if(error != GLEW_OK){ + std::cerr << "Glew initialization failed: " << error << " = " << glewGetErrorString(error); + Exit(1); + } + SDL_ShowCursor(false); ResetFramebuffer(); @@ -769,6 +775,9 @@ case SDL_WINDOWEVENT_FOCUS_LOST: FocusChangedSignal(); break; + case SDL_WINDOWEVENT_MOVED: + WindowMovedSignal ( X(event.window.data1), Y(event.window.data2) ); + break; } break; } Modified: branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/UI/ClientUI.cpp 2014-09-20 18:29:55 UTC (rev 7725) @@ -426,13 +426,6 @@ // command-line options void AddOptions(OptionsDB& db) { - db.Add("app-width", UserStringNop("OPTIONS_DB_APP_WIDTH"), 1024, RangedValidator<int>(800, 2560)); - db.Add("app-height", UserStringNop("OPTIONS_DB_APP_HEIGHT"), 768, RangedValidator<int>(600, 1600)); - db.Add("app-width-windowed", UserStringNop("OPTIONS_DB_APP_WIDTH_WINDOWED"), 1024, RangedValidator<int>(800, 2560)); - db.Add("app-height-windowed", UserStringNop("OPTIONS_DB_APP_HEIGHT_WINDOWED"), 768, RangedValidator<int>(600, 1600)); - db.Add("app-left-windowed", UserStringNop("OPTIONS_DB_APP_LEFT_WINDOWED"), 0, RangedValidator<int>(-10240, 10240)); - db.Add("app-top-windowed", UserStringNop("OPTIONS_DB_APP_TOP_WINDOWED"), 0, RangedValidator<int>(-10240, 10240)); - db.Add('c', "color-depth", UserStringNop("OPTIONS_DB_COLOR_DEPTH"), 32, RangedStepValidator<int>(8, 16, 32)); db.Add("show-fps", UserStringNop("OPTIONS_DB_SHOW_FPS"), false); db.Add("limit-fps", UserStringNop("OPTIONS_DB_LIMIT_FPS"), true); Modified: branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/client/human/HumanClientApp.cpp 2014-09-20 18:29:55 UTC (rev 7725) @@ -95,6 +95,13 @@ db.Add("UI.keypress-repeat-interval", UserStringNop("OPTIONS_DB_KEYPRESS_REPEAT_INTERVAL"), 20, RangedValidator<int>(0, 1000)); db.Add("UI.mouse-click-repeat-delay", UserStringNop("OPTIONS_DB_MOUSE_REPEAT_DELAY"), 360, RangedValidator<int>(0, 1000)); db.Add("UI.mouse-click-repeat-interval",UserStringNop("OPTIONS_DB_MOUSE_REPEAT_INTERVAL"), 15, RangedValidator<int>(0, 1000)); + + db.Add("app-width", UserStringNop("OPTIONS_DB_APP_WIDTH"), 1024, RangedValidator<int>(800, 2560)); + db.Add("app-height", UserStringNop("OPTIONS_DB_APP_HEIGHT"), 768, RangedValidator<int>(600, 1600)); + db.Add("app-width-windowed", UserStringNop("OPTIONS_DB_APP_WIDTH_WINDOWED"), 1024, RangedValidator<int>(800, 2560)); + db.Add("app-height-windowed", UserStringNop("OPTIONS_DB_APP_HEIGHT_WINDOWED"), 768, RangedValidator<int>(600, 1600)); + db.Add("app-left-windowed", UserStringNop("OPTIONS_DB_APP_LEFT_WINDOWED"), SDL_WINDOWPOS_CENTERED, RangedValidator<int>(-10240, 10240)); + db.Add("app-top-windowed", UserStringNop("OPTIONS_DB_APP_TOP_WINDOWED"), 50, RangedValidator<int>(-10240, 10240)); } bool temp_bool = RegisterOptions(&AddOptions); @@ -208,16 +215,12 @@ GG::Connect(WindowResizedSignal, &HumanClientApp::HandleWindowResize, this); GG::Connect(FocusChangedSignal, &HumanClientApp::HandleFocusChange, this); - /* TODO: Figure out how to get these signals with SDL GG::Connect(WindowMovedSignal, &HumanClientApp::HandleWindowMove, this); + /* TODO: Wire these signals if theyare needed GG::Connect(WindowClosingSignal, &HumanClientApp::HandleWindowClosing, this); GG::Connect(WindowClosedSignal, &HumanClientApp::HandleWindowClose, this); */ - - GLenum error = glewInit(); - assert(error == GLEW_OK); - SetStringtableDependentOptionDefaults(); SetGLVersionDependentOptionDefaults(); @@ -756,14 +759,9 @@ void HumanClientApp::HandleWindowMove(GG::X w, GG::Y h) { //Logger().debugStream() << "HumanClientApp::HandleWindowMove(" << Value(w) << ", " << Value(h) << ")"; - // for some reason on Linux, the value passed here is incorrect, so needs - // to be ignored... (Or at least this was the case with Ogre, and might not - // be anymore... -#ifndef FREEORION_LINUX GetOptionsDB().Set<int>("app-left-windowed", Value(w)); GetOptionsDB().Set<int>("app-top-windowed", Value(h)); GetOptionsDB().Commit(); -#endif } void HumanClientApp::HandleWindowResize(GG::X w, GG::Y h) { Modified: branches/SDL_Migration_And_Dependencies_Updates/msvc2010/GiGiSDL/GiGiSDL.vcxproj =================================================================== --- branches/SDL_Migration_And_Dependencies_Updates/msvc2010/GiGiSDL/GiGiSDL.vcxproj 2014-09-19 08:57:57 UTC (rev 7724) +++ branches/SDL_Migration_And_Dependencies_Updates/msvc2010/GiGiSDL/GiGiSDL.vcxproj 2014-09-20 18:29:55 UTC (rev 7725) @@ -76,7 +76,7 @@ <OptimizeReferences>true</OptimizeReferences> <OutputFile>../../GiGiSDL.dll</OutputFile> <AdditionalLibraryDirectories>../../../lib/;../../../Boost/lib/;../../</AdditionalLibraryDirectories> - <AdditionalDependencies>GiGi.lib;opengl32.lib;SDL2.lib;glu32.lib</AdditionalDependencies> + <AdditionalDependencies>GiGi.lib;opengl32.lib;SDL2.lib;glu32.lib;glew32.lib</AdditionalDependencies> <IgnoreSpecificDefaultLibraries>LIBCMT</IgnoreSpecificDefaultLibraries> <SubSystem>Console</SubSystem> <LinkStatus> |