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

88 lines
3.7 KiB
C#

using System.Runtime.InteropServices;
using NvAPIWrapper.Native.Attributes;
using NvAPIWrapper.Native.General;
using NvAPIWrapper.Native.Helpers;
using NvAPIWrapper.Native.Helpers.Structures;
using NvAPIWrapper.Native.Mosaic;
using NvAPIWrapper.Native.Mosaic.Structures;
// ReSharper disable InconsistentNaming
namespace NvAPIWrapper.Native.Delegates
{
internal static class Mosaic
{
[FunctionId(FunctionId.NvAPI_Mosaic_EnableCurrentTopo)]
public delegate Status NvAPI_Mosaic_EnableCurrentTopo(uint enable);
[FunctionId(FunctionId.NvAPI_Mosaic_EnumDisplayGrids)]
public delegate Status NvAPI_Mosaic_EnumDisplayGrids(
[Accepts(typeof(GridTopologyV2), typeof(GridTopologyV1))] [In] [Out]
ValueTypeArray gridTopology,
[In] [Out] ref uint gridCount);
[FunctionId(FunctionId.NvAPI_Mosaic_EnumDisplayModes)]
public delegate Status NvAPI_Mosaic_EnumDisplayModes(
[Accepts(typeof(GridTopologyV2), typeof(GridTopologyV1))] [In]
ValueTypeReference gridTopology,
[Accepts(typeof(DisplaySettingsV2), typeof(DisplaySettingsV1))] [In] [Out]
ValueTypeArray
displaysSettings,
[In] [Out] ref uint displaysCount);
[FunctionId(FunctionId.NvAPI_Mosaic_GetCurrentTopo)]
public delegate Status NvAPI_Mosaic_GetCurrentTopo(
[In] [Out] ref TopologyBrief topoBrief,
[Accepts(typeof(DisplaySettingsV2), typeof(DisplaySettingsV1))] [In] [Out]
ValueTypeReference displaySetting,
[Out] out int overlapX,
[Out] out int overlapY);
[FunctionId(FunctionId.NvAPI_Mosaic_GetOverlapLimits)]
public delegate Status NvAPI_Mosaic_GetOverlapLimits(
[In] TopologyBrief topoBrief,
[Accepts(typeof(DisplaySettingsV2), typeof(DisplaySettingsV1))] [In]
ValueTypeReference displaySetting,
[Out] out int minOverlapX,
[Out] out int maxOverlapX,
[Out] out int minOverlapY,
[Out] out int maxOverlapY);
[FunctionId(FunctionId.NvAPI_Mosaic_GetSupportedTopoInfo)]
public delegate Status NvAPI_Mosaic_GetSupportedTopoInfo(
[Accepts(typeof(SupportedTopologiesInfoV2), typeof(SupportedTopologiesInfoV1))] [In] [Out]
ValueTypeReference
supportedTopoInfo,
TopologyType topologyType);
[FunctionId(FunctionId.NvAPI_Mosaic_GetTopoGroup)]
public delegate Status NvAPI_Mosaic_GetTopoGroup(
[In] TopologyBrief topoBrief,
[In] [Out] ref TopologyGroup topoGroup);
[FunctionId(FunctionId.NvAPI_Mosaic_SetCurrentTopo)]
public delegate Status NvAPI_Mosaic_SetCurrentTopo(
[In] TopologyBrief topoBrief,
[Accepts(typeof(DisplaySettingsV2), typeof(DisplaySettingsV1))] [In]
ValueTypeReference displaySetting,
int overlapX,
int overlapY,
uint enable
);
[FunctionId(FunctionId.NvAPI_Mosaic_SetDisplayGrids)]
public delegate Status NvAPI_Mosaic_SetDisplayGrids(
[Accepts(typeof(GridTopologyV2), typeof(GridTopologyV1))] [In]
ValueTypeArray gridTopologies,
[In] uint gridCount,
[In] SetDisplayTopologyFlag setTopoFlags);
[FunctionId(FunctionId.NvAPI_Mosaic_ValidateDisplayGrids)]
public delegate Status NvAPI_Mosaic_ValidateDisplayGrids(
[In] SetDisplayTopologyFlag setTopoFlags,
[Accepts(typeof(GridTopologyV2), typeof(GridTopologyV1))] [In]
ValueTypeArray gridTopologies,
[In] [Out] ref DisplayTopologyStatus[] topoStatuses,
[In] uint gridCount);
}
}