mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Gamma Init
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using WindowsDisplayAPI.Native.Structures;
|
||||
|
||||
namespace WindowsDisplayAPI.Native.DisplayConfig.Structures
|
||||
{
|
||||
// https://msdn.microsoft.com/en-us/library/windows/hardware/ff553951(v=vs.85).aspx
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct DisplayConfigPathSourceInfo
|
||||
{
|
||||
public const ushort InvalidCloneGroupId = 0xffff;
|
||||
|
||||
[MarshalAs(UnmanagedType.Struct)] public readonly LUID AdapterId;
|
||||
[MarshalAs(UnmanagedType.U4)] public readonly uint SourceId;
|
||||
[MarshalAs(UnmanagedType.U4)] public readonly uint ModeInfoIndex;
|
||||
[MarshalAs(UnmanagedType.U4)] public readonly DisplayConfigPathSourceInfoFlags StatusFlags;
|
||||
|
||||
public ushort SourceModeInfoIndex
|
||||
{
|
||||
get => (ushort) ((ModeInfoIndex << 16) >> 16);
|
||||
}
|
||||
|
||||
public ushort CloneGroupId
|
||||
{
|
||||
get => (ushort) (ModeInfoIndex >> 16);
|
||||
}
|
||||
|
||||
public DisplayConfigPathSourceInfo(LUID adapterId, uint sourceId, uint modeInfoIndex) : this()
|
||||
{
|
||||
AdapterId = adapterId;
|
||||
SourceId = sourceId;
|
||||
ModeInfoIndex = modeInfoIndex;
|
||||
}
|
||||
|
||||
public DisplayConfigPathSourceInfo(
|
||||
LUID adapterId,
|
||||
uint sourceId,
|
||||
ushort sourceModeInfoIndex,
|
||||
ushort cloneGroupId) : this(adapterId, sourceId, 0)
|
||||
{
|
||||
ModeInfoIndex = (uint) (sourceModeInfoIndex + (cloneGroupId << 16));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user