예제 #1
0
        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)
                }
            }
        }
예제 #2
0
 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
 }