/// <summary> /// Creates a new PathTargetInfo /// </summary> /// <param name="displayTarget">The display target device</param> /// <param name="frequencyInMillihertz">Display frequency in millihertz</param> /// <param name="scanLineOrdering">Display scan line ordering</param> /// <param name="rotation">Display rotation</param> /// <param name="scaling">Display scaling</param> /// <param name="isVirtualModeSupported">A boolean value indicating the target virtual mode support</param> public PathTargetInfo( PathDisplayTarget displayTarget, ulong frequencyInMillihertz, DisplayConfigScanLineOrdering scanLineOrdering = DisplayConfigScanLineOrdering.NotSpecified, DisplayConfigRotation rotation = DisplayConfigRotation.NotSpecified, DisplayConfigScaling scaling = DisplayConfigScaling.Preferred, bool isVirtualModeSupported = false ) : this(displayTarget, isVirtualModeSupported) { FrequencyInMillihertz = frequencyInMillihertz; ScanLineOrdering = scanLineOrdering; Rotation = rotation; Scaling = scaling; }
public DisplayConfigVideoSignalInfo(ulong pixelRate, DisplayConfigRational horizontalSyncFrequency, DisplayConfigRational verticalSyncFrequency, DisplayConfig2DRegion activeSize, DisplayConfig2DRegion totalSize, VideoSignalStandard videoStandard, ushort verticalSyncFrequencyDivider, DisplayConfigScanLineOrdering scanLineOrdering) { PixelRate = pixelRate; HorizontalSyncFrequency = horizontalSyncFrequency; VerticalSyncFrequency = verticalSyncFrequency; ActiveSize = activeSize; TotalSize = totalSize; VideoStandard = videoStandard; VerticalSyncFrequencyDivider = verticalSyncFrequencyDivider; ScanLineOrdering = scanLineOrdering; }
public DisplayConfigPathTargetInfo( Luid adapterId, uint targetId, ushort targetModeInfoIndex, ushort desktopModeInfoIndex, DisplayConfigVideoOutputTechnology outputTechnology, DisplayConfigRotation rotation, DisplayConfigScaling scaling, DisplayConfigRational refreshRate, DisplayConfigScanLineOrdering scanLineOrdering, bool targetAvailable) : this( adapterId, targetId, 0, outputTechnology, rotation, scaling, refreshRate, scanLineOrdering, targetAvailable) => this.ModeInfoIndex = (uint)(targetModeInfoIndex + (desktopModeInfoIndex << 16));
/// <summary> /// Creates a new PathTargetSignalInfo /// </summary> /// <param name="activeSize">Specifies the width and height (in pixels) of the active portion of the video signal.</param> /// <param name="totalSize">Specifies the width and height (in pixels) of the entire video signal.</param> /// <param name="verticalSyncFrequencyInMillihertz">Vertical synchronization frequency.</param> /// <param name="scanLineOrdering">The scan-line ordering (for example, progressive or interlaced) of the video signal.</param> /// <param name="videoStandard"> /// The video standard (if any) that defines the video signal. Supported by WDDM 1.3 and later /// display miniport drivers running on Windows 8.1 and later. /// </param> /// <param name="verticalSyncFrequencyDivider"> /// The ratio of the VSync rate of a monitor that displays through a Miracast /// connected session to the VSync rate of the Miracast sink. The ratio of the VSync rate of a monitor that displays /// through a Miracast connected session to the VSync rate of the Miracast sink. Supported by WDDM 1.3 and later /// display miniport drivers running on Windows 8.1 and later. /// </param> public PathTargetSignalInfo( Size activeSize, Size totalSize, ulong verticalSyncFrequencyInMillihertz, DisplayConfigScanLineOrdering scanLineOrdering, VideoSignalStandard videoStandard = VideoSignalStandard.Uninitialized, ushort verticalSyncFrequencyDivider = 0) { ActiveSize = activeSize; ScanLineOrdering = scanLineOrdering; TotalSize = totalSize; VerticalSyncFrequencyDivider = verticalSyncFrequencyDivider; VerticalSyncFrequencyInMillihertz = verticalSyncFrequencyInMillihertz; VideoStandard = videoStandard; PixelRate = (ulong)(verticalSyncFrequencyInMillihertz / 1000d * totalSize.Width * totalSize.Height); HorizontalSyncFrequencyInMillihertz = (ulong)totalSize.Height * verticalSyncFrequencyInMillihertz; }
public DisplayConfigPathTargetInfo( Luid adapterId, uint targetId, uint modeInfoIndex, DisplayConfigVideoOutputTechnology outputTechnology, DisplayConfigRotation rotation, DisplayConfigScaling scaling, DisplayConfigRational refreshRate, DisplayConfigScanLineOrdering scanLineOrdering, bool targetAvailable) : this() { this.AdapterId = adapterId; this.TargetId = targetId; this.ModeInfoIndex = modeInfoIndex; this.OutputTechnology = outputTechnology; this.Rotation = rotation; this.Scaling = scaling; this.RefreshRate = refreshRate; this.ScanLineOrdering = scanLineOrdering; this.TargetAvailable = targetAvailable; }
public static ScanLineOrdering ToScanLineOrdering(this DisplayConfigScanLineOrdering scanLineOrdering) { switch (scanLineOrdering) { case DisplayConfigScanLineOrdering.Progressive: return(ScanLineOrdering.Progressive); case DisplayConfigScanLineOrdering.InterlacedWithUpperFieldFirst: return(ScanLineOrdering.InterlacedWithUpperFieldFirst); case DisplayConfigScanLineOrdering.InterlacedWithLowerFieldFirst: return(ScanLineOrdering.InterlacedWithLowerFieldFirst); default: return(ScanLineOrdering.NotSpecified); } }