Example #1
0
        /// <summary>
        ///     Creates a new PathAdvancedTargetInfo for TVs
        /// </summary>
        /// <param name="rotation">Screen rotation</param>
        /// <param name="scale">Screen scaling</param>
        /// <param name="tvFormat">The TV format to apply</param>
        /// <param name="connectorType">Specify connector type. For TV only</param>
        /// <param name="refreshRateInMillihertz">Screen refresh rate</param>
        /// <param name="timingOverride">Timing override</param>
        /// <param name="isInterlaced">Indicates if the mode is interlaced</param>
        /// <param name="isClonePrimary">Indicates if the display is the primary display of a clone topology</param>
        /// <param name="isClonePanAndScanTarget">Indicates if the target Pan and Scan is enabled</param>
        /// <param name="disableVirtualModeSupport"></param>
        /// <param name="isPreferredUnscaledTarget"></param>
        /// <exception cref="NVIDIANotSupportedException"></exception>
        public PathAdvancedTargetInfo(
            Rotate rotation,
            Scaling scale,
            TVFormat tvFormat,
            ConnectorType connectorType,
            uint refreshRateInMillihertz   = 0,
            TimingOverride timingOverride  = TimingOverride.Current,
            bool isInterlaced              = false,
            bool isClonePrimary            = false,
            bool isClonePanAndScanTarget   = false,
            bool disableVirtualModeSupport = false,
            bool isPreferredUnscaledTarget = false)
            : this(
                rotation, scale, refreshRateInMillihertz, timingOverride, isInterlaced, isClonePrimary,
                isClonePanAndScanTarget,
                disableVirtualModeSupport, isPreferredUnscaledTarget)
        {
            if (tvFormat == TVFormat.None)
            {
                throw new NVIDIANotSupportedException(
                          "This overload is for TV displays, use the other overload(s) if the display is not a TV.");
            }

            this           = typeof(PathAdvancedTargetInfo).Instantiate <PathAdvancedTargetInfo>();
            _TVFormat      = tvFormat;
            _ConnectorType = connectorType;
        }
Example #2
0
        /// <summary>
        ///     Creates a new PathAdvancedTargetInfo for monitors
        /// </summary>
        /// <param name="rotation">Screen rotation</param>
        /// <param name="scale">Screen scaling</param>
        /// <param name="refreshRateInMillihertz">Screen refresh rate</param>
        /// <param name="timingOverride">Timing override</param>
        /// <param name="isInterlaced">Indicates if the mode is interlaced</param>
        /// <param name="isClonePrimary">Indicates if the display is the primary display of a clone topology</param>
        /// <param name="isClonePanAndScanTarget">Indicates if the target Pan and Scan is enabled</param>
        /// <param name="disableVirtualModeSupport"></param>
        /// <param name="isPreferredUnscaledTarget"></param>
        /// <exception cref="NVIDIANotSupportedException"></exception>
        public PathAdvancedTargetInfo(
            Rotate rotation,
            Scaling scale,
            uint refreshRateInMillihertz   = 0,
            TimingOverride timingOverride  = TimingOverride.Current,
            bool isInterlaced              = false,
            bool isClonePrimary            = false,
            bool isClonePanAndScanTarget   = false,
            bool disableVirtualModeSupport = false,
            bool isPreferredUnscaledTarget = false)
        {
            if (timingOverride == TimingOverride.Custom)
            {
                throw new NVIDIANotSupportedException("Custom timing is not supported yet.");
            }

            this      = typeof(PathAdvancedTargetInfo).Instantiate <PathAdvancedTargetInfo>();
            _Rotation = rotation;
            _Scaling  = scale;
            _RefreshRateInMillihertz  = refreshRateInMillihertz;
            _TimingOverride           = timingOverride;
            IsInterlaced              = isInterlaced;
            IsClonePrimary            = isClonePrimary;
            IsClonePanAndScanTarget   = isClonePanAndScanTarget;
            DisableVirtualModeSupport = disableVirtualModeSupport;
            IsPreferredUnscaledTarget = isPreferredUnscaledTarget;
        }