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 { /// /// Holds necessary information to set an illumination attribute value /// [StructLayout(LayoutKind.Sequential, Pack = 8)] [StructureVersion(1)] public struct SetIlluminationParameterV1 : IInitializable { internal StructureVersion _Version; internal PhysicalGPUHandle _GPUHandle; internal IlluminationAttribute _Attribute; internal uint _ValueInPercentage; /// /// Creates a new instance of . /// /// The physical gpu handle. /// The attribute. /// The attribute value in percentage. public SetIlluminationParameterV1( PhysicalGPUHandle gpuHandle, IlluminationAttribute attribute, uint valueInPercentage) { this = typeof(SetIlluminationParameterV1).Instantiate(); _GPUHandle = gpuHandle; _Attribute = attribute; _ValueInPercentage = valueInPercentage; } /// /// Gets the parameter physical gpu handle /// public PhysicalGPUHandle PhysicalGPUHandle { get => _GPUHandle; } /// /// Gets the parameter attribute /// public IlluminationAttribute Attribute { get => _Attribute; } /// /// Gets the parameter value in percentage /// public uint ValueInPercentage { get => _ValueInPercentage; } } }