292 lines
13 KiB
C#
292 lines
13 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
|
|
namespace Valve.VR
|
|
{
|
|
public struct IVRSystem
|
|
{
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _GetRecommendedRenderTargetSize(ref uint pnWidth, ref uint pnHeight);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _GetProjectionRaw(EVREye eEye, ref float pfLeft, ref float pfRight, ref float pfTop, ref float pfBottom);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _ComputeDistortion(EVREye eEye, float fU, float fV, ref DistortionCoordinates_t pDistortionCoordinates);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate HmdMatrix34_t _GetEyeToHeadTransform(EVREye eEye);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync, ref ulong pulFrameCounter);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate int _GetD3D9AdapterIndex();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType, IntPtr pInstance);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _IsDisplayOnDesktop();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _SetDisplayVisibility(bool bIsVisibleOnDesktop);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, [In][Out] TrackedDevicePose_t[] pTrackedDevicePoseArray, uint unTrackedDevicePoseArrayCount);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _ResetSeatedZeroPose();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate HmdMatrix34_t _GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate HmdMatrix34_t _GetRawZeroPoseToStandingAbsoluteTrackingPose();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate uint _GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass, [In][Out] uint[] punTrackedDeviceIndexArray, uint unTrackedDeviceIndexArrayCount, uint unRelativeToTrackedDeviceIndex);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate EDeviceActivityLevel _GetTrackedDeviceActivityLevel(uint unDeviceId);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _ApplyTransform(ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate uint _GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate ETrackedControllerRole _GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate ETrackedDeviceClass _GetTrackedDeviceClass(uint unDeviceIndex);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _IsTrackedDeviceConnected(uint unDeviceIndex);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _GetBoolTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate float _GetFloatTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate int _GetInt32TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate ulong _GetUint64TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate HmdMatrix34_t _GetMatrix34TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate uint _GetArrayTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, uint propType, IntPtr pBuffer, uint unBufferSize, ref ETrackedPropertyError pError);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate uint _GetStringTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, StringBuilder pchValue, uint unBufferSize, ref ETrackedPropertyError pError);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate IntPtr _GetPropErrorNameFromEnum(ETrackedPropertyError error);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _PollNextEvent(ref VREvent_t pEvent, uint uncbVREvent);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _PollNextEventWithPose(ETrackingUniverseOrigin eOrigin, ref VREvent_t pEvent, uint uncbVREvent, ref TrackedDevicePose_t pTrackedDevicePose);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate IntPtr _GetEventTypeNameFromEnum(EVREventType eType);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate HiddenAreaMesh_t _GetHiddenAreaMesh(EVREye eEye, EHiddenAreaMeshType type);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _GetControllerState(uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin, uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize, ref TrackedDevicePose_t pTrackedDevicePose);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _TriggerHapticPulse(uint unControllerDeviceIndex, uint unAxisId, char usDurationMicroSec);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate IntPtr _GetButtonIdNameFromEnum(EVRButtonId eButtonId);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate IntPtr _GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _IsInputAvailable();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _IsSteamVRDrawingControllers();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _ShouldApplicationPause();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate bool _ShouldApplicationReduceRenderingWork();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate uint _DriverDebugRequest(uint unDeviceIndex, string pchRequest, StringBuilder pchResponseBuffer, uint unResponseBufferSize);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate EVRFirmwareError _PerformFirmwareUpdate(uint unDeviceIndex);
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _AcknowledgeQuit_Exiting();
|
|
|
|
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
|
internal delegate void _AcknowledgeQuit_UserPrompt();
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetRecommendedRenderTargetSize GetRecommendedRenderTargetSize;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetProjectionMatrix GetProjectionMatrix;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetProjectionRaw GetProjectionRaw;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _ComputeDistortion ComputeDistortion;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetEyeToHeadTransform GetEyeToHeadTransform;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetTimeSinceLastVsync GetTimeSinceLastVsync;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetD3D9AdapterIndex GetD3D9AdapterIndex;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetDXGIOutputInfo GetDXGIOutputInfo;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetOutputDevice GetOutputDevice;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _IsDisplayOnDesktop IsDisplayOnDesktop;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _SetDisplayVisibility SetDisplayVisibility;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetDeviceToAbsoluteTrackingPose GetDeviceToAbsoluteTrackingPose;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _ResetSeatedZeroPose ResetSeatedZeroPose;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetSeatedZeroPoseToStandingAbsoluteTrackingPose GetSeatedZeroPoseToStandingAbsoluteTrackingPose;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetRawZeroPoseToStandingAbsoluteTrackingPose GetRawZeroPoseToStandingAbsoluteTrackingPose;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetSortedTrackedDeviceIndicesOfClass GetSortedTrackedDeviceIndicesOfClass;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetTrackedDeviceActivityLevel GetTrackedDeviceActivityLevel;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _ApplyTransform ApplyTransform;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetTrackedDeviceIndexForControllerRole GetTrackedDeviceIndexForControllerRole;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetControllerRoleForTrackedDeviceIndex GetControllerRoleForTrackedDeviceIndex;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetTrackedDeviceClass GetTrackedDeviceClass;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _IsTrackedDeviceConnected IsTrackedDeviceConnected;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetBoolTrackedDeviceProperty GetBoolTrackedDeviceProperty;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetFloatTrackedDeviceProperty GetFloatTrackedDeviceProperty;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetInt32TrackedDeviceProperty GetInt32TrackedDeviceProperty;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetUint64TrackedDeviceProperty GetUint64TrackedDeviceProperty;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetMatrix34TrackedDeviceProperty GetMatrix34TrackedDeviceProperty;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetArrayTrackedDeviceProperty GetArrayTrackedDeviceProperty;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetStringTrackedDeviceProperty GetStringTrackedDeviceProperty;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetPropErrorNameFromEnum GetPropErrorNameFromEnum;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _PollNextEvent PollNextEvent;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _PollNextEventWithPose PollNextEventWithPose;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetEventTypeNameFromEnum GetEventTypeNameFromEnum;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetHiddenAreaMesh GetHiddenAreaMesh;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetControllerState GetControllerState;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetControllerStateWithPose GetControllerStateWithPose;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _TriggerHapticPulse TriggerHapticPulse;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetButtonIdNameFromEnum GetButtonIdNameFromEnum;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _GetControllerAxisTypeNameFromEnum GetControllerAxisTypeNameFromEnum;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _IsInputAvailable IsInputAvailable;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _IsSteamVRDrawingControllers IsSteamVRDrawingControllers;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _ShouldApplicationPause ShouldApplicationPause;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _ShouldApplicationReduceRenderingWork ShouldApplicationReduceRenderingWork;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _DriverDebugRequest DriverDebugRequest;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _PerformFirmwareUpdate PerformFirmwareUpdate;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _AcknowledgeQuit_Exiting AcknowledgeQuit_Exiting;
|
|
|
|
[MarshalAs(UnmanagedType.FunctionPtr)]
|
|
internal _AcknowledgeQuit_UserPrompt AcknowledgeQuit_UserPrompt;
|
|
}
|
|
}
|