/// <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; }
/// <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; }