diff --git a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.h b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.h index fa9a38919f..52278f2d38 100644 --- a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.h +++ b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.h @@ -21,6 +21,8 @@ public: void *GetProcAddress( RString s ); RString TryVideoMode( const VideoModeParams& p, bool& newDeviceOut ); void GetDisplayResolutions( DisplayResolutions &dr ) const; + float GetMonitorAspectRatio() const; + void SwapBuffers(); void Update(); diff --git a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm index 11e811915b..183c5ac11b 100644 --- a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm +++ b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm @@ -411,6 +411,11 @@ void LowLevelWindow_Cocoa::GetDisplayResolutions( DisplayResolutions &dr ) const // Do not release modes! We don't own it here. } +float LowLevelWindow_Cocoa::GetMonitorAspectRatio() const +{ + return 4/3.f; +} + void LowLevelWindow_Cocoa::SwapBuffers() { CGLFlushDrawable( CGLGetCurrentContext() ); diff --git a/stepmania/src/archutils/Win32/GraphicsWindow.cpp b/stepmania/src/archutils/Win32/GraphicsWindow.cpp index 0207be7b32..9ea1f893a6 100644 --- a/stepmania/src/archutils/Win32/GraphicsWindow.cpp +++ b/stepmania/src/archutils/Win32/GraphicsWindow.cpp @@ -516,6 +516,18 @@ void GraphicsWindow::GetDisplayResolutions( DisplayResolutions &out ) } } +float GraphicsWindow::GetMonitorAspectRatio() +{ + // There's no way to query the monitor for this, so assume that the + // normal desktop resolution is using square pixels. + DEVMODE dm; + ZERO( dm ); + dm.dmSize = sizeof(dm); + BOOL bResult = EnumDisplaySettings( NULL, ENUM_REGISTRY_SETTINGS, &dm ); + ASSERT( bResult ); + return dm.dmPelsWidth / (float)dm.dmPelsHeight; +} + /* * (c) 2004 Glenn Maynard diff --git a/stepmania/src/archutils/Win32/GraphicsWindow.h b/stepmania/src/archutils/Win32/GraphicsWindow.h index 62a921bee2..bb305178b0 100644 --- a/stepmania/src/archutils/Win32/GraphicsWindow.h +++ b/stepmania/src/archutils/Win32/GraphicsWindow.h @@ -6,6 +6,7 @@ #include class VideoModeParams; class DisplayResolutions; +class DisplayResolution; namespace GraphicsWindow { @@ -20,6 +21,7 @@ namespace GraphicsWindow void DestroyGraphicsWindow(); void GetDisplayResolutions( DisplayResolutions &out ); + float GetMonitorAspectRatio(); const VideoModeParams &GetParams(); HDC GetHDC();