diff --git a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_SDL.cpp b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_SDL.cpp index d67bc53b85..9de82c6a32 100644 --- a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_SDL.cpp +++ b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_SDL.cpp @@ -5,6 +5,7 @@ #include "RageDisplay.h" // for REFRESH_DEFAULT #include "StepMania.h" #include "GameLoop.h" +#include "DisplayResolutions.h" #if defined(MACOSX) extern "C" @@ -225,6 +226,18 @@ void LowLevelWindow_SDL::Update() } } +void LowLevelWindow_SDL::GetDisplayResolutions( DisplayResolutions &out ) const +{ + SDL_Rect **modes = SDL_ListModes(NULL, SDL_RESIZABLE | SDL_OPENGL | SDL_FULLSCREEN ); + ASSERT_M( modes, "No modes available" ); + + for(int i=0; modes[i]; ++i ) + { + DisplayResolution res = { modes[i]->w, modes[i]->h }; + out.s.insert( res ); + } +} + /* * (c) 2003-2004 Chris Danford, Glenn Maynard * All rights reserved. diff --git a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_SDL.h b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_SDL.h index f00c7dae92..f783e2e398 100644 --- a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_SDL.h +++ b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_SDL.h @@ -2,6 +2,7 @@ #define LOW_LEVEL_WINDOW_SDL_H #include "LowLevelWindow.h" +#include "RageDisplay.h" class LowLevelWindow_SDL: public LowLevelWindow { @@ -10,6 +11,8 @@ public: ~LowLevelWindow_SDL(); void *GetProcAddress(CString s); CString TryVideoMode( const VideoModeParams &p, bool &bNewDeviceOut ); + virtual void GetDisplayResolutions( DisplayResolutions &out ) const; + void SwapBuffers(); void Update();