Files
archived-g-helper/app/NvAPIWrapper/Native/GPU/Structures/SetIlluminationParameterV1.cs
2023-05-06 14:40:52 +02:00

62 lines
2.0 KiB
C#

using System.Runtime.InteropServices;
using NvAPIWrapper.Native.Attributes;
using NvAPIWrapper.Native.General.Structures;
using NvAPIWrapper.Native.Helpers;
using NvAPIWrapper.Native.Interfaces;
namespace NvAPIWrapper.Native.GPU.Structures
{
/// <summary>
/// Holds necessary information to set an illumination attribute value
/// </summary>
[StructLayout(LayoutKind.Sequential, Pack = 8)]
[StructureVersion(1)]
public struct SetIlluminationParameterV1 : IInitializable
{
internal StructureVersion _Version;
internal PhysicalGPUHandle _GPUHandle;
internal IlluminationAttribute _Attribute;
internal uint _ValueInPercentage;
/// <summary>
/// Creates a new instance of <see cref="SetIlluminationParameterV1" />.
/// </summary>
/// <param name="gpuHandle">The physical gpu handle.</param>
/// <param name="attribute">The attribute.</param>
/// <param name="valueInPercentage">The attribute value in percentage.</param>
public SetIlluminationParameterV1(
PhysicalGPUHandle gpuHandle,
IlluminationAttribute attribute,
uint valueInPercentage)
{
this = typeof(SetIlluminationParameterV1).Instantiate<SetIlluminationParameterV1>();
_GPUHandle = gpuHandle;
_Attribute = attribute;
_ValueInPercentage = valueInPercentage;
}
/// <summary>
/// Gets the parameter physical gpu handle
/// </summary>
public PhysicalGPUHandle PhysicalGPUHandle
{
get => _GPUHandle;
}
/// <summary>
/// Gets the parameter attribute
/// </summary>
public IlluminationAttribute Attribute
{
get => _Attribute;
}
/// <summary>
/// Gets the parameter value in percentage
/// </summary>
public uint ValueInPercentage
{
get => _ValueInPercentage;
}
}
}