Example #1
0
 internal EngineOutputModeInfo(EngineOutputInfo hostOutput, DXGI.ModeDescription modeDescription)
 {
     m_hostOutput             = hostOutput;
     m_pixelWidth             = modeDescription.Width;
     m_pixelHeight            = modeDescription.Height;
     m_refreshRateNumerator   = modeDescription.RefreshRate.Numerator;
     m_refreshRateDenominator = modeDescription.RefreshRate.Denominator;
 }
Example #2
0
        internal DXGI.Output GetOutputByOutputInfo(EngineOutputInfo outputInfo)
        {
            int adapterCount = m_dxgiFactory.GetAdapterCount1();

            if (outputInfo.AdapterIndex >= adapterCount)
            {
                throw new SeeingSharpException($"Unable to find adapter with index {outputInfo.AdapterIndex}!");
            }

            using (DXGI.Adapter1 adapter = m_dxgiFactory.GetAdapter1(outputInfo.AdapterIndex))
            {
                int outputCount = adapter.GetOutputCount();
                if (outputInfo.OutputIndex >= outputCount)
                {
                    throw new SeeingSharpException($"Unable to find output with index {outputInfo.OutputIndex} on adapter {outputInfo.AdapterIndex}!");
                }

                return(adapter.GetOutput(outputInfo.OutputIndex));
            }
        }