static void UpdateVideoModes() { m_resolutionMap.Clear(); m_videoModeList.Clear(); m_aspectRatioMap.Clear(); m_recommendedAspectRatio.Clear(); for (int adapterIndex = 0; adapterIndex < GraphicsAdapter.Adapters.Length; adapterIndex++) { GraphicsAdapter adapter = GraphicsAdapter.Adapters[adapterIndex]; m_recommendedAspectRatio.Add(adapterIndex, MyAspectRatioExList.Get(MyAspectRatioExList.GetWindowsDesktopClosestAspectRatio(adapterIndex))); foreach (SharpDX.Direct3D9.DisplayMode dm in adapter.SupportedDisplayModes) { RegisterVideoMode(adapterIndex, dm.Width, dm.Height, dm.AspectRatio); } if (MyMwcFinalBuildConstants.IS_DEVELOP) { RegisterVideoMode(adapterIndex, 1600, 600); // for testing windowed mode dual/triple screens RegisterVideoMode(adapterIndex, 1920, 480); // for testing windowed mode dual/triple screens //RegisterVideoMode(4000, 2728); // for making large-screen screenshots on our A3 printer (it needs to be exactly this aspect ratio, otherwise it won't fit on paper) } } }
public MyVideoModeEx(int width, int height, float trueAspectRatio) { Width = width; Height = height; AspectRatioEnum = MyAspectRatioExList.GetClosestAspectRatio(trueAspectRatio); IsTripleHead = MyAspectRatioExList.Get(AspectRatioEnum).IsTripleHead; // MyAspectRatioExList.IsTripleHeadAspectRatio(AspectRatioEnum); AspectRatio = MyAspectRatioExList.Get(AspectRatioEnum).AspectRatioNumber; // aspect ratio needs to be adjusted to be one of the system defined }