diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..7bf82e7 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "openvr"] + path = openvr + url = https://github.com/ValveSoftware/openvr.git diff --git a/Cargo.toml b/Cargo.toml index 56efa73..f83c3bd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,9 +9,17 @@ authors = [ license = "MIT" description = "Raw unsafe system binding for openvr" repository = "https://github.com/rust-openvr/rust-openvr-sys" - +exclude = [ + "openvr/samples/*", + "openvr/bin/*", + "openvr/lib/*", + "openvr/controller_callouts/*", +] build = "build.rs" +[build-dependencies] +cmake = "0.1" + [lib] name = "openvr_sys" path = "lib.rs" diff --git a/build.rs b/build.rs index be2eab8..23641d7 100644 --- a/build.rs +++ b/build.rs @@ -1,17 +1,21 @@ -#[cfg(target_os="macos")] -fn main() { - println!("cargo:rustc-link-search={}/openvr/lib/osx32", env!("CARGO_MANIFEST_DIR")); - println!("cargo:rustc-link-search={}/openvr/bin/osx32", env!("CARGO_MANIFEST_DIR")); -} +extern crate cmake; -#[cfg(target_os="linux")] fn main() { - println!("cargo:rustc-link-search={}/openvr/lib/linux64", env!("CARGO_MANIFEST_DIR")); - println!("cargo:rustc-link-search={}/openvr/bin/linux64", env!("CARGO_MANIFEST_DIR")); -} + let mut cfg = cmake::Config::new("openvr"); -#[cfg(target_os="windows")] -fn main() { - println!("cargo:rustc-link-search={}/openvr/lib/win64", env!("CARGO_MANIFEST_DIR")); - println!("cargo:rustc-link-search={}/openvr/bin/win64", env!("CARGO_MANIFEST_DIR")); + // Work around broken cmake build + #[cfg(windows)] + cfg.cxxflag("/DWIN32"); + + let dst = cfg.build(); + println!("cargo:rustc-link-search=native={}/lib", dst.display()); + + #[cfg(all(windows, target_pointer_width = "64"))] + println!("cargo:rustc-link-lib=static=openvr_api64"); + + #[cfg(not(all(windows, target_pointer_width = "64")))] + println!("cargo:rustc-link-lib=static=openvr_api"); + + #[cfg(target_os="linux")] + println!("cargo:rustc-link-lib=stdc++"); } diff --git a/lib.rs b/lib.rs index 0899f03..98236c7 100644 --- a/lib.rs +++ b/lib.rs @@ -1,1524 +1,4677 @@ /* automatically generated by rust-bindgen */ -#![allow(dead_code, - non_camel_case_types, +#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] -#[cfg(target_os="windows")] -#[link(name = "openvr_api", kind = "static")] -extern {} - -#[cfg(target_os="linux")] -#[link(name = "openvr_api")] -extern {} - -#[cfg(target_os="macos")] -#[link(name = "openvr_api")] -extern {} - -pub type int64_t = ::std::os::raw::c_longlong; -pub type uint64_t = ::std::os::raw::c_ulonglong; -pub type int_least64_t = int64_t; -pub type uint_least64_t = uint64_t; -pub type int_fast64_t = int64_t; -pub type uint_fast64_t = uint64_t; -pub type int32_t = ::std::os::raw::c_int; -pub type uint32_t = ::std::os::raw::c_uint; -pub type int_least32_t = int32_t; -pub type uint_least32_t = uint32_t; -pub type int_fast32_t = int32_t; -pub type uint_fast32_t = uint32_t; -pub type int16_t = ::std::os::raw::c_short; -pub type uint16_t = ::std::os::raw::c_ushort; -pub type int_least16_t = int16_t; -pub type uint_least16_t = uint16_t; -pub type int_fast16_t = int16_t; -pub type uint_fast16_t = uint16_t; -pub type int8_t = ::std::os::raw::c_char; -pub type uint8_t = ::std::os::raw::c_uchar; -pub type int_least8_t = int8_t; -pub type uint_least8_t = uint8_t; -pub type int_fast8_t = int8_t; -pub type uint_fast8_t = uint8_t; -pub type intptr_t = int64_t; -pub type uintptr_t = uint64_t; -pub type intmax_t = ::std::os::raw::c_longlong; -pub type uintmax_t = ::std::os::raw::c_ulonglong; - -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVREye { EVREye_Eye_Left = 0, EVREye_Eye_Right = 1, } -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EGraphicsAPIConvention { - EGraphicsAPIConvention_API_DirectX = 0, - EGraphicsAPIConvention_API_OpenGL = 1, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EColorSpace { - EColorSpace_ColorSpace_Auto = 0, - EColorSpace_ColorSpace_Gamma = 1, - EColorSpace_ColorSpace_Linear = 2, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum ETrackingResult { - ETrackingResult_TrackingResult_Uninitialized = 1, - ETrackingResult_TrackingResult_Calibrating_InProgress = 100, - ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101, - ETrackingResult_TrackingResult_Running_OK = 200, - ETrackingResult_TrackingResult_Running_OutOfRange = 201, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum ETrackedDeviceClass { - ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0, - ETrackedDeviceClass_TrackedDeviceClass_HMD = 1, - ETrackedDeviceClass_TrackedDeviceClass_Controller = 2, - ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4, - ETrackedDeviceClass_TrackedDeviceClass_Other = 1000, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum ETrackedControllerRole { - ETrackedControllerRole_TrackedControllerRole_Invalid = 0, - ETrackedControllerRole_TrackedControllerRole_LeftHand = 1, - ETrackedControllerRole_TrackedControllerRole_RightHand = 2, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum ETrackingUniverseOrigin { - ETrackingUniverseOrigin_TrackingUniverseSeated = 0, - ETrackingUniverseOrigin_TrackingUniverseStanding = 1, - ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum ETrackedDeviceProperty { - ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000, - ETrackedDeviceProperty_Prop_ModelNumber_String = 1001, - ETrackedDeviceProperty_Prop_SerialNumber_String = 1002, - ETrackedDeviceProperty_Prop_RenderModelName_String = 1003, - ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004, - ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005, - ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006, - ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007, - ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008, - ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009, - ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010, - ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011, - ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012, - ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013, - ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014, - ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015, - ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016, - ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017, - ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018, - ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019, - ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020, - ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021, - ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022, - ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023, - ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025, - ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026, - ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027, - ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028, - ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029, - ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030, - ETrackedDeviceProperty_Prop_DriverVersion_String = 1031, - ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032, - ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000, - ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001, - ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002, - ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003, - ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004, - ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005, - ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006, - ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007, - ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008, - ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009, - ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010, - ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011, - ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012, - ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013, - ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014, - ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015, - ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016, - ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017, - ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018, - ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019, - ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020, - ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021, - ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022, - ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023, - ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024, - ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025, - ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026, - ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027, - ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028, - ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029, - ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030, - ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031, - ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032, - ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033, - ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = - 2034, - ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = - 2035, - ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036, - ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000, - ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001, - ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002, - ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003, - ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004, - ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005, - ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006, - ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000, - ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001, - ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002, - ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003, - ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004, - ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005, - ETrackedDeviceProperty_Prop_ModeLabel_String = 4006, - ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000, - ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum ETrackedPropertyError { - ETrackedPropertyError_TrackedProp_Success = 0, - ETrackedPropertyError_TrackedProp_WrongDataType = 1, - ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2, - ETrackedPropertyError_TrackedProp_BufferTooSmall = 3, - ETrackedPropertyError_TrackedProp_UnknownProperty = 4, - ETrackedPropertyError_TrackedProp_InvalidDevice = 5, - ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6, - ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7, - ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8, - ETrackedPropertyError_TrackedProp_NotYetAvailable = 9, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRSubmitFlags { - EVRSubmitFlags_Submit_Default = 0, - EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1, - EVRSubmitFlags_Submit_GlRenderBuffer = 2, -} -#[derive(Copy, Clone)] -#[repr(i32)] -#[derive(Debug)] -pub enum EVRState { - EVRState_VRState_Undefined = -1, - EVRState_VRState_Off = 0, - EVRState_VRState_Searching = 1, - EVRState_VRState_Searching_Alert = 2, - EVRState_VRState_Ready = 3, - EVRState_VRState_Ready_Alert = 4, - EVRState_VRState_NotReady = 5, - EVRState_VRState_Standby = 6, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVREventType { - EVREventType_VREvent_None = 0, - EVREventType_VREvent_TrackedDeviceActivated = 100, - EVREventType_VREvent_TrackedDeviceDeactivated = 101, - EVREventType_VREvent_TrackedDeviceUpdated = 102, - EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103, - EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104, - EVREventType_VREvent_IpdChanged = 105, - EVREventType_VREvent_EnterStandbyMode = 106, - EVREventType_VREvent_LeaveStandbyMode = 107, - EVREventType_VREvent_TrackedDeviceRoleChanged = 108, - EVREventType_VREvent_ButtonPress = 200, - EVREventType_VREvent_ButtonUnpress = 201, - EVREventType_VREvent_ButtonTouch = 202, - EVREventType_VREvent_ButtonUntouch = 203, - EVREventType_VREvent_MouseMove = 300, - EVREventType_VREvent_MouseButtonDown = 301, - EVREventType_VREvent_MouseButtonUp = 302, - EVREventType_VREvent_FocusEnter = 303, - EVREventType_VREvent_FocusLeave = 304, - EVREventType_VREvent_Scroll = 305, - EVREventType_VREvent_TouchPadMove = 306, - EVREventType_VREvent_InputFocusCaptured = 400, - EVREventType_VREvent_InputFocusReleased = 401, - EVREventType_VREvent_SceneFocusLost = 402, - EVREventType_VREvent_SceneFocusGained = 403, - EVREventType_VREvent_SceneApplicationChanged = 404, - EVREventType_VREvent_SceneFocusChanged = 405, - EVREventType_VREvent_InputFocusChanged = 406, - EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407, - EVREventType_VREvent_HideRenderModels = 410, - EVREventType_VREvent_ShowRenderModels = 411, - EVREventType_VREvent_OverlayShown = 500, - EVREventType_VREvent_OverlayHidden = 501, - EVREventType_VREvent_DashboardActivated = 502, - EVREventType_VREvent_DashboardDeactivated = 503, - EVREventType_VREvent_DashboardThumbSelected = 504, - EVREventType_VREvent_DashboardRequested = 505, - EVREventType_VREvent_ResetDashboard = 506, - EVREventType_VREvent_RenderToast = 507, - EVREventType_VREvent_ImageLoaded = 508, - EVREventType_VREvent_ShowKeyboard = 509, - EVREventType_VREvent_HideKeyboard = 510, - EVREventType_VREvent_OverlayGamepadFocusGained = 511, - EVREventType_VREvent_OverlayGamepadFocusLost = 512, - EVREventType_VREvent_OverlaySharedTextureChanged = 513, - EVREventType_VREvent_DashboardGuideButtonDown = 514, - EVREventType_VREvent_DashboardGuideButtonUp = 515, - EVREventType_VREvent_ScreenshotTriggered = 516, - EVREventType_VREvent_ImageFailed = 517, - EVREventType_VREvent_RequestScreenshot = 520, - EVREventType_VREvent_ScreenshotTaken = 521, - EVREventType_VREvent_ScreenshotFailed = 522, - EVREventType_VREvent_SubmitScreenshotToDashboard = 523, - EVREventType_VREvent_Notification_Shown = 600, - EVREventType_VREvent_Notification_Hidden = 601, - EVREventType_VREvent_Notification_BeginInteraction = 602, - EVREventType_VREvent_Notification_Destroyed = 603, - EVREventType_VREvent_Quit = 700, - EVREventType_VREvent_ProcessQuit = 701, - EVREventType_VREvent_QuitAborted_UserPrompt = 702, - EVREventType_VREvent_QuitAcknowledged = 703, - EVREventType_VREvent_DriverRequestedQuit = 704, - EVREventType_VREvent_ChaperoneDataHasChanged = 800, - EVREventType_VREvent_ChaperoneUniverseHasChanged = 801, - EVREventType_VREvent_ChaperoneTempDataHasChanged = 802, - EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803, - EVREventType_VREvent_SeatedZeroPoseReset = 804, - EVREventType_VREvent_AudioSettingsHaveChanged = 820, - EVREventType_VREvent_BackgroundSettingHasChanged = 850, - EVREventType_VREvent_CameraSettingsHaveChanged = 851, - EVREventType_VREvent_ReprojectionSettingHasChanged = 852, - EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853, - EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854, - EVREventType_VREvent_StatusUpdate = 900, - EVREventType_VREvent_MCImageUpdated = 1000, - EVREventType_VREvent_FirmwareUpdateStarted = 1100, - EVREventType_VREvent_FirmwareUpdateFinished = 1101, - EVREventType_VREvent_KeyboardClosed = 1200, - EVREventType_VREvent_KeyboardCharInput = 1201, - EVREventType_VREvent_KeyboardDone = 1202, - EVREventType_VREvent_ApplicationTransitionStarted = 1300, - EVREventType_VREvent_ApplicationTransitionAborted = 1301, - EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302, - EVREventType_VREvent_ApplicationListUpdated = 1303, - EVREventType_VREvent_Compositor_MirrorWindowShown = 1400, - EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401, - EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410, - EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411, - EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500, - EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501, - EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502, - EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503, - EVREventType_VREvent_PerformanceTest_EnableCapture = 1600, - EVREventType_VREvent_PerformanceTest_DisableCapture = 1601, - EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602, - EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000, - EVREventType_VREvent_VendorSpecific_Reserved_End = 19999, -} -#[derive(Copy, Clone)] -#[repr(i32)] -#[derive(Debug)] -pub enum EDeviceActivityLevel { - EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1, - EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0, - EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1, - EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3, -} -pub const EVRButtonId_k_EButton_SteamVR_Touchpad: EVRButtonId = - EVRButtonId::EVRButtonId_k_EButton_Axis0; -pub const EVRButtonId_k_EButton_SteamVR_Trigger: EVRButtonId = - EVRButtonId::EVRButtonId_k_EButton_Axis1; -pub const EVRButtonId_k_EButton_Dashboard_Back: EVRButtonId = - EVRButtonId::EVRButtonId_k_EButton_Grip; -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRButtonId { - EVRButtonId_k_EButton_System = 0, - EVRButtonId_k_EButton_ApplicationMenu = 1, - EVRButtonId_k_EButton_Grip = 2, - EVRButtonId_k_EButton_DPad_Left = 3, - EVRButtonId_k_EButton_DPad_Up = 4, - EVRButtonId_k_EButton_DPad_Right = 5, - EVRButtonId_k_EButton_DPad_Down = 6, - EVRButtonId_k_EButton_A = 7, - EVRButtonId_k_EButton_Axis0 = 32, - EVRButtonId_k_EButton_Axis1 = 33, - EVRButtonId_k_EButton_Axis2 = 34, - EVRButtonId_k_EButton_Axis3 = 35, - EVRButtonId_k_EButton_Axis4 = 36, - EVRButtonId_k_EButton_Max = 64, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRMouseButton { - EVRMouseButton_VRMouseButton_Left = 1, - EVRMouseButton_VRMouseButton_Right = 2, - EVRMouseButton_VRMouseButton_Middle = 4, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRControllerAxisType { - EVRControllerAxisType_k_eControllerAxis_None = 0, - EVRControllerAxisType_k_eControllerAxis_TrackPad = 1, - EVRControllerAxisType_k_eControllerAxis_Joystick = 2, - EVRControllerAxisType_k_eControllerAxis_Trigger = 3, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRControllerEventOutputType { - EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0, - EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum ECollisionBoundsStyle { - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVROverlayError { - EVROverlayError_VROverlayError_None = 0, - EVROverlayError_VROverlayError_UnknownOverlay = 10, - EVROverlayError_VROverlayError_InvalidHandle = 11, - EVROverlayError_VROverlayError_PermissionDenied = 12, - EVROverlayError_VROverlayError_OverlayLimitExceeded = 13, - EVROverlayError_VROverlayError_WrongVisibilityType = 14, - EVROverlayError_VROverlayError_KeyTooLong = 15, - EVROverlayError_VROverlayError_NameTooLong = 16, - EVROverlayError_VROverlayError_KeyInUse = 17, - EVROverlayError_VROverlayError_WrongTransformType = 18, - EVROverlayError_VROverlayError_InvalidTrackedDevice = 19, - EVROverlayError_VROverlayError_InvalidParameter = 20, - EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21, - EVROverlayError_VROverlayError_ArrayTooSmall = 22, - EVROverlayError_VROverlayError_RequestFailed = 23, - EVROverlayError_VROverlayError_InvalidTexture = 24, - EVROverlayError_VROverlayError_UnableToLoadFile = 25, - EVROverlayError_VROVerlayError_KeyboardAlreadyInUse = 26, - EVROverlayError_VROverlayError_NoNeighbor = 27, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRApplicationType { - EVRApplicationType_VRApplication_Other = 0, - EVRApplicationType_VRApplication_Scene = 1, - EVRApplicationType_VRApplication_Overlay = 2, - EVRApplicationType_VRApplication_Background = 3, - EVRApplicationType_VRApplication_Utility = 4, - EVRApplicationType_VRApplication_VRMonitor = 5, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRFirmwareError { - EVRFirmwareError_VRFirmwareError_None = 0, - EVRFirmwareError_VRFirmwareError_Success = 1, - EVRFirmwareError_VRFirmwareError_Fail = 2, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRNotificationError { - EVRNotificationError_VRNotificationError_OK = 0, - EVRNotificationError_VRNotificationError_InvalidNotificationId = 100, - EVRNotificationError_VRNotificationError_NotificationQueueFull = 101, - EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102, - EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists - = 103, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRInitError { - EVRInitError_VRInitError_None = 0, - EVRInitError_VRInitError_Unknown = 1, - EVRInitError_VRInitError_Init_InstallationNotFound = 100, - EVRInitError_VRInitError_Init_InstallationCorrupt = 101, - EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102, - EVRInitError_VRInitError_Init_FileNotFound = 103, - EVRInitError_VRInitError_Init_FactoryNotFound = 104, - EVRInitError_VRInitError_Init_InterfaceNotFound = 105, - EVRInitError_VRInitError_Init_InvalidInterface = 106, - EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107, - EVRInitError_VRInitError_Init_HmdNotFound = 108, - EVRInitError_VRInitError_Init_NotInitialized = 109, - EVRInitError_VRInitError_Init_PathRegistryNotFound = 110, - EVRInitError_VRInitError_Init_NoConfigPath = 111, - EVRInitError_VRInitError_Init_NoLogPath = 112, - EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113, - EVRInitError_VRInitError_Init_AppInfoInitFailed = 114, - EVRInitError_VRInitError_Init_Retry = 115, - EVRInitError_VRInitError_Init_InitCanceledByUser = 116, - EVRInitError_VRInitError_Init_AnotherAppLaunching = 117, - EVRInitError_VRInitError_Init_SettingsInitFailed = 118, - EVRInitError_VRInitError_Init_ShuttingDown = 119, - EVRInitError_VRInitError_Init_TooManyObjects = 120, - EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121, - EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122, - EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123, - EVRInitError_VRInitError_Init_Internal = 124, - EVRInitError_VRInitError_Driver_Failed = 200, - EVRInitError_VRInitError_Driver_Unknown = 201, - EVRInitError_VRInitError_Driver_HmdUnknown = 202, - EVRInitError_VRInitError_Driver_NotLoaded = 203, - EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204, - EVRInitError_VRInitError_Driver_HmdInUse = 205, - EVRInitError_VRInitError_Driver_NotCalibrated = 206, - EVRInitError_VRInitError_Driver_CalibrationInvalid = 207, - EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208, - EVRInitError_VRInitError_IPC_ServerInitFailed = 300, - EVRInitError_VRInitError_IPC_ConnectFailed = 301, - EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302, - EVRInitError_VRInitError_IPC_CompositorInitFailed = 303, - EVRInitError_VRInitError_IPC_MutexInitFailed = 304, - EVRInitError_VRInitError_IPC_Failed = 305, - EVRInitError_VRInitError_Compositor_Failed = 400, - EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401, - EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402, - EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403, - EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404, - EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = - 1000, - EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart - = 1102, - EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = - 1107, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart - = 1108, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart - = 1109, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = - 1110, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = - 1111, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = - 1113, - EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRScreenshotType { - EVRScreenshotType_VRScreenshotType_None = 0, - EVRScreenshotType_VRScreenshotType_Mono = 1, - EVRScreenshotType_VRScreenshotType_Stereo = 2, - EVRScreenshotType_VRScreenshotType_Cubemap = 3, - EVRScreenshotType_VRScreenshotType_MonoPanorama = 4, - EVRScreenshotType_VRScreenshotType_StereoPanorama = 5, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRScreenshotPropertyFilenames { - EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0, - EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRTrackedCameraError { - EVRTrackedCameraError_VRTrackedCameraError_None = 0, - EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100, - EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101, - EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = - 102, - EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103, - EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104, - EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = - 105, - EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106, - EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107, - EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108, - EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109, - EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = - 110, - EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111, - EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112, - EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113, - EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114, - EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRTrackedCameraFrameType { - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0, - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1, - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2, - EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRApplicationError { - EVRApplicationError_VRApplicationError_None = 0, - EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100, - EVRApplicationError_VRApplicationError_NoManifest = 101, - EVRApplicationError_VRApplicationError_NoApplication = 102, - EVRApplicationError_VRApplicationError_InvalidIndex = 103, - EVRApplicationError_VRApplicationError_UnknownApplication = 104, - EVRApplicationError_VRApplicationError_IPCFailed = 105, - EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106, - EVRApplicationError_VRApplicationError_InvalidManifest = 107, - EVRApplicationError_VRApplicationError_InvalidApplication = 108, - EVRApplicationError_VRApplicationError_LaunchFailed = 109, - EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110, - EVRApplicationError_VRApplicationError_LaunchInProgress = 111, - EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112, - EVRApplicationError_VRApplicationError_TransitionAborted = 113, - EVRApplicationError_VRApplicationError_IsTemplate = 114, - EVRApplicationError_VRApplicationError_BufferTooSmall = 200, - EVRApplicationError_VRApplicationError_PropertyNotSet = 201, - EVRApplicationError_VRApplicationError_UnknownProperty = 202, - EVRApplicationError_VRApplicationError_InvalidParameter = 203, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRApplicationProperty { - EVRApplicationProperty_VRApplicationProperty_Name_String = 0, - EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11, - EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12, - EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13, - EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14, - EVRApplicationProperty_VRApplicationProperty_URL_String = 15, - EVRApplicationProperty_VRApplicationProperty_Description_String = 50, - EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51, - EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52, - EVRApplicationProperty_VRApplicationProperty_Source_String = 53, - EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60, - EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61, - EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62, - EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRApplicationTransitionState { - EVRApplicationTransitionState_VRApplicationTransition_None = 0, - EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10, - EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch - = 11, - EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum ChaperoneCalibrationState { - ChaperoneCalibrationState_OK = 1, - ChaperoneCalibrationState_Warning = 100, - ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, - ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, - ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, - ChaperoneCalibrationState_Error = 200, - ChaperoneCalibrationState_Error_BaseStationUninitalized = 201, - ChaperoneCalibrationState_Error_BaseStationConflict = 202, - ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, - ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EChaperoneConfigFile { - EChaperoneConfigFile_Live = 1, - EChaperoneConfigFile_Temp = 2, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EChaperoneImportFlags { - EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRCompositorError { - EVRCompositorError_VRCompositorError_None = 0, - EVRCompositorError_VRCompositorError_RequestFailed = 1, - EVRCompositorError_VRCompositorError_IncompatibleVersion = 100, - EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101, - EVRCompositorError_VRCompositorError_InvalidTexture = 102, - EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103, - EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104, - EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105, - EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106, - EVRCompositorError_VRCompositorError_IndexOutOfRange = 107, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum VROverlayInputMethod { - VROverlayInputMethod_None = 0, - VROverlayInputMethod_Mouse = 1, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum VROverlayTransformType { - VROverlayTransformType_VROverlayTransform_Absolute = 0, - VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransformType_VROverlayTransform_SystemOverlay = 2, - VROverlayTransformType_VROverlayTransform_TrackedComponent = 3, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum VROverlayFlags { - VROverlayFlags_None = 0, - VROverlayFlags_Curved = 1, - VROverlayFlags_RGSS4X = 2, - VROverlayFlags_NoDashboardTab = 3, - VROverlayFlags_AcceptsGamepadEvents = 4, - VROverlayFlags_ShowGamepadFocus = 5, - VROverlayFlags_SendVRScrollEvents = 6, - VROverlayFlags_SendVRTouchpadEvents = 7, - VROverlayFlags_ShowTouchPadScrollWheel = 8, - VROverlayFlags_TransferOwnershipToInternalProcess = 9, - VROverlayFlags_SideBySide_Parallel = 10, - VROverlayFlags_SideBySide_Crossed = 11, - VROverlayFlags_Panorama = 12, - VROverlayFlags_StereoPanorama = 13, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EGamepadTextInputMode { - EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0, - EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1, - EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EGamepadTextInputLineMode { - EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0, - EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EOverlayDirection { - EOverlayDirection_OverlayDirection_Up = 0, - EOverlayDirection_OverlayDirection_Down = 1, - EOverlayDirection_OverlayDirection_Left = 2, - EOverlayDirection_OverlayDirection_Right = 3, - EOverlayDirection_OverlayDirection_Count = 4, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRRenderModelError { - EVRRenderModelError_VRRenderModelError_None = 0, - EVRRenderModelError_VRRenderModelError_Loading = 100, - EVRRenderModelError_VRRenderModelError_NotSupported = 200, - EVRRenderModelError_VRRenderModelError_InvalidArg = 300, - EVRRenderModelError_VRRenderModelError_InvalidModel = 301, - EVRRenderModelError_VRRenderModelError_NoShapes = 302, - EVRRenderModelError_VRRenderModelError_MultipleShapes = 303, - EVRRenderModelError_VRRenderModelError_TooManyVertices = 304, - EVRRenderModelError_VRRenderModelError_MultipleTextures = 305, - EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306, - EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307, - EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308, - EVRRenderModelError_VRRenderModelError_InvalidTexture = 400, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRComponentProperty { - EVRComponentProperty_VRComponentProperty_IsStatic = 1, - EVRComponentProperty_VRComponentProperty_IsVisible = 2, - EVRComponentProperty_VRComponentProperty_IsTouched = 4, - EVRComponentProperty_VRComponentProperty_IsPressed = 8, - EVRComponentProperty_VRComponentProperty_IsScrolled = 16, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRNotificationType { - EVRNotificationType_Transient = 0, - EVRNotificationType_Persistent = 1, - EVRNotificationType_Transient_SystemWithUserValue = 2, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRNotificationStyle { - EVRNotificationStyle_None = 0, - EVRNotificationStyle_Application = 100, - EVRNotificationStyle_Contact_Disabled = 200, - EVRNotificationStyle_Contact_Enabled = 201, - EVRNotificationStyle_Contact_Active = 202, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRSettingsError { - EVRSettingsError_VRSettingsError_None = 0, - EVRSettingsError_VRSettingsError_IPCFailed = 1, - EVRSettingsError_VRSettingsError_WriteFailed = 2, - EVRSettingsError_VRSettingsError_ReadFailed = 3, -} -#[derive(Copy, Clone)] -#[repr(u32)] -#[derive(Debug)] -pub enum EVRScreenshotError { - EVRScreenshotError_VRScreenshotError_None = 0, - EVRScreenshotError_VRScreenshotError_RequestFailed = 1, - EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100, - EVRScreenshotError_VRScreenshotError_NotFound = 101, - EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102, - EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108, -} -pub type TrackedDeviceIndex_t = uint32_t; -pub type VRNotificationId = uint32_t; -pub type VROverlayHandle_t = uint64_t; +#[repr(C)] +pub struct __BindgenUnionField(::std::marker::PhantomData); +impl __BindgenUnionField { + #[inline] + pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) } + #[inline] + pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) } + #[inline] + pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) } +} +impl ::std::default::Default for __BindgenUnionField { + #[inline] + fn default() -> Self { Self::new() } +} +impl ::std::clone::Clone for __BindgenUnionField { + #[inline] + fn clone(&self) -> Self { Self::new() } +} +impl ::std::marker::Copy for __BindgenUnionField { } +impl ::std::fmt::Debug for __BindgenUnionField { + fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fmt.write_str("__BindgenUnionField") + } +} +pub const _STDINT_H: ::std::os::raw::c_uint = 1; +pub const _FEATURES_H: ::std::os::raw::c_uint = 1; +pub const _DEFAULT_SOURCE: ::std::os::raw::c_uint = 1; +pub const __USE_ISOC11: ::std::os::raw::c_uint = 1; +pub const __USE_ISOC99: ::std::os::raw::c_uint = 1; +pub const __USE_ISOC95: ::std::os::raw::c_uint = 1; +pub const __USE_POSIX_IMPLICITLY: ::std::os::raw::c_uint = 1; +pub const _POSIX_SOURCE: ::std::os::raw::c_uint = 1; +pub const _POSIX_C_SOURCE: ::std::os::raw::c_uint = 200809; +pub const __USE_POSIX: ::std::os::raw::c_uint = 1; +pub const __USE_POSIX2: ::std::os::raw::c_uint = 1; +pub const __USE_POSIX199309: ::std::os::raw::c_uint = 1; +pub const __USE_POSIX199506: ::std::os::raw::c_uint = 1; +pub const __USE_XOPEN2K: ::std::os::raw::c_uint = 1; +pub const __USE_XOPEN2K8: ::std::os::raw::c_uint = 1; +pub const _ATFILE_SOURCE: ::std::os::raw::c_uint = 1; +pub const __USE_MISC: ::std::os::raw::c_uint = 1; +pub const __USE_ATFILE: ::std::os::raw::c_uint = 1; +pub const __USE_FORTIFY_LEVEL: ::std::os::raw::c_uint = 0; +pub const _STDC_PREDEF_H: ::std::os::raw::c_uint = 1; +pub const __STDC_IEC_559__: ::std::os::raw::c_uint = 1; +pub const __STDC_IEC_559_COMPLEX__: ::std::os::raw::c_uint = 1; +pub const __STDC_ISO_10646__: ::std::os::raw::c_uint = 201505; +pub const __STDC_NO_THREADS__: ::std::os::raw::c_uint = 1; +pub const __GNU_LIBRARY__: ::std::os::raw::c_uint = 6; +pub const __GLIBC__: ::std::os::raw::c_uint = 2; +pub const __GLIBC_MINOR__: ::std::os::raw::c_uint = 25; +pub const _SYS_CDEFS_H: ::std::os::raw::c_uint = 1; +pub const __glibc_c99_flexarr_available: ::std::os::raw::c_uint = 1; +pub const __WORDSIZE: ::std::os::raw::c_uint = 64; +pub const __WORDSIZE_TIME64_COMPAT32: ::std::os::raw::c_uint = 1; +pub const __SYSCALL_WORDSIZE: ::std::os::raw::c_uint = 64; +pub const __GLIBC_USE_LIB_EXT2: ::std::os::raw::c_uint = 0; +pub const __GLIBC_USE_IEC_60559_BFP_EXT: ::std::os::raw::c_uint = 0; +pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: ::std::os::raw::c_uint = 0; +pub const _BITS_TYPES_H: ::std::os::raw::c_uint = 1; +pub const _BITS_TYPESIZES_H: ::std::os::raw::c_uint = 1; +pub const __OFF_T_MATCHES_OFF64_T: ::std::os::raw::c_uint = 1; +pub const __INO_T_MATCHES_INO64_T: ::std::os::raw::c_uint = 1; +pub const __RLIM_T_MATCHES_RLIM64_T: ::std::os::raw::c_uint = 1; +pub const __FD_SETSIZE: ::std::os::raw::c_uint = 1024; +pub const _BITS_WCHAR_H: ::std::os::raw::c_uint = 1; +pub const INT8_MIN: ::std::os::raw::c_int = -128; +pub const INT16_MIN: ::std::os::raw::c_int = -32768; +pub const INT32_MIN: ::std::os::raw::c_int = -2147483648; +pub const INT8_MAX: ::std::os::raw::c_uint = 127; +pub const INT16_MAX: ::std::os::raw::c_uint = 32767; +pub const INT32_MAX: ::std::os::raw::c_uint = 2147483647; +pub const UINT8_MAX: ::std::os::raw::c_uint = 255; +pub const UINT16_MAX: ::std::os::raw::c_uint = 65535; +pub const UINT32_MAX: ::std::os::raw::c_uint = 4294967295; +pub const INT_LEAST8_MIN: ::std::os::raw::c_int = -128; +pub const INT_LEAST16_MIN: ::std::os::raw::c_int = -32768; +pub const INT_LEAST32_MIN: ::std::os::raw::c_int = -2147483648; +pub const INT_LEAST8_MAX: ::std::os::raw::c_uint = 127; +pub const INT_LEAST16_MAX: ::std::os::raw::c_uint = 32767; +pub const INT_LEAST32_MAX: ::std::os::raw::c_uint = 2147483647; +pub const UINT_LEAST8_MAX: ::std::os::raw::c_uint = 255; +pub const UINT_LEAST16_MAX: ::std::os::raw::c_uint = 65535; +pub const UINT_LEAST32_MAX: ::std::os::raw::c_uint = 4294967295; +pub const INT_FAST8_MIN: ::std::os::raw::c_int = -128; +pub const INT_FAST16_MIN: ::std::os::raw::c_longlong = -9223372036854775808; +pub const INT_FAST32_MIN: ::std::os::raw::c_longlong = -9223372036854775808; +pub const INT_FAST8_MAX: ::std::os::raw::c_uint = 127; +pub const INT_FAST16_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807; +pub const INT_FAST32_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807; +pub const UINT_FAST8_MAX: ::std::os::raw::c_uint = 255; +pub const UINT_FAST16_MAX: ::std::os::raw::c_int = -1; +pub const UINT_FAST32_MAX: ::std::os::raw::c_int = -1; +pub const INTPTR_MIN: ::std::os::raw::c_longlong = -9223372036854775808; +pub const INTPTR_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807; +pub const UINTPTR_MAX: ::std::os::raw::c_int = -1; +pub const PTRDIFF_MIN: ::std::os::raw::c_longlong = -9223372036854775808; +pub const PTRDIFF_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807; +pub const SIG_ATOMIC_MIN: ::std::os::raw::c_int = -2147483648; +pub const SIG_ATOMIC_MAX: ::std::os::raw::c_uint = 2147483647; +pub const SIZE_MAX: ::std::os::raw::c_int = -1; +pub const WINT_MIN: ::std::os::raw::c_uint = 0; +pub const WINT_MAX: ::std::os::raw::c_uint = 4294967295; +pub const true_: ::std::os::raw::c_uint = 1; +pub const false_: ::std::os::raw::c_uint = 0; +pub const __bool_true_false_are_defined: ::std::os::raw::c_uint = 1; +pub type __u_char = ::std::os::raw::c_uchar; +pub type __u_short = ::std::os::raw::c_ushort; +pub type __u_int = ::std::os::raw::c_uint; +pub type __u_long = ::std::os::raw::c_ulong; +pub type __int8_t = ::std::os::raw::c_schar; +pub type __uint8_t = ::std::os::raw::c_uchar; +pub type __int16_t = ::std::os::raw::c_short; +pub type __uint16_t = ::std::os::raw::c_ushort; +pub type __int32_t = ::std::os::raw::c_int; +pub type __uint32_t = ::std::os::raw::c_uint; +pub type __int64_t = ::std::os::raw::c_long; +pub type __uint64_t = ::std::os::raw::c_ulong; +pub type __quad_t = ::std::os::raw::c_long; +pub type __u_quad_t = ::std::os::raw::c_ulong; +pub type __intmax_t = ::std::os::raw::c_long; +pub type __uintmax_t = ::std::os::raw::c_ulong; +pub type __dev_t = ::std::os::raw::c_ulong; +pub type __uid_t = ::std::os::raw::c_uint; +pub type __gid_t = ::std::os::raw::c_uint; +pub type __ino_t = ::std::os::raw::c_ulong; +pub type __ino64_t = ::std::os::raw::c_ulong; +pub type __mode_t = ::std::os::raw::c_uint; +pub type __nlink_t = ::std::os::raw::c_ulong; +pub type __off_t = ::std::os::raw::c_long; +pub type __off64_t = ::std::os::raw::c_long; +pub type __pid_t = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy)] +pub struct __fsid_t { + pub __val: [::std::os::raw::c_int; 2usize], +} +#[test] +fn bindgen_test_layout___fsid_t() { + assert_eq!(::std::mem::size_of::<__fsid_t>() , 8usize , concat ! ( + "Size of: " , stringify ! ( __fsid_t ) )); + assert_eq! (::std::mem::align_of::<__fsid_t>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( __fsid_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __fsid_t ) ) . __val as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( __fsid_t ) , "::" , + stringify ! ( __val ) )); +} +impl Clone for __fsid_t { + fn clone(&self) -> Self { *self } +} +pub type __clock_t = ::std::os::raw::c_long; +pub type __rlim_t = ::std::os::raw::c_ulong; +pub type __rlim64_t = ::std::os::raw::c_ulong; +pub type __id_t = ::std::os::raw::c_uint; +pub type __time_t = ::std::os::raw::c_long; +pub type __useconds_t = ::std::os::raw::c_uint; +pub type __suseconds_t = ::std::os::raw::c_long; +pub type __daddr_t = ::std::os::raw::c_int; +pub type __key_t = ::std::os::raw::c_int; +pub type __clockid_t = ::std::os::raw::c_int; +pub type __timer_t = *mut ::std::os::raw::c_void; +pub type __blksize_t = ::std::os::raw::c_long; +pub type __blkcnt_t = ::std::os::raw::c_long; +pub type __blkcnt64_t = ::std::os::raw::c_long; +pub type __fsblkcnt_t = ::std::os::raw::c_ulong; +pub type __fsblkcnt64_t = ::std::os::raw::c_ulong; +pub type __fsfilcnt_t = ::std::os::raw::c_ulong; +pub type __fsfilcnt64_t = ::std::os::raw::c_ulong; +pub type __fsword_t = ::std::os::raw::c_long; +pub type __ssize_t = ::std::os::raw::c_long; +pub type __syscall_slong_t = ::std::os::raw::c_long; +pub type __syscall_ulong_t = ::std::os::raw::c_ulong; +pub type __loff_t = __off64_t; +pub type __qaddr_t = *mut __quad_t; +pub type __caddr_t = *mut ::std::os::raw::c_char; +pub type __intptr_t = ::std::os::raw::c_long; +pub type __socklen_t = ::std::os::raw::c_uint; +pub type int_least8_t = ::std::os::raw::c_schar; +pub type int_least16_t = ::std::os::raw::c_short; +pub type int_least32_t = ::std::os::raw::c_int; +pub type int_least64_t = ::std::os::raw::c_long; +pub type uint_least8_t = ::std::os::raw::c_uchar; +pub type uint_least16_t = ::std::os::raw::c_ushort; +pub type uint_least32_t = ::std::os::raw::c_uint; +pub type uint_least64_t = ::std::os::raw::c_ulong; +pub type int_fast8_t = ::std::os::raw::c_schar; +pub type int_fast16_t = ::std::os::raw::c_long; +pub type int_fast32_t = ::std::os::raw::c_long; +pub type int_fast64_t = ::std::os::raw::c_long; +pub type uint_fast8_t = ::std::os::raw::c_uchar; +pub type uint_fast16_t = ::std::os::raw::c_ulong; +pub type uint_fast32_t = ::std::os::raw::c_ulong; +pub type uint_fast64_t = ::std::os::raw::c_ulong; +pub type intmax_t = __intmax_t; +pub type uintmax_t = __uintmax_t; +pub type PropertyContainerHandle_t = u64; +pub type PropertyTypeTag_t = u32; +pub const k_nDriverNone: ::std::os::raw::c_uint = 4294967295; +pub const k_unMaxDriverDebugResponseSize: ::std::os::raw::c_uint = 32768; +pub const k_unTrackedDeviceIndex_Hmd: ::std::os::raw::c_uint = 0; +pub const k_unMaxTrackedDeviceCount: ::std::os::raw::c_uint = 16; +pub const k_unTrackedDeviceIndexOther: ::std::os::raw::c_uint = 4294967294; +pub const k_unTrackedDeviceIndexInvalid: ::std::os::raw::c_uint = 4294967295; +pub const k_ulInvalidPropertyContainer: ::std::os::raw::c_ulong = 0; +pub const k_unInvalidPropertyTag: ::std::os::raw::c_uint = 0; +pub const k_unFloatPropertyTag: ::std::os::raw::c_uint = 1; +pub const k_unInt32PropertyTag: ::std::os::raw::c_uint = 2; +pub const k_unUint64PropertyTag: ::std::os::raw::c_uint = 3; +pub const k_unBoolPropertyTag: ::std::os::raw::c_uint = 4; +pub const k_unStringPropertyTag: ::std::os::raw::c_uint = 5; +pub const k_unHmdMatrix34PropertyTag: ::std::os::raw::c_uint = 20; +pub const k_unHmdMatrix44PropertyTag: ::std::os::raw::c_uint = 21; +pub const k_unHmdVector3PropertyTag: ::std::os::raw::c_uint = 22; +pub const k_unHmdVector4PropertyTag: ::std::os::raw::c_uint = 23; +pub const k_unHiddenAreaPropertyTag: ::std::os::raw::c_uint = 30; +pub const k_unOpenVRInternalReserved_Start: ::std::os::raw::c_uint = 1000; +pub const k_unOpenVRInternalReserved_End: ::std::os::raw::c_uint = 10000; +pub const k_unMaxPropertyStringSize: ::std::os::raw::c_uint = 32768; +pub const k_unControllerStateAxisCount: ::std::os::raw::c_uint = 5; +pub const k_ulOverlayHandleInvalid: ::std::os::raw::c_ulong = 0; +pub const k_unScreenshotHandleInvalid: ::std::os::raw::c_uint = 0; +pub const IVRSystem_Version: &'static [u8; 14usize] = b"IVRSystem_016\x00"; +pub const IVRExtendedDisplay_Version: &'static [u8; 23usize] = + b"IVRExtendedDisplay_001\x00"; +pub const IVRTrackedCamera_Version: &'static [u8; 21usize] = + b"IVRTrackedCamera_003\x00"; +pub const k_unMaxApplicationKeyLength: ::std::os::raw::c_uint = 128; +pub const k_pch_MimeType_HomeApp: &'static [u8; 8usize] = b"vr/home\x00"; +pub const k_pch_MimeType_GameTheater: &'static [u8; 16usize] = + b"vr/game_theater\x00"; +pub const IVRApplications_Version: &'static [u8; 20usize] = + b"IVRApplications_006\x00"; +pub const IVRChaperone_Version: &'static [u8; 17usize] = + b"IVRChaperone_003\x00"; +pub const IVRChaperoneSetup_Version: &'static [u8; 22usize] = + b"IVRChaperoneSetup_005\x00"; +pub const IVRCompositor_Version: &'static [u8; 18usize] = + b"IVRCompositor_020\x00"; +pub const k_unVROverlayMaxKeyLength: ::std::os::raw::c_uint = 128; +pub const k_unVROverlayMaxNameLength: ::std::os::raw::c_uint = 128; +pub const k_unMaxOverlayCount: ::std::os::raw::c_uint = 64; +pub const k_unMaxOverlayIntersectionMaskPrimitivesCount: + ::std::os::raw::c_uint = + 32; +pub const IVROverlay_Version: &'static [u8; 15usize] = b"IVROverlay_016\x00"; +pub const k_pch_Controller_Component_GDC2015: &'static [u8; 8usize] = + b"gdc2015\x00"; +pub const k_pch_Controller_Component_Base: &'static [u8; 5usize] = + b"base\x00"; +pub const k_pch_Controller_Component_Tip: &'static [u8; 4usize] = b"tip\x00"; +pub const k_pch_Controller_Component_HandGrip: &'static [u8; 9usize] = + b"handgrip\x00"; +pub const k_pch_Controller_Component_Status: &'static [u8; 7usize] = + b"status\x00"; +pub const IVRRenderModels_Version: &'static [u8; 20usize] = + b"IVRRenderModels_005\x00"; +pub const k_unNotificationTextMaxSize: ::std::os::raw::c_uint = 256; +pub const IVRNotifications_Version: &'static [u8; 21usize] = + b"IVRNotifications_002\x00"; +pub const k_unMaxSettingsKeyLength: ::std::os::raw::c_uint = 128; +pub const IVRSettings_Version: &'static [u8; 16usize] = + b"IVRSettings_002\x00"; +pub const k_pch_SteamVR_Section: &'static [u8; 8usize] = b"steamvr\x00"; +pub const k_pch_SteamVR_RequireHmd_String: &'static [u8; 11usize] = + b"requireHmd\x00"; +pub const k_pch_SteamVR_ForcedDriverKey_String: &'static [u8; 13usize] = + b"forcedDriver\x00"; +pub const k_pch_SteamVR_ForcedHmdKey_String: &'static [u8; 10usize] = + b"forcedHmd\x00"; +pub const k_pch_SteamVR_DisplayDebug_Bool: &'static [u8; 13usize] = + b"displayDebug\x00"; +pub const k_pch_SteamVR_DebugProcessPipe_String: &'static [u8; 17usize] = + b"debugProcessPipe\x00"; +pub const k_pch_SteamVR_DisplayDebugX_Int32: &'static [u8; 14usize] = + b"displayDebugX\x00"; +pub const k_pch_SteamVR_DisplayDebugY_Int32: &'static [u8; 14usize] = + b"displayDebugY\x00"; +pub const k_pch_SteamVR_SendSystemButtonToAllApps_Bool: &'static [u8; 26usize] + = + b"sendSystemButtonToAllApps\x00"; +pub const k_pch_SteamVR_LogLevel_Int32: &'static [u8; 9usize] = + b"loglevel\x00"; +pub const k_pch_SteamVR_IPD_Float: &'static [u8; 4usize] = b"ipd\x00"; +pub const k_pch_SteamVR_Background_String: &'static [u8; 11usize] = + b"background\x00"; +pub const k_pch_SteamVR_BackgroundUseDomeProjection_Bool: + &'static [u8; 28usize] = + b"backgroundUseDomeProjection\x00"; +pub const k_pch_SteamVR_BackgroundCameraHeight_Float: &'static [u8; 23usize] = + b"backgroundCameraHeight\x00"; +pub const k_pch_SteamVR_BackgroundDomeRadius_Float: &'static [u8; 21usize] = + b"backgroundDomeRadius\x00"; +pub const k_pch_SteamVR_GridColor_String: &'static [u8; 10usize] = + b"gridColor\x00"; +pub const k_pch_SteamVR_PlayAreaColor_String: &'static [u8; 14usize] = + b"playAreaColor\x00"; +pub const k_pch_SteamVR_ShowStage_Bool: &'static [u8; 10usize] = + b"showStage\x00"; +pub const k_pch_SteamVR_ActivateMultipleDrivers_Bool: &'static [u8; 24usize] = + b"activateMultipleDrivers\x00"; +pub const k_pch_SteamVR_DirectMode_Bool: &'static [u8; 11usize] = + b"directMode\x00"; +pub const k_pch_SteamVR_DirectModeEdidVid_Int32: &'static [u8; 18usize] = + b"directModeEdidVid\x00"; +pub const k_pch_SteamVR_DirectModeEdidPid_Int32: &'static [u8; 18usize] = + b"directModeEdidPid\x00"; +pub const k_pch_SteamVR_UsingSpeakers_Bool: &'static [u8; 14usize] = + b"usingSpeakers\x00"; +pub const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float: + &'static [u8; 32usize] = + b"speakersForwardYawOffsetDegrees\x00"; +pub const k_pch_SteamVR_BaseStationPowerManagement_Bool: + &'static [u8; 27usize] = + b"basestationPowerManagement\x00"; +pub const k_pch_SteamVR_NeverKillProcesses_Bool: &'static [u8; 19usize] = + b"neverKillProcesses\x00"; +pub const k_pch_SteamVR_SupersampleScale_Float: &'static [u8; 17usize] = + b"supersampleScale\x00"; +pub const k_pch_SteamVR_AllowAsyncReprojection_Bool: &'static [u8; 23usize] = + b"allowAsyncReprojection\x00"; +pub const k_pch_SteamVR_AllowReprojection_Bool: &'static [u8; 29usize] = + b"allowInterleavedReprojection\x00"; +pub const k_pch_SteamVR_ForceReprojection_Bool: &'static [u8; 18usize] = + b"forceReprojection\x00"; +pub const k_pch_SteamVR_ForceFadeOnBadTracking_Bool: &'static [u8; 23usize] = + b"forceFadeOnBadTracking\x00"; +pub const k_pch_SteamVR_DefaultMirrorView_Int32: &'static [u8; 18usize] = + b"defaultMirrorView\x00"; +pub const k_pch_SteamVR_ShowMirrorView_Bool: &'static [u8; 15usize] = + b"showMirrorView\x00"; +pub const k_pch_SteamVR_MirrorViewGeometry_String: &'static [u8; 19usize] = + b"mirrorViewGeometry\x00"; +pub const k_pch_SteamVR_StartMonitorFromAppLaunch: &'static [u8; 26usize] = + b"startMonitorFromAppLaunch\x00"; +pub const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool: + &'static [u8; 29usize] = + b"startCompositorFromAppLaunch\x00"; +pub const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool: + &'static [u8; 28usize] = + b"startDashboardFromAppLaunch\x00"; +pub const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool: + &'static [u8; 30usize] = + b"startOverlayAppsFromDashboard\x00"; +pub const k_pch_SteamVR_EnableHomeApp: &'static [u8; 14usize] = + b"enableHomeApp\x00"; +pub const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32: + &'static [u8; 28usize] = + b"CycleBackgroundImageTimeSec\x00"; +pub const k_pch_SteamVR_RetailDemo_Bool: &'static [u8; 11usize] = + b"retailDemo\x00"; +pub const k_pch_SteamVR_IpdOffset_Float: &'static [u8; 10usize] = + b"ipdOffset\x00"; +pub const k_pch_SteamVR_AllowSupersampleFiltering_Bool: &'static [u8; 26usize] + = + b"allowSupersampleFiltering\x00"; +pub const k_pch_Lighthouse_Section: &'static [u8; 18usize] = + b"driver_lighthouse\x00"; +pub const k_pch_Lighthouse_DisableIMU_Bool: &'static [u8; 11usize] = + b"disableimu\x00"; +pub const k_pch_Lighthouse_UseDisambiguation_String: &'static [u8; 18usize] = + b"usedisambiguation\x00"; +pub const k_pch_Lighthouse_DisambiguationDebug_Int32: &'static [u8; 20usize] = + b"disambiguationdebug\x00"; +pub const k_pch_Lighthouse_PrimaryBasestation_Int32: &'static [u8; 19usize] = + b"primarybasestation\x00"; +pub const k_pch_Lighthouse_DBHistory_Bool: &'static [u8; 10usize] = + b"dbhistory\x00"; +pub const k_pch_Null_Section: &'static [u8; 12usize] = b"driver_null\x00"; +pub const k_pch_Null_SerialNumber_String: &'static [u8; 13usize] = + b"serialNumber\x00"; +pub const k_pch_Null_ModelNumber_String: &'static [u8; 12usize] = + b"modelNumber\x00"; +pub const k_pch_Null_WindowX_Int32: &'static [u8; 8usize] = b"windowX\x00"; +pub const k_pch_Null_WindowY_Int32: &'static [u8; 8usize] = b"windowY\x00"; +pub const k_pch_Null_WindowWidth_Int32: &'static [u8; 12usize] = + b"windowWidth\x00"; +pub const k_pch_Null_WindowHeight_Int32: &'static [u8; 13usize] = + b"windowHeight\x00"; +pub const k_pch_Null_RenderWidth_Int32: &'static [u8; 12usize] = + b"renderWidth\x00"; +pub const k_pch_Null_RenderHeight_Int32: &'static [u8; 13usize] = + b"renderHeight\x00"; +pub const k_pch_Null_SecondsFromVsyncToPhotons_Float: &'static [u8; 26usize] = + b"secondsFromVsyncToPhotons\x00"; +pub const k_pch_Null_DisplayFrequency_Float: &'static [u8; 17usize] = + b"displayFrequency\x00"; +pub const k_pch_UserInterface_Section: &'static [u8; 14usize] = + b"userinterface\x00"; +pub const k_pch_UserInterface_StatusAlwaysOnTop_Bool: &'static [u8; 18usize] = + b"StatusAlwaysOnTop\x00"; +pub const k_pch_UserInterface_MinimizeToTray_Bool: &'static [u8; 15usize] = + b"MinimizeToTray\x00"; +pub const k_pch_UserInterface_Screenshots_Bool: &'static [u8; 12usize] = + b"screenshots\x00"; +pub const k_pch_UserInterface_ScreenshotType_Int: &'static [u8; 15usize] = + b"screenshotType\x00"; +pub const k_pch_Notifications_Section: &'static [u8; 14usize] = + b"notifications\x00"; +pub const k_pch_Notifications_DoNotDisturb_Bool: &'static [u8; 13usize] = + b"DoNotDisturb\x00"; +pub const k_pch_Keyboard_Section: &'static [u8; 9usize] = b"keyboard\x00"; +pub const k_pch_Keyboard_TutorialCompletions: &'static [u8; 20usize] = + b"TutorialCompletions\x00"; +pub const k_pch_Keyboard_ScaleX: &'static [u8; 7usize] = b"ScaleX\x00"; +pub const k_pch_Keyboard_ScaleY: &'static [u8; 7usize] = b"ScaleY\x00"; +pub const k_pch_Keyboard_OffsetLeftX: &'static [u8; 12usize] = + b"OffsetLeftX\x00"; +pub const k_pch_Keyboard_OffsetRightX: &'static [u8; 13usize] = + b"OffsetRightX\x00"; +pub const k_pch_Keyboard_OffsetY: &'static [u8; 8usize] = b"OffsetY\x00"; +pub const k_pch_Keyboard_Smoothing: &'static [u8; 10usize] = b"Smoothing\x00"; +pub const k_pch_Perf_Section: &'static [u8; 10usize] = b"perfcheck\x00"; +pub const k_pch_Perf_HeuristicActive_Bool: &'static [u8; 16usize] = + b"heuristicActive\x00"; +pub const k_pch_Perf_NotifyInHMD_Bool: &'static [u8; 10usize] = + b"warnInHMD\x00"; +pub const k_pch_Perf_NotifyOnlyOnce_Bool: &'static [u8; 13usize] = + b"warnOnlyOnce\x00"; +pub const k_pch_Perf_AllowTimingStore_Bool: &'static [u8; 17usize] = + b"allowTimingStore\x00"; +pub const k_pch_Perf_SaveTimingsOnExit_Bool: &'static [u8; 18usize] = + b"saveTimingsOnExit\x00"; +pub const k_pch_Perf_TestData_Float: &'static [u8; 13usize] = + b"perfTestData\x00"; +pub const k_pch_Perf_LinuxGPUProfiling_Bool: &'static [u8; 18usize] = + b"linuxGPUProfiling\x00"; +pub const k_pch_CollisionBounds_Section: &'static [u8; 16usize] = + b"collisionBounds\x00"; +pub const k_pch_CollisionBounds_Style_Int32: &'static [u8; 21usize] = + b"CollisionBoundsStyle\x00"; +pub const k_pch_CollisionBounds_GroundPerimeterOn_Bool: &'static [u8; 33usize] + = + b"CollisionBoundsGroundPerimeterOn\x00"; +pub const k_pch_CollisionBounds_CenterMarkerOn_Bool: &'static [u8; 30usize] = + b"CollisionBoundsCenterMarkerOn\x00"; +pub const k_pch_CollisionBounds_PlaySpaceOn_Bool: &'static [u8; 27usize] = + b"CollisionBoundsPlaySpaceOn\x00"; +pub const k_pch_CollisionBounds_FadeDistance_Float: &'static [u8; 28usize] = + b"CollisionBoundsFadeDistance\x00"; +pub const k_pch_CollisionBounds_ColorGammaR_Int32: &'static [u8; 27usize] = + b"CollisionBoundsColorGammaR\x00"; +pub const k_pch_CollisionBounds_ColorGammaG_Int32: &'static [u8; 27usize] = + b"CollisionBoundsColorGammaG\x00"; +pub const k_pch_CollisionBounds_ColorGammaB_Int32: &'static [u8; 27usize] = + b"CollisionBoundsColorGammaB\x00"; +pub const k_pch_CollisionBounds_ColorGammaA_Int32: &'static [u8; 27usize] = + b"CollisionBoundsColorGammaA\x00"; +pub const k_pch_Camera_Section: &'static [u8; 7usize] = b"camera\x00"; +pub const k_pch_Camera_EnableCamera_Bool: &'static [u8; 13usize] = + b"enableCamera\x00"; +pub const k_pch_Camera_EnableCameraInDashboard_Bool: &'static [u8; 24usize] = + b"enableCameraInDashboard\x00"; +pub const k_pch_Camera_EnableCameraForCollisionBounds_Bool: + &'static [u8; 31usize] = + b"enableCameraForCollisionBounds\x00"; +pub const k_pch_Camera_EnableCameraForRoomView_Bool: &'static [u8; 24usize] = + b"enableCameraForRoomView\x00"; +pub const k_pch_Camera_BoundsColorGammaR_Int32: &'static [u8; 24usize] = + b"cameraBoundsColorGammaR\x00"; +pub const k_pch_Camera_BoundsColorGammaG_Int32: &'static [u8; 24usize] = + b"cameraBoundsColorGammaG\x00"; +pub const k_pch_Camera_BoundsColorGammaB_Int32: &'static [u8; 24usize] = + b"cameraBoundsColorGammaB\x00"; +pub const k_pch_Camera_BoundsColorGammaA_Int32: &'static [u8; 24usize] = + b"cameraBoundsColorGammaA\x00"; +pub const k_pch_Camera_BoundsStrength_Int32: &'static [u8; 21usize] = + b"cameraBoundsStrength\x00"; +pub const k_pch_audio_Section: &'static [u8; 6usize] = b"audio\x00"; +pub const k_pch_audio_OnPlaybackDevice_String: &'static [u8; 17usize] = + b"onPlaybackDevice\x00"; +pub const k_pch_audio_OnRecordDevice_String: &'static [u8; 15usize] = + b"onRecordDevice\x00"; +pub const k_pch_audio_OnPlaybackMirrorDevice_String: &'static [u8; 23usize] = + b"onPlaybackMirrorDevice\x00"; +pub const k_pch_audio_OffPlaybackDevice_String: &'static [u8; 18usize] = + b"offPlaybackDevice\x00"; +pub const k_pch_audio_OffRecordDevice_String: &'static [u8; 16usize] = + b"offRecordDevice\x00"; +pub const k_pch_audio_VIVEHDMIGain: &'static [u8; 13usize] = + b"viveHDMIGain\x00"; +pub const k_pch_Power_Section: &'static [u8; 6usize] = b"power\x00"; +pub const k_pch_Power_PowerOffOnExit_Bool: &'static [u8; 15usize] = + b"powerOffOnExit\x00"; +pub const k_pch_Power_TurnOffScreensTimeout_Float: &'static [u8; 22usize] = + b"turnOffScreensTimeout\x00"; +pub const k_pch_Power_TurnOffControllersTimeout_Float: &'static [u8; 26usize] + = + b"turnOffControllersTimeout\x00"; +pub const k_pch_Power_ReturnToWatchdogTimeout_Float: &'static [u8; 24usize] = + b"returnToWatchdogTimeout\x00"; +pub const k_pch_Power_AutoLaunchSteamVROnButtonPress: &'static [u8; 31usize] = + b"autoLaunchSteamVROnButtonPress\x00"; +pub const k_pch_Dashboard_Section: &'static [u8; 10usize] = b"dashboard\x00"; +pub const k_pch_Dashboard_EnableDashboard_Bool: &'static [u8; 16usize] = + b"enableDashboard\x00"; +pub const k_pch_Dashboard_ArcadeMode_Bool: &'static [u8; 11usize] = + b"arcadeMode\x00"; +pub const k_pch_modelskin_Section: &'static [u8; 11usize] = b"modelskins\x00"; +pub const k_pch_Driver_Enable_Bool: &'static [u8; 7usize] = b"enable\x00"; +pub const IVRScreenshots_Version: &'static [u8; 19usize] = + b"IVRScreenshots_001\x00"; +pub const IVRResources_Version: &'static [u8; 17usize] = + b"IVRResources_001\x00"; +pub const IVRDriverManager_Version: &'static [u8; 21usize] = + b"IVRDriverManager_001\x00"; +pub const EVREye_EVREye_Eye_Left: EVREye = 0; +pub const EVREye_EVREye_Eye_Right: EVREye = 1; +pub type EVREye = ::std::os::raw::c_uint; +pub const ETextureType_ETextureType_TextureType_DirectX: ETextureType = 0; +pub const ETextureType_ETextureType_TextureType_OpenGL: ETextureType = 1; +pub const ETextureType_ETextureType_TextureType_Vulkan: ETextureType = 2; +pub const ETextureType_ETextureType_TextureType_IOSurface: ETextureType = 3; +pub const ETextureType_ETextureType_TextureType_DirectX12: ETextureType = 4; +pub type ETextureType = ::std::os::raw::c_uint; +pub const EColorSpace_EColorSpace_ColorSpace_Auto: EColorSpace = 0; +pub const EColorSpace_EColorSpace_ColorSpace_Gamma: EColorSpace = 1; +pub const EColorSpace_EColorSpace_ColorSpace_Linear: EColorSpace = 2; +pub type EColorSpace = ::std::os::raw::c_uint; +pub const ETrackingResult_ETrackingResult_TrackingResult_Uninitialized: + ETrackingResult = + 1; +pub const ETrackingResult_ETrackingResult_TrackingResult_Calibrating_InProgress: + ETrackingResult = + 100; +pub const ETrackingResult_ETrackingResult_TrackingResult_Calibrating_OutOfRange: + ETrackingResult = + 101; +pub const ETrackingResult_ETrackingResult_TrackingResult_Running_OK: + ETrackingResult = + 200; +pub const ETrackingResult_ETrackingResult_TrackingResult_Running_OutOfRange: + ETrackingResult = + 201; +pub type ETrackingResult = ::std::os::raw::c_uint; +pub const ETrackedDeviceClass_ETrackedDeviceClass_TrackedDeviceClass_Invalid: + ETrackedDeviceClass = + 0; +pub const ETrackedDeviceClass_ETrackedDeviceClass_TrackedDeviceClass_HMD: + ETrackedDeviceClass = + 1; +pub const ETrackedDeviceClass_ETrackedDeviceClass_TrackedDeviceClass_Controller: + ETrackedDeviceClass = + 2; +pub const ETrackedDeviceClass_ETrackedDeviceClass_TrackedDeviceClass_GenericTracker: + ETrackedDeviceClass = + 3; +pub const ETrackedDeviceClass_ETrackedDeviceClass_TrackedDeviceClass_TrackingReference: + ETrackedDeviceClass = + 4; +pub const ETrackedDeviceClass_ETrackedDeviceClass_TrackedDeviceClass_DisplayRedirect: + ETrackedDeviceClass = + 5; +pub type ETrackedDeviceClass = ::std::os::raw::c_uint; +pub const ETrackedControllerRole_ETrackedControllerRole_TrackedControllerRole_Invalid: + ETrackedControllerRole = + 0; +pub const ETrackedControllerRole_ETrackedControllerRole_TrackedControllerRole_LeftHand: + ETrackedControllerRole = + 1; +pub const ETrackedControllerRole_ETrackedControllerRole_TrackedControllerRole_RightHand: + ETrackedControllerRole = + 2; +pub type ETrackedControllerRole = ::std::os::raw::c_uint; +pub const ETrackingUniverseOrigin_ETrackingUniverseOrigin_TrackingUniverseSeated: + ETrackingUniverseOrigin = + 0; +pub const ETrackingUniverseOrigin_ETrackingUniverseOrigin_TrackingUniverseStanding: + ETrackingUniverseOrigin = + 1; +pub const ETrackingUniverseOrigin_ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated: + ETrackingUniverseOrigin = + 2; +pub type ETrackingUniverseOrigin = ::std::os::raw::c_uint; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Invalid: + ETrackedDeviceProperty = + 0; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_TrackingSystemName_String: + ETrackedDeviceProperty = + 1000; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ModelNumber_String: + ETrackedDeviceProperty = + 1001; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_SerialNumber_String: + ETrackedDeviceProperty = + 1002; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_RenderModelName_String: + ETrackedDeviceProperty = + 1003; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool: + ETrackedDeviceProperty = + 1004; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ManufacturerName_String: + ETrackedDeviceProperty = + 1005; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String: + ETrackedDeviceProperty = + 1006; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_HardwareRevision_String: + ETrackedDeviceProperty = + 1007; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String: + ETrackedDeviceProperty = + 1008; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String: + ETrackedDeviceProperty = + 1009; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool: + ETrackedDeviceProperty = + 1010; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool: + ETrackedDeviceProperty = + 1011; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float: + ETrackedDeviceProperty = + 1012; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34: + ETrackedDeviceProperty = + 1013; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool: + ETrackedDeviceProperty = + 1014; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool: + ETrackedDeviceProperty = + 1015; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String: + ETrackedDeviceProperty = + 1016; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_HardwareRevision_Uint64: + ETrackedDeviceProperty = + 1017; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64: + ETrackedDeviceProperty = + 1018; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_FPGAVersion_Uint64: + ETrackedDeviceProperty = + 1019; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_VRCVersion_Uint64: + ETrackedDeviceProperty = + 1020; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_RadioVersion_Uint64: + ETrackedDeviceProperty = + 1021; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DongleVersion_Uint64: + ETrackedDeviceProperty = + 1022; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool: + ETrackedDeviceProperty = + 1023; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool: + ETrackedDeviceProperty = + 1024; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool: + ETrackedDeviceProperty = + 1025; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool: + ETrackedDeviceProperty = + 1026; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool: + ETrackedDeviceProperty = + 1027; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String: + ETrackedDeviceProperty = + 1028; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DeviceClass_Int32: + ETrackedDeviceProperty = + 1029; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_HasCamera_Bool: + ETrackedDeviceProperty = + 1030; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DriverVersion_String: + ETrackedDeviceProperty = + 1031; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool: + ETrackedDeviceProperty = + 1032; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool: + ETrackedDeviceProperty = + 1033; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ParentDriver_Uint64: + ETrackedDeviceProperty = + 1034; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ResourceRoot_String: + ETrackedDeviceProperty = + 1035; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool: + ETrackedDeviceProperty = + 2000; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float: + ETrackedDeviceProperty = + 2001; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayFrequency_Float: + ETrackedDeviceProperty = + 2002; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_UserIpdMeters_Float: + ETrackedDeviceProperty = + 2003; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64: + ETrackedDeviceProperty = + 2004; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64: + ETrackedDeviceProperty = + 2005; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64: + ETrackedDeviceProperty = + 2006; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_IsOnDesktop_Bool: + ETrackedDeviceProperty = + 2007; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCType_Int32: + ETrackedDeviceProperty = + 2008; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCOffset_Float: + ETrackedDeviceProperty = + 2009; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCScale_Float: + ETrackedDeviceProperty = + 2010; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_EdidVendorID_Int32: + ETrackedDeviceProperty = + 2011; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String: + ETrackedDeviceProperty = + 2012; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCImageRight_String: + ETrackedDeviceProperty = + 2013; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float: + ETrackedDeviceProperty = + 2014; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_EdidProductID_Int32: + ETrackedDeviceProperty = + 2015; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34: + ETrackedDeviceProperty = + 2016; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayGCType_Int32: + ETrackedDeviceProperty = + 2017; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayGCOffset_Float: + ETrackedDeviceProperty = + 2018; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayGCScale_Float: + ETrackedDeviceProperty = + 2019; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float: + ETrackedDeviceProperty = + 2020; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayGCImage_String: + ETrackedDeviceProperty = + 2021; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_LensCenterLeftU_Float: + ETrackedDeviceProperty = + 2022; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_LensCenterLeftV_Float: + ETrackedDeviceProperty = + 2023; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_LensCenterRightU_Float: + ETrackedDeviceProperty = + 2024; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_LensCenterRightV_Float: + ETrackedDeviceProperty = + 2025; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float: + ETrackedDeviceProperty = + 2026; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64: + ETrackedDeviceProperty = + 2027; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String: + ETrackedDeviceProperty = + 2028; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64: + ETrackedDeviceProperty = + 2029; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64: + ETrackedDeviceProperty = + 2030; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64: + ETrackedDeviceProperty = + 2031; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64: + ETrackedDeviceProperty = + 2032; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32: + ETrackedDeviceProperty = + 2033; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float: + ETrackedDeviceProperty = + 2034; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float: + ETrackedDeviceProperty = + 2035; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool: + ETrackedDeviceProperty = + 2036; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool: + ETrackedDeviceProperty = + 2037; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32: + ETrackedDeviceProperty = + 2038; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32: + ETrackedDeviceProperty = + 2039; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32: + ETrackedDeviceProperty = + 2040; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary: + ETrackedDeviceProperty = + 2041; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_SecondsFromPhotonsToVblank_Float: + ETrackedDeviceProperty = + 2042; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool: + ETrackedDeviceProperty = + 2043; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool: + ETrackedDeviceProperty = + 2044; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64: + ETrackedDeviceProperty = + 2045; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_AttachedDeviceId_String: + ETrackedDeviceProperty = + 3000; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_SupportedButtons_Uint64: + ETrackedDeviceProperty = + 3001; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Axis0Type_Int32: + ETrackedDeviceProperty = + 3002; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Axis1Type_Int32: + ETrackedDeviceProperty = + 3003; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Axis2Type_Int32: + ETrackedDeviceProperty = + 3004; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Axis3Type_Int32: + ETrackedDeviceProperty = + 3005; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_Axis4Type_Int32: + ETrackedDeviceProperty = + 3006; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32: + ETrackedDeviceProperty = + 3007; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float: + ETrackedDeviceProperty = + 4000; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float: + ETrackedDeviceProperty = + 4001; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float: + ETrackedDeviceProperty = + 4002; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float: + ETrackedDeviceProperty = + 4003; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float: + ETrackedDeviceProperty = + 4004; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float: + ETrackedDeviceProperty = + 4005; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_ModeLabel_String: + ETrackedDeviceProperty = + 4006; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_IconPathName_String: + ETrackedDeviceProperty = + 5000; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String: + ETrackedDeviceProperty = + 5001; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String: + ETrackedDeviceProperty = + 5002; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String: + ETrackedDeviceProperty = + 5003; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String: + ETrackedDeviceProperty = + 5004; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String: + ETrackedDeviceProperty = + 5005; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String: + ETrackedDeviceProperty = + 5006; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String: + ETrackedDeviceProperty = + 5007; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String: + ETrackedDeviceProperty = + 5008; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_Start: + ETrackedDeviceProperty = + 5100; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End: + ETrackedDeviceProperty = + 5150; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_UserConfigPath_String: + ETrackedDeviceProperty = + 6000; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_InstallPath_String: + ETrackedDeviceProperty = + 6001; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_HasDisplayComponent_Bool: + ETrackedDeviceProperty = + 6002; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_HasControllerComponent_Bool: + ETrackedDeviceProperty = + 6003; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_HasCameraComponent_Bool: + ETrackedDeviceProperty = + 6004; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool: + ETrackedDeviceProperty = + 6005; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool: + ETrackedDeviceProperty = + 6006; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start: + ETrackedDeviceProperty = + 10000; +pub const ETrackedDeviceProperty_ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End: + ETrackedDeviceProperty = + 10999; +pub type ETrackedDeviceProperty = ::std::os::raw::c_uint; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_Success: + ETrackedPropertyError = + 0; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_WrongDataType: + ETrackedPropertyError = + 1; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_WrongDeviceClass: + ETrackedPropertyError = + 2; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_BufferTooSmall: + ETrackedPropertyError = + 3; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_UnknownProperty: + ETrackedPropertyError = + 4; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_InvalidDevice: + ETrackedPropertyError = + 5; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_CouldNotContactServer: + ETrackedPropertyError = + 6; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice: + ETrackedPropertyError = + 7; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength: + ETrackedPropertyError = + 8; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_NotYetAvailable: + ETrackedPropertyError = + 9; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_PermissionDenied: + ETrackedPropertyError = + 10; +pub const ETrackedPropertyError_ETrackedPropertyError_TrackedProp_InvalidOperation: + ETrackedPropertyError = + 11; +pub type ETrackedPropertyError = ::std::os::raw::c_uint; +pub const EVRSubmitFlags_EVRSubmitFlags_Submit_Default: EVRSubmitFlags = 0; +pub const EVRSubmitFlags_EVRSubmitFlags_Submit_LensDistortionAlreadyApplied: + EVRSubmitFlags = + 1; +pub const EVRSubmitFlags_EVRSubmitFlags_Submit_GlRenderBuffer: EVRSubmitFlags + = + 2; +pub const EVRSubmitFlags_EVRSubmitFlags_Submit_Reserved: EVRSubmitFlags = 4; +pub type EVRSubmitFlags = ::std::os::raw::c_uint; +pub const EVRState_EVRState_VRState_Undefined: EVRState = -1; +pub const EVRState_EVRState_VRState_Off: EVRState = 0; +pub const EVRState_EVRState_VRState_Searching: EVRState = 1; +pub const EVRState_EVRState_VRState_Searching_Alert: EVRState = 2; +pub const EVRState_EVRState_VRState_Ready: EVRState = 3; +pub const EVRState_EVRState_VRState_Ready_Alert: EVRState = 4; +pub const EVRState_EVRState_VRState_NotReady: EVRState = 5; +pub const EVRState_EVRState_VRState_Standby: EVRState = 6; +pub const EVRState_EVRState_VRState_Ready_Alert_Low: EVRState = 7; +pub type EVRState = ::std::os::raw::c_int; +pub const EVREventType_EVREventType_VREvent_None: EVREventType = 0; +pub const EVREventType_EVREventType_VREvent_TrackedDeviceActivated: + EVREventType = + 100; +pub const EVREventType_EVREventType_VREvent_TrackedDeviceDeactivated: + EVREventType = + 101; +pub const EVREventType_EVREventType_VREvent_TrackedDeviceUpdated: EVREventType + = + 102; +pub const EVREventType_EVREventType_VREvent_TrackedDeviceUserInteractionStarted: + EVREventType = + 103; +pub const EVREventType_EVREventType_VREvent_TrackedDeviceUserInteractionEnded: + EVREventType = + 104; +pub const EVREventType_EVREventType_VREvent_IpdChanged: EVREventType = 105; +pub const EVREventType_EVREventType_VREvent_EnterStandbyMode: EVREventType = + 106; +pub const EVREventType_EVREventType_VREvent_LeaveStandbyMode: EVREventType = + 107; +pub const EVREventType_EVREventType_VREvent_TrackedDeviceRoleChanged: + EVREventType = + 108; +pub const EVREventType_EVREventType_VREvent_WatchdogWakeUpRequested: + EVREventType = + 109; +pub const EVREventType_EVREventType_VREvent_LensDistortionChanged: + EVREventType = + 110; +pub const EVREventType_EVREventType_VREvent_PropertyChanged: EVREventType = + 111; +pub const EVREventType_EVREventType_VREvent_ButtonPress: EVREventType = 200; +pub const EVREventType_EVREventType_VREvent_ButtonUnpress: EVREventType = 201; +pub const EVREventType_EVREventType_VREvent_ButtonTouch: EVREventType = 202; +pub const EVREventType_EVREventType_VREvent_ButtonUntouch: EVREventType = 203; +pub const EVREventType_EVREventType_VREvent_MouseMove: EVREventType = 300; +pub const EVREventType_EVREventType_VREvent_MouseButtonDown: EVREventType = + 301; +pub const EVREventType_EVREventType_VREvent_MouseButtonUp: EVREventType = 302; +pub const EVREventType_EVREventType_VREvent_FocusEnter: EVREventType = 303; +pub const EVREventType_EVREventType_VREvent_FocusLeave: EVREventType = 304; +pub const EVREventType_EVREventType_VREvent_Scroll: EVREventType = 305; +pub const EVREventType_EVREventType_VREvent_TouchPadMove: EVREventType = 306; +pub const EVREventType_EVREventType_VREvent_OverlayFocusChanged: EVREventType + = + 307; +pub const EVREventType_EVREventType_VREvent_InputFocusCaptured: EVREventType = + 400; +pub const EVREventType_EVREventType_VREvent_InputFocusReleased: EVREventType = + 401; +pub const EVREventType_EVREventType_VREvent_SceneFocusLost: EVREventType = + 402; +pub const EVREventType_EVREventType_VREvent_SceneFocusGained: EVREventType = + 403; +pub const EVREventType_EVREventType_VREvent_SceneApplicationChanged: + EVREventType = + 404; +pub const EVREventType_EVREventType_VREvent_SceneFocusChanged: EVREventType = + 405; +pub const EVREventType_EVREventType_VREvent_InputFocusChanged: EVREventType = + 406; +pub const EVREventType_EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted: + EVREventType = + 407; +pub const EVREventType_EVREventType_VREvent_HideRenderModels: EVREventType = + 410; +pub const EVREventType_EVREventType_VREvent_ShowRenderModels: EVREventType = + 411; +pub const EVREventType_EVREventType_VREvent_OverlayShown: EVREventType = 500; +pub const EVREventType_EVREventType_VREvent_OverlayHidden: EVREventType = 501; +pub const EVREventType_EVREventType_VREvent_DashboardActivated: EVREventType = + 502; +pub const EVREventType_EVREventType_VREvent_DashboardDeactivated: EVREventType + = + 503; +pub const EVREventType_EVREventType_VREvent_DashboardThumbSelected: + EVREventType = + 504; +pub const EVREventType_EVREventType_VREvent_DashboardRequested: EVREventType = + 505; +pub const EVREventType_EVREventType_VREvent_ResetDashboard: EVREventType = + 506; +pub const EVREventType_EVREventType_VREvent_RenderToast: EVREventType = 507; +pub const EVREventType_EVREventType_VREvent_ImageLoaded: EVREventType = 508; +pub const EVREventType_EVREventType_VREvent_ShowKeyboard: EVREventType = 509; +pub const EVREventType_EVREventType_VREvent_HideKeyboard: EVREventType = 510; +pub const EVREventType_EVREventType_VREvent_OverlayGamepadFocusGained: + EVREventType = + 511; +pub const EVREventType_EVREventType_VREvent_OverlayGamepadFocusLost: + EVREventType = + 512; +pub const EVREventType_EVREventType_VREvent_OverlaySharedTextureChanged: + EVREventType = + 513; +pub const EVREventType_EVREventType_VREvent_DashboardGuideButtonDown: + EVREventType = + 514; +pub const EVREventType_EVREventType_VREvent_DashboardGuideButtonUp: + EVREventType = + 515; +pub const EVREventType_EVREventType_VREvent_ScreenshotTriggered: EVREventType + = + 516; +pub const EVREventType_EVREventType_VREvent_ImageFailed: EVREventType = 517; +pub const EVREventType_EVREventType_VREvent_DashboardOverlayCreated: + EVREventType = + 518; +pub const EVREventType_EVREventType_VREvent_RequestScreenshot: EVREventType = + 520; +pub const EVREventType_EVREventType_VREvent_ScreenshotTaken: EVREventType = + 521; +pub const EVREventType_EVREventType_VREvent_ScreenshotFailed: EVREventType = + 522; +pub const EVREventType_EVREventType_VREvent_SubmitScreenshotToDashboard: + EVREventType = + 523; +pub const EVREventType_EVREventType_VREvent_ScreenshotProgressToDashboard: + EVREventType = + 524; +pub const EVREventType_EVREventType_VREvent_PrimaryDashboardDeviceChanged: + EVREventType = + 525; +pub const EVREventType_EVREventType_VREvent_Notification_Shown: EVREventType = + 600; +pub const EVREventType_EVREventType_VREvent_Notification_Hidden: EVREventType + = + 601; +pub const EVREventType_EVREventType_VREvent_Notification_BeginInteraction: + EVREventType = + 602; +pub const EVREventType_EVREventType_VREvent_Notification_Destroyed: + EVREventType = + 603; +pub const EVREventType_EVREventType_VREvent_Quit: EVREventType = 700; +pub const EVREventType_EVREventType_VREvent_ProcessQuit: EVREventType = 701; +pub const EVREventType_EVREventType_VREvent_QuitAborted_UserPrompt: + EVREventType = + 702; +pub const EVREventType_EVREventType_VREvent_QuitAcknowledged: EVREventType = + 703; +pub const EVREventType_EVREventType_VREvent_DriverRequestedQuit: EVREventType + = + 704; +pub const EVREventType_EVREventType_VREvent_ChaperoneDataHasChanged: + EVREventType = + 800; +pub const EVREventType_EVREventType_VREvent_ChaperoneUniverseHasChanged: + EVREventType = + 801; +pub const EVREventType_EVREventType_VREvent_ChaperoneTempDataHasChanged: + EVREventType = + 802; +pub const EVREventType_EVREventType_VREvent_ChaperoneSettingsHaveChanged: + EVREventType = + 803; +pub const EVREventType_EVREventType_VREvent_SeatedZeroPoseReset: EVREventType + = + 804; +pub const EVREventType_EVREventType_VREvent_AudioSettingsHaveChanged: + EVREventType = + 820; +pub const EVREventType_EVREventType_VREvent_BackgroundSettingHasChanged: + EVREventType = + 850; +pub const EVREventType_EVREventType_VREvent_CameraSettingsHaveChanged: + EVREventType = + 851; +pub const EVREventType_EVREventType_VREvent_ReprojectionSettingHasChanged: + EVREventType = + 852; +pub const EVREventType_EVREventType_VREvent_ModelSkinSettingsHaveChanged: + EVREventType = + 853; +pub const EVREventType_EVREventType_VREvent_EnvironmentSettingsHaveChanged: + EVREventType = + 854; +pub const EVREventType_EVREventType_VREvent_PowerSettingsHaveChanged: + EVREventType = + 855; +pub const EVREventType_EVREventType_VREvent_EnableHomeAppSettingsHaveChanged: + EVREventType = + 856; +pub const EVREventType_EVREventType_VREvent_StatusUpdate: EVREventType = 900; +pub const EVREventType_EVREventType_VREvent_MCImageUpdated: EVREventType = + 1000; +pub const EVREventType_EVREventType_VREvent_FirmwareUpdateStarted: + EVREventType = + 1100; +pub const EVREventType_EVREventType_VREvent_FirmwareUpdateFinished: + EVREventType = + 1101; +pub const EVREventType_EVREventType_VREvent_KeyboardClosed: EVREventType = + 1200; +pub const EVREventType_EVREventType_VREvent_KeyboardCharInput: EVREventType = + 1201; +pub const EVREventType_EVREventType_VREvent_KeyboardDone: EVREventType = 1202; +pub const EVREventType_EVREventType_VREvent_ApplicationTransitionStarted: + EVREventType = + 1300; +pub const EVREventType_EVREventType_VREvent_ApplicationTransitionAborted: + EVREventType = + 1301; +pub const EVREventType_EVREventType_VREvent_ApplicationTransitionNewAppStarted: + EVREventType = + 1302; +pub const EVREventType_EVREventType_VREvent_ApplicationListUpdated: + EVREventType = + 1303; +pub const EVREventType_EVREventType_VREvent_ApplicationMimeTypeLoad: + EVREventType = + 1304; +pub const EVREventType_EVREventType_VREvent_ApplicationTransitionNewAppLaunchComplete: + EVREventType = + 1305; +pub const EVREventType_EVREventType_VREvent_ProcessConnected: EVREventType = + 1306; +pub const EVREventType_EVREventType_VREvent_ProcessDisconnected: EVREventType + = + 1307; +pub const EVREventType_EVREventType_VREvent_Compositor_MirrorWindowShown: + EVREventType = + 1400; +pub const EVREventType_EVREventType_VREvent_Compositor_MirrorWindowHidden: + EVREventType = + 1401; +pub const EVREventType_EVREventType_VREvent_Compositor_ChaperoneBoundsShown: + EVREventType = + 1410; +pub const EVREventType_EVREventType_VREvent_Compositor_ChaperoneBoundsHidden: + EVREventType = + 1411; +pub const EVREventType_EVREventType_VREvent_TrackedCamera_StartVideoStream: + EVREventType = + 1500; +pub const EVREventType_EVREventType_VREvent_TrackedCamera_StopVideoStream: + EVREventType = + 1501; +pub const EVREventType_EVREventType_VREvent_TrackedCamera_PauseVideoStream: + EVREventType = + 1502; +pub const EVREventType_EVREventType_VREvent_TrackedCamera_ResumeVideoStream: + EVREventType = + 1503; +pub const EVREventType_EVREventType_VREvent_TrackedCamera_EditingSurface: + EVREventType = + 1550; +pub const EVREventType_EVREventType_VREvent_PerformanceTest_EnableCapture: + EVREventType = + 1600; +pub const EVREventType_EVREventType_VREvent_PerformanceTest_DisableCapture: + EVREventType = + 1601; +pub const EVREventType_EVREventType_VREvent_PerformanceTest_FidelityLevel: + EVREventType = + 1602; +pub const EVREventType_EVREventType_VREvent_MessageOverlay_Closed: + EVREventType = + 1650; +pub const EVREventType_EVREventType_VREvent_VendorSpecific_Reserved_Start: + EVREventType = + 10000; +pub const EVREventType_EVREventType_VREvent_VendorSpecific_Reserved_End: + EVREventType = + 19999; +pub type EVREventType = ::std::os::raw::c_uint; +pub const EDeviceActivityLevel_EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown: + EDeviceActivityLevel = + -1; +pub const EDeviceActivityLevel_EDeviceActivityLevel_k_EDeviceActivityLevel_Idle: + EDeviceActivityLevel = + 0; +pub const EDeviceActivityLevel_EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction: + EDeviceActivityLevel = + 1; +pub const EDeviceActivityLevel_EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout: + EDeviceActivityLevel = + 2; +pub const EDeviceActivityLevel_EDeviceActivityLevel_k_EDeviceActivityLevel_Standby: + EDeviceActivityLevel = + 3; +pub type EDeviceActivityLevel = ::std::os::raw::c_int; +pub const EVRButtonId_EVRButtonId_k_EButton_System: EVRButtonId = 0; +pub const EVRButtonId_EVRButtonId_k_EButton_ApplicationMenu: EVRButtonId = 1; +pub const EVRButtonId_EVRButtonId_k_EButton_Grip: EVRButtonId = 2; +pub const EVRButtonId_EVRButtonId_k_EButton_DPad_Left: EVRButtonId = 3; +pub const EVRButtonId_EVRButtonId_k_EButton_DPad_Up: EVRButtonId = 4; +pub const EVRButtonId_EVRButtonId_k_EButton_DPad_Right: EVRButtonId = 5; +pub const EVRButtonId_EVRButtonId_k_EButton_DPad_Down: EVRButtonId = 6; +pub const EVRButtonId_EVRButtonId_k_EButton_A: EVRButtonId = 7; +pub const EVRButtonId_EVRButtonId_k_EButton_ProximitySensor: EVRButtonId = 31; +pub const EVRButtonId_EVRButtonId_k_EButton_Axis0: EVRButtonId = 32; +pub const EVRButtonId_EVRButtonId_k_EButton_Axis1: EVRButtonId = 33; +pub const EVRButtonId_EVRButtonId_k_EButton_Axis2: EVRButtonId = 34; +pub const EVRButtonId_EVRButtonId_k_EButton_Axis3: EVRButtonId = 35; +pub const EVRButtonId_EVRButtonId_k_EButton_Axis4: EVRButtonId = 36; +pub const EVRButtonId_EVRButtonId_k_EButton_SteamVR_Touchpad: EVRButtonId = + 32; +pub const EVRButtonId_EVRButtonId_k_EButton_SteamVR_Trigger: EVRButtonId = 33; +pub const EVRButtonId_EVRButtonId_k_EButton_Dashboard_Back: EVRButtonId = 2; +pub const EVRButtonId_EVRButtonId_k_EButton_Max: EVRButtonId = 64; +pub type EVRButtonId = ::std::os::raw::c_uint; +pub const EVRMouseButton_EVRMouseButton_VRMouseButton_Left: EVRMouseButton = + 1; +pub const EVRMouseButton_EVRMouseButton_VRMouseButton_Right: EVRMouseButton = + 2; +pub const EVRMouseButton_EVRMouseButton_VRMouseButton_Middle: EVRMouseButton = + 4; +pub type EVRMouseButton = ::std::os::raw::c_uint; +pub const EHiddenAreaMeshType_EHiddenAreaMeshType_k_eHiddenAreaMesh_Standard: + EHiddenAreaMeshType = + 0; +pub const EHiddenAreaMeshType_EHiddenAreaMeshType_k_eHiddenAreaMesh_Inverse: + EHiddenAreaMeshType = + 1; +pub const EHiddenAreaMeshType_EHiddenAreaMeshType_k_eHiddenAreaMesh_LineLoop: + EHiddenAreaMeshType = + 2; +pub const EHiddenAreaMeshType_EHiddenAreaMeshType_k_eHiddenAreaMesh_Max: + EHiddenAreaMeshType = + 3; +pub type EHiddenAreaMeshType = ::std::os::raw::c_uint; +pub const EVRControllerAxisType_EVRControllerAxisType_k_eControllerAxis_None: + EVRControllerAxisType = + 0; +pub const EVRControllerAxisType_EVRControllerAxisType_k_eControllerAxis_TrackPad: + EVRControllerAxisType = + 1; +pub const EVRControllerAxisType_EVRControllerAxisType_k_eControllerAxis_Joystick: + EVRControllerAxisType = + 2; +pub const EVRControllerAxisType_EVRControllerAxisType_k_eControllerAxis_Trigger: + EVRControllerAxisType = + 3; +pub type EVRControllerAxisType = ::std::os::raw::c_uint; +pub const EVRControllerEventOutputType_EVRControllerEventOutputType_ControllerEventOutput_OSEvents: + EVRControllerEventOutputType = + 0; +pub const EVRControllerEventOutputType_EVRControllerEventOutputType_ControllerEventOutput_VREvents: + EVRControllerEventOutputType = + 1; +pub type EVRControllerEventOutputType = ::std::os::raw::c_uint; +pub const ECollisionBoundsStyle_ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER: + ECollisionBoundsStyle = + 0; +pub const ECollisionBoundsStyle_ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE: + ECollisionBoundsStyle = + 1; +pub const ECollisionBoundsStyle_ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES: + ECollisionBoundsStyle = + 2; +pub const ECollisionBoundsStyle_ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED: + ECollisionBoundsStyle = + 3; +pub const ECollisionBoundsStyle_ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE: + ECollisionBoundsStyle = + 4; +pub const ECollisionBoundsStyle_ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT: + ECollisionBoundsStyle = + 5; +pub type ECollisionBoundsStyle = ::std::os::raw::c_uint; +pub const EVROverlayError_EVROverlayError_VROverlayError_None: EVROverlayError + = + 0; +pub const EVROverlayError_EVROverlayError_VROverlayError_UnknownOverlay: + EVROverlayError = + 10; +pub const EVROverlayError_EVROverlayError_VROverlayError_InvalidHandle: + EVROverlayError = + 11; +pub const EVROverlayError_EVROverlayError_VROverlayError_PermissionDenied: + EVROverlayError = + 12; +pub const EVROverlayError_EVROverlayError_VROverlayError_OverlayLimitExceeded: + EVROverlayError = + 13; +pub const EVROverlayError_EVROverlayError_VROverlayError_WrongVisibilityType: + EVROverlayError = + 14; +pub const EVROverlayError_EVROverlayError_VROverlayError_KeyTooLong: + EVROverlayError = + 15; +pub const EVROverlayError_EVROverlayError_VROverlayError_NameTooLong: + EVROverlayError = + 16; +pub const EVROverlayError_EVROverlayError_VROverlayError_KeyInUse: + EVROverlayError = + 17; +pub const EVROverlayError_EVROverlayError_VROverlayError_WrongTransformType: + EVROverlayError = + 18; +pub const EVROverlayError_EVROverlayError_VROverlayError_InvalidTrackedDevice: + EVROverlayError = + 19; +pub const EVROverlayError_EVROverlayError_VROverlayError_InvalidParameter: + EVROverlayError = + 20; +pub const EVROverlayError_EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed: + EVROverlayError = + 21; +pub const EVROverlayError_EVROverlayError_VROverlayError_ArrayTooSmall: + EVROverlayError = + 22; +pub const EVROverlayError_EVROverlayError_VROverlayError_RequestFailed: + EVROverlayError = + 23; +pub const EVROverlayError_EVROverlayError_VROverlayError_InvalidTexture: + EVROverlayError = + 24; +pub const EVROverlayError_EVROverlayError_VROverlayError_UnableToLoadFile: + EVROverlayError = + 25; +pub const EVROverlayError_EVROverlayError_VROverlayError_KeyboardAlreadyInUse: + EVROverlayError = + 26; +pub const EVROverlayError_EVROverlayError_VROverlayError_NoNeighbor: + EVROverlayError = + 27; +pub const EVROverlayError_EVROverlayError_VROverlayError_TooManyMaskPrimitives: + EVROverlayError = + 29; +pub const EVROverlayError_EVROverlayError_VROverlayError_BadMaskPrimitive: + EVROverlayError = + 30; +pub type EVROverlayError = ::std::os::raw::c_uint; +pub const EVRApplicationType_EVRApplicationType_VRApplication_Other: + EVRApplicationType = + 0; +pub const EVRApplicationType_EVRApplicationType_VRApplication_Scene: + EVRApplicationType = + 1; +pub const EVRApplicationType_EVRApplicationType_VRApplication_Overlay: + EVRApplicationType = + 2; +pub const EVRApplicationType_EVRApplicationType_VRApplication_Background: + EVRApplicationType = + 3; +pub const EVRApplicationType_EVRApplicationType_VRApplication_Utility: + EVRApplicationType = + 4; +pub const EVRApplicationType_EVRApplicationType_VRApplication_VRMonitor: + EVRApplicationType = + 5; +pub const EVRApplicationType_EVRApplicationType_VRApplication_SteamWatchdog: + EVRApplicationType = + 6; +pub const EVRApplicationType_EVRApplicationType_VRApplication_Bootstrapper: + EVRApplicationType = + 7; +pub const EVRApplicationType_EVRApplicationType_VRApplication_Max: + EVRApplicationType = + 8; +pub type EVRApplicationType = ::std::os::raw::c_uint; +pub const EVRFirmwareError_EVRFirmwareError_VRFirmwareError_None: + EVRFirmwareError = + 0; +pub const EVRFirmwareError_EVRFirmwareError_VRFirmwareError_Success: + EVRFirmwareError = + 1; +pub const EVRFirmwareError_EVRFirmwareError_VRFirmwareError_Fail: + EVRFirmwareError = + 2; +pub type EVRFirmwareError = ::std::os::raw::c_uint; +pub const EVRNotificationError_EVRNotificationError_VRNotificationError_OK: + EVRNotificationError = + 0; +pub const EVRNotificationError_EVRNotificationError_VRNotificationError_InvalidNotificationId: + EVRNotificationError = + 100; +pub const EVRNotificationError_EVRNotificationError_VRNotificationError_NotificationQueueFull: + EVRNotificationError = + 101; +pub const EVRNotificationError_EVRNotificationError_VRNotificationError_InvalidOverlayHandle: + EVRNotificationError = + 102; +pub const EVRNotificationError_EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists: + EVRNotificationError = + 103; +pub type EVRNotificationError = ::std::os::raw::c_uint; +pub const EVRInitError_EVRInitError_VRInitError_None: EVRInitError = 0; +pub const EVRInitError_EVRInitError_VRInitError_Unknown: EVRInitError = 1; +pub const EVRInitError_EVRInitError_VRInitError_Init_InstallationNotFound: + EVRInitError = + 100; +pub const EVRInitError_EVRInitError_VRInitError_Init_InstallationCorrupt: + EVRInitError = + 101; +pub const EVRInitError_EVRInitError_VRInitError_Init_VRClientDLLNotFound: + EVRInitError = + 102; +pub const EVRInitError_EVRInitError_VRInitError_Init_FileNotFound: + EVRInitError = + 103; +pub const EVRInitError_EVRInitError_VRInitError_Init_FactoryNotFound: + EVRInitError = + 104; +pub const EVRInitError_EVRInitError_VRInitError_Init_InterfaceNotFound: + EVRInitError = + 105; +pub const EVRInitError_EVRInitError_VRInitError_Init_InvalidInterface: + EVRInitError = + 106; +pub const EVRInitError_EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid: + EVRInitError = + 107; +pub const EVRInitError_EVRInitError_VRInitError_Init_HmdNotFound: EVRInitError + = + 108; +pub const EVRInitError_EVRInitError_VRInitError_Init_NotInitialized: + EVRInitError = + 109; +pub const EVRInitError_EVRInitError_VRInitError_Init_PathRegistryNotFound: + EVRInitError = + 110; +pub const EVRInitError_EVRInitError_VRInitError_Init_NoConfigPath: + EVRInitError = + 111; +pub const EVRInitError_EVRInitError_VRInitError_Init_NoLogPath: EVRInitError = + 112; +pub const EVRInitError_EVRInitError_VRInitError_Init_PathRegistryNotWritable: + EVRInitError = + 113; +pub const EVRInitError_EVRInitError_VRInitError_Init_AppInfoInitFailed: + EVRInitError = + 114; +pub const EVRInitError_EVRInitError_VRInitError_Init_Retry: EVRInitError = + 115; +pub const EVRInitError_EVRInitError_VRInitError_Init_InitCanceledByUser: + EVRInitError = + 116; +pub const EVRInitError_EVRInitError_VRInitError_Init_AnotherAppLaunching: + EVRInitError = + 117; +pub const EVRInitError_EVRInitError_VRInitError_Init_SettingsInitFailed: + EVRInitError = + 118; +pub const EVRInitError_EVRInitError_VRInitError_Init_ShuttingDown: + EVRInitError = + 119; +pub const EVRInitError_EVRInitError_VRInitError_Init_TooManyObjects: + EVRInitError = + 120; +pub const EVRInitError_EVRInitError_VRInitError_Init_NoServerForBackgroundApp: + EVRInitError = + 121; +pub const EVRInitError_EVRInitError_VRInitError_Init_NotSupportedWithCompositor: + EVRInitError = + 122; +pub const EVRInitError_EVRInitError_VRInitError_Init_NotAvailableToUtilityApps: + EVRInitError = + 123; +pub const EVRInitError_EVRInitError_VRInitError_Init_Internal: EVRInitError = + 124; +pub const EVRInitError_EVRInitError_VRInitError_Init_HmdDriverIdIsNone: + EVRInitError = + 125; +pub const EVRInitError_EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed: + EVRInitError = + 126; +pub const EVRInitError_EVRInitError_VRInitError_Init_VRMonitorNotFound: + EVRInitError = + 127; +pub const EVRInitError_EVRInitError_VRInitError_Init_VRMonitorStartupFailed: + EVRInitError = + 128; +pub const EVRInitError_EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported: + EVRInitError = + 129; +pub const EVRInitError_EVRInitError_VRInitError_Init_InvalidApplicationType: + EVRInitError = + 130; +pub const EVRInitError_EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps: + EVRInitError = + 131; +pub const EVRInitError_EVRInitError_VRInitError_Init_WatchdogDisabledInSettings: + EVRInitError = + 132; +pub const EVRInitError_EVRInitError_VRInitError_Init_VRDashboardNotFound: + EVRInitError = + 133; +pub const EVRInitError_EVRInitError_VRInitError_Init_VRDashboardStartupFailed: + EVRInitError = + 134; +pub const EVRInitError_EVRInitError_VRInitError_Init_VRHomeNotFound: + EVRInitError = + 135; +pub const EVRInitError_EVRInitError_VRInitError_Init_VRHomeStartupFailed: + EVRInitError = + 136; +pub const EVRInitError_EVRInitError_VRInitError_Driver_Failed: EVRInitError = + 200; +pub const EVRInitError_EVRInitError_VRInitError_Driver_Unknown: EVRInitError = + 201; +pub const EVRInitError_EVRInitError_VRInitError_Driver_HmdUnknown: + EVRInitError = + 202; +pub const EVRInitError_EVRInitError_VRInitError_Driver_NotLoaded: EVRInitError + = + 203; +pub const EVRInitError_EVRInitError_VRInitError_Driver_RuntimeOutOfDate: + EVRInitError = + 204; +pub const EVRInitError_EVRInitError_VRInitError_Driver_HmdInUse: EVRInitError + = + 205; +pub const EVRInitError_EVRInitError_VRInitError_Driver_NotCalibrated: + EVRInitError = + 206; +pub const EVRInitError_EVRInitError_VRInitError_Driver_CalibrationInvalid: + EVRInitError = + 207; +pub const EVRInitError_EVRInitError_VRInitError_Driver_HmdDisplayNotFound: + EVRInitError = + 208; +pub const EVRInitError_EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown: + EVRInitError = + 209; +pub const EVRInitError_EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds: + EVRInitError = + 211; +pub const EVRInitError_EVRInitError_VRInitError_Driver_HmdDisplayMirrored: + EVRInitError = + 212; +pub const EVRInitError_EVRInitError_VRInitError_IPC_ServerInitFailed: + EVRInitError = + 300; +pub const EVRInitError_EVRInitError_VRInitError_IPC_ConnectFailed: + EVRInitError = + 301; +pub const EVRInitError_EVRInitError_VRInitError_IPC_SharedStateInitFailed: + EVRInitError = + 302; +pub const EVRInitError_EVRInitError_VRInitError_IPC_CompositorInitFailed: + EVRInitError = + 303; +pub const EVRInitError_EVRInitError_VRInitError_IPC_MutexInitFailed: + EVRInitError = + 304; +pub const EVRInitError_EVRInitError_VRInitError_IPC_Failed: EVRInitError = + 305; +pub const EVRInitError_EVRInitError_VRInitError_IPC_CompositorConnectFailed: + EVRInitError = + 306; +pub const EVRInitError_EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse: + EVRInitError = + 307; +pub const EVRInitError_EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts: + EVRInitError = + 308; +pub const EVRInitError_EVRInitError_VRInitError_Compositor_Failed: + EVRInitError = + 400; +pub const EVRInitError_EVRInitError_VRInitError_Compositor_D3D11HardwareRequired: + EVRInitError = + 401; +pub const EVRInitError_EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate: + EVRInitError = + 402; +pub const EVRInitError_EVRInitError_VRInitError_Compositor_OverlayInitFailed: + EVRInitError = + 403; +pub const EVRInitError_EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed: + EVRInitError = + 404; +pub const EVRInitError_EVRInitError_VRInitError_Compositor_UnableToCreateDevice: + EVRInitError = + 405; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime: + EVRInitError = + 1000; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice: + EVRInitError = + 1101; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart: + EVRInitError = + 1102; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig: + EVRInitError = + 1103; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig: + EVRInitError = + 1104; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall: + EVRInitError = + 1105; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib: + EVRInitError = + 1106; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion: + EVRInitError = + 1107; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart: + EVRInitError = + 1108; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart: + EVRInitError = + 1109; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext: + EVRInitError = + 1110; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange: + EVRInitError = + 1111; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError: + EVRInitError = + 1112; +pub const EVRInitError_EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck: + EVRInitError = + 1113; +pub const EVRInitError_EVRInitError_VRInitError_Steam_SteamInstallationNotFound: + EVRInitError = + 2000; +pub type EVRInitError = ::std::os::raw::c_uint; +pub const EVRScreenshotType_EVRScreenshotType_VRScreenshotType_None: + EVRScreenshotType = + 0; +pub const EVRScreenshotType_EVRScreenshotType_VRScreenshotType_Mono: + EVRScreenshotType = + 1; +pub const EVRScreenshotType_EVRScreenshotType_VRScreenshotType_Stereo: + EVRScreenshotType = + 2; +pub const EVRScreenshotType_EVRScreenshotType_VRScreenshotType_Cubemap: + EVRScreenshotType = + 3; +pub const EVRScreenshotType_EVRScreenshotType_VRScreenshotType_MonoPanorama: + EVRScreenshotType = + 4; +pub const EVRScreenshotType_EVRScreenshotType_VRScreenshotType_StereoPanorama: + EVRScreenshotType = + 5; +pub type EVRScreenshotType = ::std::os::raw::c_uint; +pub const EVRScreenshotPropertyFilenames_EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview: + EVRScreenshotPropertyFilenames = + 0; +pub const EVRScreenshotPropertyFilenames_EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR: + EVRScreenshotPropertyFilenames = + 1; +pub type EVRScreenshotPropertyFilenames = ::std::os::raw::c_uint; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_None: + EVRTrackedCameraError = + 0; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_OperationFailed: + EVRTrackedCameraError = + 100; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle: + EVRTrackedCameraError = + 101; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion: + EVRTrackedCameraError = + 102; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles: + EVRTrackedCameraError = + 103; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_IPCFailure: + EVRTrackedCameraError = + 104; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice: + EVRTrackedCameraError = + 105; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure: + EVRTrackedCameraError = + 106; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure: + EVRTrackedCameraError = + 107; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure: + EVRTrackedCameraError = + 108; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId: + EVRTrackedCameraError = + 109; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle: + EVRTrackedCameraError = + 110; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId: + EVRTrackedCameraError = + 111; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure: + EVRTrackedCameraError = + 112; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable: + EVRTrackedCameraError = + 113; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument: + EVRTrackedCameraError = + 114; +pub const EVRTrackedCameraError_EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize: + EVRTrackedCameraError = + 115; +pub type EVRTrackedCameraError = ::std::os::raw::c_uint; +pub const EVRTrackedCameraFrameType_EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted: + EVRTrackedCameraFrameType = + 0; +pub const EVRTrackedCameraFrameType_EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted: + EVRTrackedCameraFrameType = + 1; +pub const EVRTrackedCameraFrameType_EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted: + EVRTrackedCameraFrameType = + 2; +pub const EVRTrackedCameraFrameType_EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES: + EVRTrackedCameraFrameType = + 3; +pub type EVRTrackedCameraFrameType = ::std::os::raw::c_uint; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_None: + EVRApplicationError = + 0; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_AppKeyAlreadyExists: + EVRApplicationError = + 100; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_NoManifest: + EVRApplicationError = + 101; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_NoApplication: + EVRApplicationError = + 102; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_InvalidIndex: + EVRApplicationError = + 103; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_UnknownApplication: + EVRApplicationError = + 104; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_IPCFailed: + EVRApplicationError = + 105; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning: + EVRApplicationError = + 106; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_InvalidManifest: + EVRApplicationError = + 107; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_InvalidApplication: + EVRApplicationError = + 108; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_LaunchFailed: + EVRApplicationError = + 109; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting: + EVRApplicationError = + 110; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_LaunchInProgress: + EVRApplicationError = + 111; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_OldApplicationQuitting: + EVRApplicationError = + 112; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_TransitionAborted: + EVRApplicationError = + 113; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_IsTemplate: + EVRApplicationError = + 114; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_BufferTooSmall: + EVRApplicationError = + 200; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_PropertyNotSet: + EVRApplicationError = + 201; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_UnknownProperty: + EVRApplicationError = + 202; +pub const EVRApplicationError_EVRApplicationError_VRApplicationError_InvalidParameter: + EVRApplicationError = + 203; +pub type EVRApplicationError = ::std::os::raw::c_uint; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_Name_String: + EVRApplicationProperty = + 0; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_LaunchType_String: + EVRApplicationProperty = + 11; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String: + EVRApplicationProperty = + 12; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_BinaryPath_String: + EVRApplicationProperty = + 13; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_Arguments_String: + EVRApplicationProperty = + 14; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_URL_String: + EVRApplicationProperty = + 15; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_Description_String: + EVRApplicationProperty = + 50; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_NewsURL_String: + EVRApplicationProperty = + 51; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_ImagePath_String: + EVRApplicationProperty = + 52; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_Source_String: + EVRApplicationProperty = + 53; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool: + EVRApplicationProperty = + 60; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool: + EVRApplicationProperty = + 61; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool: + EVRApplicationProperty = + 62; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool: + EVRApplicationProperty = + 63; +pub const EVRApplicationProperty_EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64: + EVRApplicationProperty = + 70; +pub type EVRApplicationProperty = ::std::os::raw::c_uint; +pub const EVRApplicationTransitionState_EVRApplicationTransitionState_VRApplicationTransition_None: + EVRApplicationTransitionState = + 0; +pub const EVRApplicationTransitionState_EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent: + EVRApplicationTransitionState = + 10; +pub const EVRApplicationTransitionState_EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch: + EVRApplicationTransitionState = + 11; +pub const EVRApplicationTransitionState_EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched: + EVRApplicationTransitionState = + 20; +pub type EVRApplicationTransitionState = ::std::os::raw::c_uint; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_OK: + ChaperoneCalibrationState = + 1; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Warning: + ChaperoneCalibrationState = + 100; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved: + ChaperoneCalibrationState = + 101; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Warning_BaseStationRemoved: + ChaperoneCalibrationState = + 102; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Warning_SeatedBoundsInvalid: + ChaperoneCalibrationState = + 103; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Error: + ChaperoneCalibrationState = + 200; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Error_BaseStationUninitialized: + ChaperoneCalibrationState = + 201; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Error_BaseStationConflict: + ChaperoneCalibrationState = + 202; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Error_PlayAreaInvalid: + ChaperoneCalibrationState = + 203; +pub const ChaperoneCalibrationState_ChaperoneCalibrationState_Error_CollisionBoundsInvalid: + ChaperoneCalibrationState = + 204; +pub type ChaperoneCalibrationState = ::std::os::raw::c_uint; +pub const EChaperoneConfigFile_EChaperoneConfigFile_Live: EChaperoneConfigFile + = + 1; +pub const EChaperoneConfigFile_EChaperoneConfigFile_Temp: EChaperoneConfigFile + = + 2; +pub type EChaperoneConfigFile = ::std::os::raw::c_uint; +pub const EChaperoneImportFlags_EChaperoneImportFlags_EChaperoneImport_BoundsOnly: + EChaperoneImportFlags = + 1; +pub type EChaperoneImportFlags = ::std::os::raw::c_uint; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_None: + EVRCompositorError = + 0; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_RequestFailed: + EVRCompositorError = + 1; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_IncompatibleVersion: + EVRCompositorError = + 100; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_DoNotHaveFocus: + EVRCompositorError = + 101; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_InvalidTexture: + EVRCompositorError = + 102; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_IsNotSceneApplication: + EVRCompositorError = + 103; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice: + EVRCompositorError = + 104; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat: + EVRCompositorError = + 105; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_SharedTexturesNotSupported: + EVRCompositorError = + 106; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_IndexOutOfRange: + EVRCompositorError = + 107; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_AlreadySubmitted: + EVRCompositorError = + 108; +pub const EVRCompositorError_EVRCompositorError_VRCompositorError_InvalidBounds: + EVRCompositorError = + 109; +pub type EVRCompositorError = ::std::os::raw::c_uint; +pub const VROverlayInputMethod_VROverlayInputMethod_None: VROverlayInputMethod + = + 0; +pub const VROverlayInputMethod_VROverlayInputMethod_Mouse: + VROverlayInputMethod = + 1; +pub type VROverlayInputMethod = ::std::os::raw::c_uint; +pub const VROverlayTransformType_VROverlayTransformType_VROverlayTransform_Absolute: + VROverlayTransformType = + 0; +pub const VROverlayTransformType_VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative: + VROverlayTransformType = + 1; +pub const VROverlayTransformType_VROverlayTransformType_VROverlayTransform_SystemOverlay: + VROverlayTransformType = + 2; +pub const VROverlayTransformType_VROverlayTransformType_VROverlayTransform_TrackedComponent: + VROverlayTransformType = + 3; +pub type VROverlayTransformType = ::std::os::raw::c_uint; +pub const VROverlayFlags_VROverlayFlags_None: VROverlayFlags = 0; +pub const VROverlayFlags_VROverlayFlags_Curved: VROverlayFlags = 1; +pub const VROverlayFlags_VROverlayFlags_RGSS4X: VROverlayFlags = 2; +pub const VROverlayFlags_VROverlayFlags_NoDashboardTab: VROverlayFlags = 3; +pub const VROverlayFlags_VROverlayFlags_AcceptsGamepadEvents: VROverlayFlags = + 4; +pub const VROverlayFlags_VROverlayFlags_ShowGamepadFocus: VROverlayFlags = 5; +pub const VROverlayFlags_VROverlayFlags_SendVRScrollEvents: VROverlayFlags = + 6; +pub const VROverlayFlags_VROverlayFlags_SendVRTouchpadEvents: VROverlayFlags = + 7; +pub const VROverlayFlags_VROverlayFlags_ShowTouchPadScrollWheel: + VROverlayFlags = + 8; +pub const VROverlayFlags_VROverlayFlags_TransferOwnershipToInternalProcess: + VROverlayFlags = + 9; +pub const VROverlayFlags_VROverlayFlags_SideBySide_Parallel: VROverlayFlags = + 10; +pub const VROverlayFlags_VROverlayFlags_SideBySide_Crossed: VROverlayFlags = + 11; +pub const VROverlayFlags_VROverlayFlags_Panorama: VROverlayFlags = 12; +pub const VROverlayFlags_VROverlayFlags_StereoPanorama: VROverlayFlags = 13; +pub const VROverlayFlags_VROverlayFlags_SortWithNonSceneOverlays: + VROverlayFlags = + 14; +pub const VROverlayFlags_VROverlayFlags_VisibleInDashboard: VROverlayFlags = + 15; +pub type VROverlayFlags = ::std::os::raw::c_uint; +pub const VRMessageOverlayResponse_VRMessageOverlayResponse_ButtonPress_0: + VRMessageOverlayResponse = + 0; +pub const VRMessageOverlayResponse_VRMessageOverlayResponse_ButtonPress_1: + VRMessageOverlayResponse = + 1; +pub const VRMessageOverlayResponse_VRMessageOverlayResponse_ButtonPress_2: + VRMessageOverlayResponse = + 2; +pub const VRMessageOverlayResponse_VRMessageOverlayResponse_ButtonPress_3: + VRMessageOverlayResponse = + 3; +pub const VRMessageOverlayResponse_VRMessageOverlayResponse_CouldntFindSystemOverlay: + VRMessageOverlayResponse = + 4; +pub const VRMessageOverlayResponse_VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay: + VRMessageOverlayResponse = + 5; +pub const VRMessageOverlayResponse_VRMessageOverlayResponse_ApplicationQuit: + VRMessageOverlayResponse = + 6; +pub type VRMessageOverlayResponse = ::std::os::raw::c_uint; +pub const EGamepadTextInputMode_EGamepadTextInputMode_k_EGamepadTextInputModeNormal: + EGamepadTextInputMode = + 0; +pub const EGamepadTextInputMode_EGamepadTextInputMode_k_EGamepadTextInputModePassword: + EGamepadTextInputMode = + 1; +pub const EGamepadTextInputMode_EGamepadTextInputMode_k_EGamepadTextInputModeSubmit: + EGamepadTextInputMode = + 2; +pub type EGamepadTextInputMode = ::std::os::raw::c_uint; +pub const EGamepadTextInputLineMode_EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine: + EGamepadTextInputLineMode = + 0; +pub const EGamepadTextInputLineMode_EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines: + EGamepadTextInputLineMode = + 1; +pub type EGamepadTextInputLineMode = ::std::os::raw::c_uint; +pub const EOverlayDirection_EOverlayDirection_OverlayDirection_Up: + EOverlayDirection = + 0; +pub const EOverlayDirection_EOverlayDirection_OverlayDirection_Down: + EOverlayDirection = + 1; +pub const EOverlayDirection_EOverlayDirection_OverlayDirection_Left: + EOverlayDirection = + 2; +pub const EOverlayDirection_EOverlayDirection_OverlayDirection_Right: + EOverlayDirection = + 3; +pub const EOverlayDirection_EOverlayDirection_OverlayDirection_Count: + EOverlayDirection = + 4; +pub type EOverlayDirection = ::std::os::raw::c_uint; +pub const EVROverlayIntersectionMaskPrimitiveType_EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Rectangle: + EVROverlayIntersectionMaskPrimitiveType = + 0; +pub const EVROverlayIntersectionMaskPrimitiveType_EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Circle: + EVROverlayIntersectionMaskPrimitiveType = + 1; +pub type EVROverlayIntersectionMaskPrimitiveType = ::std::os::raw::c_uint; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_None: + EVRRenderModelError = + 0; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_Loading: + EVRRenderModelError = + 100; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_NotSupported: + EVRRenderModelError = + 200; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_InvalidArg: + EVRRenderModelError = + 300; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_InvalidModel: + EVRRenderModelError = + 301; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_NoShapes: + EVRRenderModelError = + 302; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_MultipleShapes: + EVRRenderModelError = + 303; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_TooManyVertices: + EVRRenderModelError = + 304; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_MultipleTextures: + EVRRenderModelError = + 305; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_BufferTooSmall: + EVRRenderModelError = + 306; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_NotEnoughNormals: + EVRRenderModelError = + 307; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords: + EVRRenderModelError = + 308; +pub const EVRRenderModelError_EVRRenderModelError_VRRenderModelError_InvalidTexture: + EVRRenderModelError = + 400; +pub type EVRRenderModelError = ::std::os::raw::c_uint; +pub const EVRComponentProperty_EVRComponentProperty_VRComponentProperty_IsStatic: + EVRComponentProperty = + 1; +pub const EVRComponentProperty_EVRComponentProperty_VRComponentProperty_IsVisible: + EVRComponentProperty = + 2; +pub const EVRComponentProperty_EVRComponentProperty_VRComponentProperty_IsTouched: + EVRComponentProperty = + 4; +pub const EVRComponentProperty_EVRComponentProperty_VRComponentProperty_IsPressed: + EVRComponentProperty = + 8; +pub const EVRComponentProperty_EVRComponentProperty_VRComponentProperty_IsScrolled: + EVRComponentProperty = + 16; +pub type EVRComponentProperty = ::std::os::raw::c_uint; +pub const EVRNotificationType_EVRNotificationType_Transient: + EVRNotificationType = + 0; +pub const EVRNotificationType_EVRNotificationType_Persistent: + EVRNotificationType = + 1; +pub const EVRNotificationType_EVRNotificationType_Transient_SystemWithUserValue: + EVRNotificationType = + 2; +pub type EVRNotificationType = ::std::os::raw::c_uint; +pub const EVRNotificationStyle_EVRNotificationStyle_None: EVRNotificationStyle + = + 0; +pub const EVRNotificationStyle_EVRNotificationStyle_Application: + EVRNotificationStyle = + 100; +pub const EVRNotificationStyle_EVRNotificationStyle_Contact_Disabled: + EVRNotificationStyle = + 200; +pub const EVRNotificationStyle_EVRNotificationStyle_Contact_Enabled: + EVRNotificationStyle = + 201; +pub const EVRNotificationStyle_EVRNotificationStyle_Contact_Active: + EVRNotificationStyle = + 202; +pub type EVRNotificationStyle = ::std::os::raw::c_uint; +pub const EVRSettingsError_EVRSettingsError_VRSettingsError_None: + EVRSettingsError = + 0; +pub const EVRSettingsError_EVRSettingsError_VRSettingsError_IPCFailed: + EVRSettingsError = + 1; +pub const EVRSettingsError_EVRSettingsError_VRSettingsError_WriteFailed: + EVRSettingsError = + 2; +pub const EVRSettingsError_EVRSettingsError_VRSettingsError_ReadFailed: + EVRSettingsError = + 3; +pub const EVRSettingsError_EVRSettingsError_VRSettingsError_JsonParseFailed: + EVRSettingsError = + 4; +pub const EVRSettingsError_EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault: + EVRSettingsError = + 5; +pub type EVRSettingsError = ::std::os::raw::c_uint; +pub const EVRScreenshotError_EVRScreenshotError_VRScreenshotError_None: + EVRScreenshotError = + 0; +pub const EVRScreenshotError_EVRScreenshotError_VRScreenshotError_RequestFailed: + EVRScreenshotError = + 1; +pub const EVRScreenshotError_EVRScreenshotError_VRScreenshotError_IncompatibleVersion: + EVRScreenshotError = + 100; +pub const EVRScreenshotError_EVRScreenshotError_VRScreenshotError_NotFound: + EVRScreenshotError = + 101; +pub const EVRScreenshotError_EVRScreenshotError_VRScreenshotError_BufferTooSmall: + EVRScreenshotError = + 102; +pub const EVRScreenshotError_EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress: + EVRScreenshotError = + 108; +pub type EVRScreenshotError = ::std::os::raw::c_uint; +pub type TrackedDeviceIndex_t = u32; +pub type VRNotificationId = u32; +pub type VROverlayHandle_t = u64; pub type glSharedTextureHandle_t = *mut ::std::os::raw::c_void; -pub type glInt_t = int32_t; -pub type glUInt_t = uint32_t; -pub type TrackedCameraHandle_t = uint64_t; -pub type ScreenshotHandle_t = uint32_t; -pub type VRComponentProperties = uint32_t; -pub type TextureID_t = int32_t; -pub type HmdError = EVRInitError; -pub type Hmd_Eye = EVREye; -pub type GraphicsAPIConvention = EGraphicsAPIConvention; -pub type ColorSpace = EColorSpace; -pub type HmdTrackingResult = ETrackingResult; -pub type TrackedDeviceClass = ETrackedDeviceClass; -pub type TrackingUniverseOrigin = ETrackingUniverseOrigin; -pub type TrackedDeviceProperty = ETrackedDeviceProperty; -pub type TrackedPropertyError = ETrackedPropertyError; -pub type VRSubmitFlags_t = EVRSubmitFlags; -pub type VRState_t = EVRState; -pub type CollisionBoundsStyle_t = ECollisionBoundsStyle; -pub type VROverlayError = EVROverlayError; -pub type VRFirmwareError = EVRFirmwareError; -pub type VRCompositorError = EVRCompositorError; -pub type VRScreenshotsError = EVRScreenshotError; -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +pub type glInt_t = i32; +pub type glUInt_t = u32; +pub type SharedTextureHandle_t = u64; +pub type DriverId_t = u32; +pub type TrackedCameraHandle_t = u64; +pub type ScreenshotHandle_t = u32; +pub type VRComponentProperties = u32; +pub type TextureID_t = i32; +pub use self::EVRInitError as HmdError; +pub use self::EVREye as Hmd_Eye; +pub use self::EColorSpace as ColorSpace; +pub use self::ETrackingResult as HmdTrackingResult; +pub use self::ETrackedDeviceClass as TrackedDeviceClass; +pub use self::ETrackingUniverseOrigin as TrackingUniverseOrigin; +pub use self::ETrackedDeviceProperty as TrackedDeviceProperty; +pub use self::ETrackedPropertyError as TrackedPropertyError; +pub use self::EVRSubmitFlags as VRSubmitFlags_t; +pub use self::EVRState as VRState_t; +pub use self::ECollisionBoundsStyle as CollisionBoundsStyle_t; +pub use self::EVROverlayError as VROverlayError; +pub use self::EVRFirmwareError as VRFirmwareError; +pub use self::EVRCompositorError as VRCompositorError; +pub use self::EVRScreenshotError as VRScreenshotsError; +#[repr(C)] +#[derive(Debug, Copy)] pub struct HmdMatrix34_t { - pub m: [[::std::os::raw::c_float; 4usize]; 3usize], -} -impl ::std::default::Default for HmdMatrix34_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub m: [[f32; 4usize]; 3usize], +} +#[test] +fn bindgen_test_layout_HmdMatrix34_t() { + assert_eq!(::std::mem::size_of::() , 48usize , concat ! ( + "Size of: " , stringify ! ( HmdMatrix34_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( HmdMatrix34_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdMatrix34_t ) ) . m as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdMatrix34_t ) , "::" + , stringify ! ( m ) )); +} +impl Clone for HmdMatrix34_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdMatrix44_t { - pub m: [[::std::os::raw::c_float; 4usize]; 4usize], -} -impl ::std::default::Default for HmdMatrix44_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub m: [[f32; 4usize]; 4usize], +} +#[test] +fn bindgen_test_layout_HmdMatrix44_t() { + assert_eq!(::std::mem::size_of::() , 64usize , concat ! ( + "Size of: " , stringify ! ( HmdMatrix44_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( HmdMatrix44_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdMatrix44_t ) ) . m as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdMatrix44_t ) , "::" + , stringify ! ( m ) )); +} +impl Clone for HmdMatrix44_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdVector3_t { - pub v: [::std::os::raw::c_float; 3usize], -} -impl ::std::default::Default for HmdVector3_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub v: [f32; 3usize], +} +#[test] +fn bindgen_test_layout_HmdVector3_t() { + assert_eq!(::std::mem::size_of::() , 12usize , concat ! ( + "Size of: " , stringify ! ( HmdVector3_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( HmdVector3_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdVector3_t ) ) . v as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdVector3_t ) , "::" , + stringify ! ( v ) )); +} +impl Clone for HmdVector3_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdVector4_t { - pub v: [::std::os::raw::c_float; 4usize], -} -impl ::std::default::Default for HmdVector4_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub v: [f32; 4usize], +} +#[test] +fn bindgen_test_layout_HmdVector4_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( + "Size of: " , stringify ! ( HmdVector4_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( HmdVector4_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdVector4_t ) ) . v as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdVector4_t ) , "::" , + stringify ! ( v ) )); +} +impl Clone for HmdVector4_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdVector3d_t { - pub v: [::std::os::raw::c_double; 3usize], -} -impl ::std::default::Default for HmdVector3d_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub v: [f64; 3usize], +} +#[test] +fn bindgen_test_layout_HmdVector3d_t() { + assert_eq!(::std::mem::size_of::() , 24usize , concat ! ( + "Size of: " , stringify ! ( HmdVector3d_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( + "Alignment of " , stringify ! ( HmdVector3d_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdVector3d_t ) ) . v as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdVector3d_t ) , "::" + , stringify ! ( v ) )); +} +impl Clone for HmdVector3d_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdVector2_t { - pub v: [::std::os::raw::c_float; 2usize], -} -impl ::std::default::Default for HmdVector2_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub v: [f32; 2usize], +} +#[test] +fn bindgen_test_layout_HmdVector2_t() { + assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( + "Size of: " , stringify ! ( HmdVector2_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( HmdVector2_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdVector2_t ) ) . v as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdVector2_t ) , "::" , + stringify ! ( v ) )); +} +impl Clone for HmdVector2_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdQuaternion_t { - pub w: ::std::os::raw::c_double, - pub x: ::std::os::raw::c_double, - pub y: ::std::os::raw::c_double, - pub z: ::std::os::raw::c_double, -} -impl ::std::default::Default for HmdQuaternion_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub w: f64, + pub x: f64, + pub y: f64, + pub z: f64, +} +#[test] +fn bindgen_test_layout_HmdQuaternion_t() { + assert_eq!(::std::mem::size_of::() , 32usize , concat ! ( + "Size of: " , stringify ! ( HmdQuaternion_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat ! + ( "Alignment of " , stringify ! ( HmdQuaternion_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdQuaternion_t ) ) . w as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdQuaternion_t ) , + "::" , stringify ! ( w ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdQuaternion_t ) ) . x as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdQuaternion_t ) , + "::" , stringify ! ( x ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdQuaternion_t ) ) . y as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdQuaternion_t ) , + "::" , stringify ! ( y ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdQuaternion_t ) ) . z as * const _ as + usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdQuaternion_t ) , + "::" , stringify ! ( z ) )); +} +impl Clone for HmdQuaternion_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdColor_t { - pub r: ::std::os::raw::c_float, - pub g: ::std::os::raw::c_float, - pub b: ::std::os::raw::c_float, - pub a: ::std::os::raw::c_float, -} -impl ::std::default::Default for HmdColor_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub r: f32, + pub g: f32, + pub b: f32, + pub a: f32, +} +#[test] +fn bindgen_test_layout_HmdColor_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( + "Size of: " , stringify ! ( HmdColor_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( HmdColor_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdColor_t ) ) . r as * const _ as usize + } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdColor_t ) , "::" , + stringify ! ( r ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdColor_t ) ) . g as * const _ as usize + } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdColor_t ) , "::" , + stringify ! ( g ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdColor_t ) ) . b as * const _ as usize + } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdColor_t ) , "::" , + stringify ! ( b ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdColor_t ) ) . a as * const _ as usize + } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdColor_t ) , "::" , + stringify ! ( a ) )); +} +impl Clone for HmdColor_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdQuad_t { pub vCorners: [HmdVector3_t; 4usize], } -impl ::std::default::Default for HmdQuad_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_HmdQuad_t() { + assert_eq!(::std::mem::size_of::() , 48usize , concat ! ( + "Size of: " , stringify ! ( HmdQuad_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( HmdQuad_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdQuad_t ) ) . vCorners as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdQuad_t ) , "::" , + stringify ! ( vCorners ) )); +} +impl Clone for HmdQuad_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HmdRect2_t { pub vTopLeft: HmdVector2_t, pub vBottomRight: HmdVector2_t, } -impl ::std::default::Default for HmdRect2_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_HmdRect2_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( + "Size of: " , stringify ! ( HmdRect2_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( HmdRect2_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdRect2_t ) ) . vTopLeft as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdRect2_t ) , "::" , + stringify ! ( vTopLeft ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HmdRect2_t ) ) . vBottomRight as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( HmdRect2_t ) , "::" , + stringify ! ( vBottomRight ) )); +} +impl Clone for HmdRect2_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct DistortionCoordinates_t { - pub rfRed: [::std::os::raw::c_float; 2usize], - pub rfGreen: [::std::os::raw::c_float; 2usize], - pub rfBlue: [::std::os::raw::c_float; 2usize], -} -impl ::std::default::Default for DistortionCoordinates_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub rfRed: [f32; 2usize], + pub rfGreen: [f32; 2usize], + pub rfBlue: [f32; 2usize], +} +#[test] +fn bindgen_test_layout_DistortionCoordinates_t() { + assert_eq!(::std::mem::size_of::() , 24usize , + concat ! ( + "Size of: " , stringify ! ( DistortionCoordinates_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( DistortionCoordinates_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DistortionCoordinates_t ) ) . rfRed as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( DistortionCoordinates_t + ) , "::" , stringify ! ( rfRed ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DistortionCoordinates_t ) ) . rfGreen as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( DistortionCoordinates_t + ) , "::" , stringify ! ( rfGreen ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DistortionCoordinates_t ) ) . rfBlue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( DistortionCoordinates_t + ) , "::" , stringify ! ( rfBlue ) )); +} +impl Clone for DistortionCoordinates_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct Texture_t { pub handle: *mut ::std::os::raw::c_void, - pub eType: EGraphicsAPIConvention, + pub eType: ETextureType, pub eColorSpace: EColorSpace, } -impl ::std::default::Default for Texture_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_Texture_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( + "Size of: " , stringify ! ( Texture_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( + "Alignment of " , stringify ! ( Texture_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Texture_t ) ) . handle as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Texture_t ) , "::" , + stringify ! ( handle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Texture_t ) ) . eType as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( Texture_t ) , "::" , + stringify ! ( eType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Texture_t ) ) . eColorSpace as * const _ + as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( Texture_t ) , "::" , + stringify ! ( eColorSpace ) )); +} +impl Clone for Texture_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct TrackedDevicePose_t { pub mDeviceToAbsoluteTracking: HmdMatrix34_t, pub vVelocity: HmdVector3_t, pub vAngularVelocity: HmdVector3_t, pub eTrackingResult: ETrackingResult, - pub bPoseIsValid: ::std::os::raw::c_int, - pub bDeviceIsConnected: ::std::os::raw::c_int, -} -impl ::std::default::Default for TrackedDevicePose_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub bPoseIsValid: bool, + pub bDeviceIsConnected: bool, +} +#[test] +fn bindgen_test_layout_TrackedDevicePose_t() { + assert_eq!(::std::mem::size_of::() , 80usize , concat + ! ( "Size of: " , stringify ! ( TrackedDevicePose_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( TrackedDevicePose_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const TrackedDevicePose_t ) ) . + mDeviceToAbsoluteTracking as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( TrackedDevicePose_t ) , + "::" , stringify ! ( mDeviceToAbsoluteTracking ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const TrackedDevicePose_t ) ) . vVelocity as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( TrackedDevicePose_t ) , + "::" , stringify ! ( vVelocity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const TrackedDevicePose_t ) ) . + vAngularVelocity as * const _ as usize } , 60usize , concat ! + ( + "Alignment of field: " , stringify ! ( TrackedDevicePose_t ) , + "::" , stringify ! ( vAngularVelocity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const TrackedDevicePose_t ) ) . eTrackingResult + as * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( TrackedDevicePose_t ) , + "::" , stringify ! ( eTrackingResult ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const TrackedDevicePose_t ) ) . bPoseIsValid as + * const _ as usize } , 76usize , concat ! ( + "Alignment of field: " , stringify ! ( TrackedDevicePose_t ) , + "::" , stringify ! ( bPoseIsValid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const TrackedDevicePose_t ) ) . + bDeviceIsConnected as * const _ as usize } , 77usize , concat + ! ( + "Alignment of field: " , stringify ! ( TrackedDevicePose_t ) , + "::" , stringify ! ( bDeviceIsConnected ) )); +} +impl Clone for TrackedDevicePose_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VRTextureBounds_t { - pub uMin: ::std::os::raw::c_float, - pub vMin: ::std::os::raw::c_float, - pub uMax: ::std::os::raw::c_float, - pub vMax: ::std::os::raw::c_float, + pub uMin: f32, + pub vMin: f32, + pub uMax: f32, + pub vMax: f32, +} +#[test] +fn bindgen_test_layout_VRTextureBounds_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat ! + ( "Size of: " , stringify ! ( VRTextureBounds_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat + ! ( "Alignment of " , stringify ! ( VRTextureBounds_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRTextureBounds_t ) ) . uMin as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VRTextureBounds_t ) , + "::" , stringify ! ( uMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRTextureBounds_t ) ) . vMin as * const _ + as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( VRTextureBounds_t ) , + "::" , stringify ! ( vMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRTextureBounds_t ) ) . uMax as * const _ + as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VRTextureBounds_t ) , + "::" , stringify ! ( uMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRTextureBounds_t ) ) . vMax as * const _ + as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( VRTextureBounds_t ) , + "::" , stringify ! ( vMax ) )); +} +impl Clone for VRTextureBounds_t { + fn clone(&self) -> Self { *self } } -impl ::std::default::Default for VRTextureBounds_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VRVulkanTextureData_t { + pub m_nImage: u64, + pub m_pDevice: *mut VkDevice_T, + pub m_pPhysicalDevice: *mut VkPhysicalDevice_T, + pub m_pInstance: *mut VkInstance_T, + pub m_pQueue: *mut VkQueue_T, + pub m_nQueueFamilyIndex: u32, + pub m_nWidth: u32, + pub m_nHeight: u32, + pub m_nFormat: u32, + pub m_nSampleCount: u32, +} +#[test] +fn bindgen_test_layout_VRVulkanTextureData_t() { + assert_eq!(::std::mem::size_of::() , 64usize , + concat ! ( "Size of: " , stringify ! ( VRVulkanTextureData_t ) + )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VRVulkanTextureData_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . m_nImage as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_nImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . m_pDevice as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_pDevice ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . + m_pPhysicalDevice as * const _ as usize } , 16usize , concat ! + ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_pPhysicalDevice ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . m_pInstance + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_pInstance ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . m_pQueue as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_pQueue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . + m_nQueueFamilyIndex as * const _ as usize } , 40usize , concat + ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_nQueueFamilyIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . m_nWidth as * + const _ as usize } , 44usize , concat ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_nWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . m_nHeight as + * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_nHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . m_nFormat as + * const _ as usize } , 52usize , concat ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_nFormat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRVulkanTextureData_t ) ) . + m_nSampleCount as * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( VRVulkanTextureData_t ) + , "::" , stringify ! ( m_nSampleCount ) )); +} +impl Clone for VRVulkanTextureData_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct VREvent_Controller_t { - pub button: uint32_t, +#[derive(Debug, Copy)] +pub struct D3D12TextureData_t { + pub m_pResource: *mut ID3D12Resource, + pub m_pCommandQueue: *mut ID3D12CommandQueue, + pub m_nNodeMask: u32, +} +#[test] +fn bindgen_test_layout_D3D12TextureData_t() { + assert_eq!(::std::mem::size_of::() , 24usize , concat + ! ( "Size of: " , stringify ! ( D3D12TextureData_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat + ! ( "Alignment of " , stringify ! ( D3D12TextureData_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const D3D12TextureData_t ) ) . m_pResource as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( D3D12TextureData_t ) , + "::" , stringify ! ( m_pResource ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const D3D12TextureData_t ) ) . m_pCommandQueue + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( D3D12TextureData_t ) , + "::" , stringify ! ( m_pCommandQueue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const D3D12TextureData_t ) ) . m_nNodeMask as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( D3D12TextureData_t ) , + "::" , stringify ! ( m_nNodeMask ) )); +} +impl Clone for D3D12TextureData_t { + fn clone(&self) -> Self { *self } } -impl ::std::default::Default for VREvent_Controller_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VREvent_Controller_t { + pub button: u32, +} +#[test] +fn bindgen_test_layout_VREvent_Controller_t() { + assert_eq!(::std::mem::size_of::() , 4usize , concat + ! ( "Size of: " , stringify ! ( VREvent_Controller_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( VREvent_Controller_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Controller_t ) ) . button as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Controller_t ) + , "::" , stringify ! ( button ) )); +} +impl Clone for VREvent_Controller_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Mouse_t { - pub x: ::std::os::raw::c_float, - pub y: ::std::os::raw::c_float, - pub button: uint32_t, -} -impl ::std::default::Default for VREvent_Mouse_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub x: f32, + pub y: f32, + pub button: u32, +} +#[test] +fn bindgen_test_layout_VREvent_Mouse_t() { + assert_eq!(::std::mem::size_of::() , 12usize , concat ! ( + "Size of: " , stringify ! ( VREvent_Mouse_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! + ( "Alignment of " , stringify ! ( VREvent_Mouse_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Mouse_t ) ) . x as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Mouse_t ) , + "::" , stringify ! ( x ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Mouse_t ) ) . y as * const _ as + usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Mouse_t ) , + "::" , stringify ! ( y ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Mouse_t ) ) . button as * const _ + as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Mouse_t ) , + "::" , stringify ! ( button ) )); +} +impl Clone for VREvent_Mouse_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Scroll_t { - pub xdelta: ::std::os::raw::c_float, - pub ydelta: ::std::os::raw::c_float, - pub repeatCount: uint32_t, -} -impl ::std::default::Default for VREvent_Scroll_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub xdelta: f32, + pub ydelta: f32, + pub repeatCount: u32, +} +#[test] +fn bindgen_test_layout_VREvent_Scroll_t() { + assert_eq!(::std::mem::size_of::() , 12usize , concat ! + ( "Size of: " , stringify ! ( VREvent_Scroll_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! + ( "Alignment of " , stringify ! ( VREvent_Scroll_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Scroll_t ) ) . xdelta as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Scroll_t ) , + "::" , stringify ! ( xdelta ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Scroll_t ) ) . ydelta as * const + _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Scroll_t ) , + "::" , stringify ! ( ydelta ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Scroll_t ) ) . repeatCount as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Scroll_t ) , + "::" , stringify ! ( repeatCount ) )); +} +impl Clone for VREvent_Scroll_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_TouchPadMove_t { - pub bFingerDown: ::std::os::raw::c_int, - pub flSecondsFingerDown: ::std::os::raw::c_float, - pub fValueXFirst: ::std::os::raw::c_float, - pub fValueYFirst: ::std::os::raw::c_float, - pub fValueXRaw: ::std::os::raw::c_float, - pub fValueYRaw: ::std::os::raw::c_float, -} -impl ::std::default::Default for VREvent_TouchPadMove_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub bFingerDown: bool, + pub flSecondsFingerDown: f32, + pub fValueXFirst: f32, + pub fValueYFirst: f32, + pub fValueXRaw: f32, + pub fValueYRaw: f32, +} +#[test] +fn bindgen_test_layout_VREvent_TouchPadMove_t() { + assert_eq!(::std::mem::size_of::() , 24usize , + concat ! ( "Size of: " , stringify ! ( VREvent_TouchPadMove_t ) + )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( VREvent_TouchPadMove_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_TouchPadMove_t ) ) . bFingerDown + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_TouchPadMove_t + ) , "::" , stringify ! ( bFingerDown ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_TouchPadMove_t ) ) . + flSecondsFingerDown as * const _ as usize } , 4usize , concat + ! ( + "Alignment of field: " , stringify ! ( VREvent_TouchPadMove_t + ) , "::" , stringify ! ( flSecondsFingerDown ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_TouchPadMove_t ) ) . fValueXFirst + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_TouchPadMove_t + ) , "::" , stringify ! ( fValueXFirst ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_TouchPadMove_t ) ) . fValueYFirst + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_TouchPadMove_t + ) , "::" , stringify ! ( fValueYFirst ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_TouchPadMove_t ) ) . fValueXRaw + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_TouchPadMove_t + ) , "::" , stringify ! ( fValueXRaw ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_TouchPadMove_t ) ) . fValueYRaw + as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_TouchPadMove_t + ) , "::" , stringify ! ( fValueYRaw ) )); +} +impl Clone for VREvent_TouchPadMove_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Notification_t { - pub ulUserValue: uint64_t, - pub notificationId: uint32_t, - _bindgen_padding_0_: [u8; 4usize], -} -impl ::std::default::Default for VREvent_Notification_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub ulUserValue: u64, + pub notificationId: u32, +} +#[test] +fn bindgen_test_layout_VREvent_Notification_t() { + assert_eq!(::std::mem::size_of::() , 16usize , + concat ! ( "Size of: " , stringify ! ( VREvent_Notification_t ) + )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VREvent_Notification_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Notification_t ) ) . ulUserValue + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Notification_t + ) , "::" , stringify ! ( ulUserValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Notification_t ) ) . + notificationId as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Notification_t + ) , "::" , stringify ! ( notificationId ) )); +} +impl Clone for VREvent_Notification_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Process_t { - pub pid: uint32_t, - pub oldPid: uint32_t, - pub bForced: ::std::os::raw::c_int, -} -impl ::std::default::Default for VREvent_Process_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub pid: u32, + pub oldPid: u32, + pub bForced: bool, +} +#[test] +fn bindgen_test_layout_VREvent_Process_t() { + assert_eq!(::std::mem::size_of::() , 12usize , concat ! + ( "Size of: " , stringify ! ( VREvent_Process_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat + ! ( "Alignment of " , stringify ! ( VREvent_Process_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Process_t ) ) . pid as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Process_t ) , + "::" , stringify ! ( pid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Process_t ) ) . oldPid as * const + _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Process_t ) , + "::" , stringify ! ( oldPid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Process_t ) ) . bForced as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Process_t ) , + "::" , stringify ! ( bForced ) )); +} +impl Clone for VREvent_Process_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Overlay_t { - pub overlayHandle: uint64_t, -} -impl ::std::default::Default for VREvent_Overlay_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub overlayHandle: u64, +} +#[test] +fn bindgen_test_layout_VREvent_Overlay_t() { + assert_eq!(::std::mem::size_of::() , 8usize , concat ! + ( "Size of: " , stringify ! ( VREvent_Overlay_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat + ! ( "Alignment of " , stringify ! ( VREvent_Overlay_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Overlay_t ) ) . overlayHandle as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Overlay_t ) , + "::" , stringify ! ( overlayHandle ) )); +} +impl Clone for VREvent_Overlay_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Status_t { - pub statusState: uint32_t, -} -impl ::std::default::Default for VREvent_Status_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub statusState: u32, +} +#[test] +fn bindgen_test_layout_VREvent_Status_t() { + assert_eq!(::std::mem::size_of::() , 4usize , concat ! ( + "Size of: " , stringify ! ( VREvent_Status_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! + ( "Alignment of " , stringify ! ( VREvent_Status_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Status_t ) ) . statusState as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Status_t ) , + "::" , stringify ! ( statusState ) )); +} +impl Clone for VREvent_Status_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Keyboard_t { pub cNewInput: [*mut ::std::os::raw::c_char; 8usize], - pub uUserValue: uint64_t, -} -impl ::std::default::Default for VREvent_Keyboard_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub uUserValue: u64, +} +#[test] +fn bindgen_test_layout_VREvent_Keyboard_t() { + assert_eq!(::std::mem::size_of::() , 72usize , concat + ! ( "Size of: " , stringify ! ( VREvent_Keyboard_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat + ! ( "Alignment of " , stringify ! ( VREvent_Keyboard_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Keyboard_t ) ) . cNewInput as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Keyboard_t ) , + "::" , stringify ! ( cNewInput ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Keyboard_t ) ) . uUserValue as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Keyboard_t ) , + "::" , stringify ! ( uUserValue ) )); +} +impl Clone for VREvent_Keyboard_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Ipd_t { - pub ipdMeters: ::std::os::raw::c_float, -} -impl ::std::default::Default for VREvent_Ipd_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub ipdMeters: f32, +} +#[test] +fn bindgen_test_layout_VREvent_Ipd_t() { + assert_eq!(::std::mem::size_of::() , 4usize , concat ! ( + "Size of: " , stringify ! ( VREvent_Ipd_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( VREvent_Ipd_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Ipd_t ) ) . ipdMeters as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Ipd_t ) , "::" + , stringify ! ( ipdMeters ) )); +} +impl Clone for VREvent_Ipd_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Chaperone_t { - pub m_nPreviousUniverse: uint64_t, - pub m_nCurrentUniverse: uint64_t, -} -impl ::std::default::Default for VREvent_Chaperone_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub m_nPreviousUniverse: u64, + pub m_nCurrentUniverse: u64, +} +#[test] +fn bindgen_test_layout_VREvent_Chaperone_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat + ! ( "Size of: " , stringify ! ( VREvent_Chaperone_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VREvent_Chaperone_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Chaperone_t ) ) . + m_nPreviousUniverse as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( VREvent_Chaperone_t ) , + "::" , stringify ! ( m_nPreviousUniverse ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Chaperone_t ) ) . + m_nCurrentUniverse as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( VREvent_Chaperone_t ) , + "::" , stringify ! ( m_nCurrentUniverse ) )); +} +impl Clone for VREvent_Chaperone_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Reserved_t { - pub reserved0: uint64_t, - pub reserved1: uint64_t, -} -impl ::std::default::Default for VREvent_Reserved_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub reserved0: u64, + pub reserved1: u64, +} +#[test] +fn bindgen_test_layout_VREvent_Reserved_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat + ! ( "Size of: " , stringify ! ( VREvent_Reserved_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat + ! ( "Alignment of " , stringify ! ( VREvent_Reserved_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Reserved_t ) ) . reserved0 as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Reserved_t ) , + "::" , stringify ! ( reserved0 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Reserved_t ) ) . reserved1 as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Reserved_t ) , + "::" , stringify ! ( reserved1 ) )); +} +impl Clone for VREvent_Reserved_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_PerformanceTest_t { - pub m_nFidelityLevel: uint32_t, -} -impl ::std::default::Default for VREvent_PerformanceTest_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub m_nFidelityLevel: u32, +} +#[test] +fn bindgen_test_layout_VREvent_PerformanceTest_t() { + assert_eq!(::std::mem::size_of::() , 4usize , + concat ! ( + "Size of: " , stringify ! ( VREvent_PerformanceTest_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( VREvent_PerformanceTest_t ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_PerformanceTest_t ) ) . + m_nFidelityLevel as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VREvent_PerformanceTest_t ) , "::" , stringify ! ( + m_nFidelityLevel ) )); +} +impl Clone for VREvent_PerformanceTest_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_SeatedZeroPoseReset_t { - pub bResetBySystemMenu: ::std::os::raw::c_int, -} -impl ::std::default::Default for VREvent_SeatedZeroPoseReset_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub bResetBySystemMenu: bool, +} +#[test] +fn bindgen_test_layout_VREvent_SeatedZeroPoseReset_t() { + assert_eq!(::std::mem::size_of::() , 1usize + , concat ! ( + "Size of: " , stringify ! ( VREvent_SeatedZeroPoseReset_t ) )); + assert_eq! (::std::mem::align_of::() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( VREvent_SeatedZeroPoseReset_t + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_SeatedZeroPoseReset_t ) ) . + bResetBySystemMenu as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VREvent_SeatedZeroPoseReset_t ) , "::" , stringify ! ( + bResetBySystemMenu ) )); +} +impl Clone for VREvent_SeatedZeroPoseReset_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VREvent_Screenshot_t { - pub handle: uint32_t, - pub type_: uint32_t, + pub handle: u32, + pub type_: u32, +} +#[test] +fn bindgen_test_layout_VREvent_Screenshot_t() { + assert_eq!(::std::mem::size_of::() , 8usize , concat + ! ( "Size of: " , stringify ! ( VREvent_Screenshot_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( VREvent_Screenshot_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Screenshot_t ) ) . handle as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Screenshot_t ) + , "::" , stringify ! ( handle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Screenshot_t ) ) . type_ as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Screenshot_t ) + , "::" , stringify ! ( type_ ) )); +} +impl Clone for VREvent_Screenshot_t { + fn clone(&self) -> Self { *self } } -impl ::std::default::Default for VREvent_Screenshot_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VREvent_ScreenshotProgress_t { + pub progress: f32, +} +#[test] +fn bindgen_test_layout_VREvent_ScreenshotProgress_t() { + assert_eq!(::std::mem::size_of::() , 4usize + , concat ! ( + "Size of: " , stringify ! ( VREvent_ScreenshotProgress_t ) )); + assert_eq! (::std::mem::align_of::() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( VREvent_ScreenshotProgress_t ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_ScreenshotProgress_t ) ) . + progress as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VREvent_ScreenshotProgress_t ) , "::" , stringify ! ( progress + ) )); +} +impl Clone for VREvent_ScreenshotProgress_t { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VREvent_ApplicationLaunch_t { + pub pid: u32, + pub unArgsHandle: u32, +} +#[test] +fn bindgen_test_layout_VREvent_ApplicationLaunch_t() { + assert_eq!(::std::mem::size_of::() , 8usize , + concat ! ( + "Size of: " , stringify ! ( VREvent_ApplicationLaunch_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( VREvent_ApplicationLaunch_t ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_ApplicationLaunch_t ) ) . pid as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VREvent_ApplicationLaunch_t ) , "::" , stringify ! ( pid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_ApplicationLaunch_t ) ) . + unArgsHandle as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + VREvent_ApplicationLaunch_t ) , "::" , stringify ! ( + unArgsHandle ) )); +} +impl Clone for VREvent_ApplicationLaunch_t { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VREvent_EditingCameraSurface_t { + pub overlayHandle: u64, + pub nVisualMode: u32, +} +#[test] +fn bindgen_test_layout_VREvent_EditingCameraSurface_t() { + assert_eq!(::std::mem::size_of::() , + 16usize , concat ! ( + "Size of: " , stringify ! ( VREvent_EditingCameraSurface_t ) + )); + assert_eq! (::std::mem::align_of::() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( VREvent_EditingCameraSurface_t + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_EditingCameraSurface_t ) ) . + overlayHandle as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VREvent_EditingCameraSurface_t ) , "::" , stringify ! ( + overlayHandle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_EditingCameraSurface_t ) ) . + nVisualMode as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + VREvent_EditingCameraSurface_t ) , "::" , stringify ! ( + nVisualMode ) )); +} +impl Clone for VREvent_EditingCameraSurface_t { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VREvent_MessageOverlay_t { + pub unVRMessageOverlayResponse: u32, +} +#[test] +fn bindgen_test_layout_VREvent_MessageOverlay_t() { + assert_eq!(::std::mem::size_of::() , 4usize , + concat ! ( + "Size of: " , stringify ! ( VREvent_MessageOverlay_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( VREvent_MessageOverlay_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_MessageOverlay_t ) ) . + unVRMessageOverlayResponse as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VREvent_MessageOverlay_t ) , "::" , stringify ! ( + unVRMessageOverlayResponse ) )); +} +impl Clone for VREvent_MessageOverlay_t { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VREvent_Property_t { + pub container: PropertyContainerHandle_t, + pub prop: ETrackedDeviceProperty, +} +#[test] +fn bindgen_test_layout_VREvent_Property_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat + ! ( "Size of: " , stringify ! ( VREvent_Property_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat + ! ( "Alignment of " , stringify ! ( VREvent_Property_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Property_t ) ) . container as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Property_t ) , + "::" , stringify ! ( container ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Property_t ) ) . prop as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Property_t ) , + "::" , stringify ! ( prop ) )); +} +impl Clone for VREvent_Property_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct HiddenAreaMesh_t { pub pVertexData: *mut HmdVector2_t, - pub unTriangleCount: uint32_t, - _bindgen_padding_0_: [u8; 4usize], -} -impl ::std::default::Default for HiddenAreaMesh_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub unTriangleCount: u32, +} +#[test] +fn bindgen_test_layout_HiddenAreaMesh_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat ! + ( "Size of: " , stringify ! ( HiddenAreaMesh_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat ! + ( "Alignment of " , stringify ! ( HiddenAreaMesh_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HiddenAreaMesh_t ) ) . pVertexData as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( HiddenAreaMesh_t ) , + "::" , stringify ! ( pVertexData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const HiddenAreaMesh_t ) ) . unTriangleCount as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( HiddenAreaMesh_t ) , + "::" , stringify ! ( unTriangleCount ) )); +} +impl Clone for HiddenAreaMesh_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VRControllerAxis_t { - pub x: ::std::os::raw::c_float, - pub y: ::std::os::raw::c_float, -} -impl ::std::default::Default for VRControllerAxis_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub x: f32, + pub y: f32, +} +#[test] +fn bindgen_test_layout_VRControllerAxis_t() { + assert_eq!(::std::mem::size_of::() , 8usize , concat ! + ( "Size of: " , stringify ! ( VRControllerAxis_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat + ! ( "Alignment of " , stringify ! ( VRControllerAxis_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRControllerAxis_t ) ) . x as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VRControllerAxis_t ) , + "::" , stringify ! ( x ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRControllerAxis_t ) ) . y as * const _ + as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( VRControllerAxis_t ) , + "::" , stringify ! ( y ) )); +} +impl Clone for VRControllerAxis_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VRControllerState_t { - pub unPacketNum: uint32_t, - pub ulButtonPressed: uint64_t, - pub ulButtonTouched: uint64_t, + pub unPacketNum: u32, + pub ulButtonPressed: u64, + pub ulButtonTouched: u64, pub rAxis: [VRControllerAxis_t; 5usize], } -impl ::std::default::Default for VRControllerState_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_VRControllerState_t() { + assert_eq!(::std::mem::size_of::() , 64usize , concat + ! ( "Size of: " , stringify ! ( VRControllerState_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VRControllerState_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRControllerState_t ) ) . unPacketNum as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VRControllerState_t ) , + "::" , stringify ! ( unPacketNum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRControllerState_t ) ) . ulButtonPressed + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VRControllerState_t ) , + "::" , stringify ! ( ulButtonPressed ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRControllerState_t ) ) . ulButtonTouched + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( VRControllerState_t ) , + "::" , stringify ! ( ulButtonTouched ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VRControllerState_t ) ) . rAxis as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( VRControllerState_t ) , + "::" , stringify ! ( rAxis ) )); +} +impl Clone for VRControllerState_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct Compositor_OverlaySettings { - pub size: uint32_t, - pub curved: ::std::os::raw::c_int, - pub antialias: ::std::os::raw::c_int, - pub scale: ::std::os::raw::c_float, - pub distance: ::std::os::raw::c_float, - pub alpha: ::std::os::raw::c_float, - pub uOffset: ::std::os::raw::c_float, - pub vOffset: ::std::os::raw::c_float, - pub uScale: ::std::os::raw::c_float, - pub vScale: ::std::os::raw::c_float, - pub gridDivs: ::std::os::raw::c_float, - pub gridWidth: ::std::os::raw::c_float, - pub gridScale: ::std::os::raw::c_float, + pub size: u32, + pub curved: bool, + pub antialias: bool, + pub scale: f32, + pub distance: f32, + pub alpha: f32, + pub uOffset: f32, + pub vOffset: f32, + pub uScale: f32, + pub vScale: f32, + pub gridDivs: f32, + pub gridWidth: f32, + pub gridScale: f32, pub transform: HmdMatrix44_t, } -impl ::std::default::Default for Compositor_OverlaySettings { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_Compositor_OverlaySettings() { + assert_eq!(::std::mem::size_of::() , 112usize + , concat ! ( + "Size of: " , stringify ! ( Compositor_OverlaySettings ) )); + assert_eq! (::std::mem::align_of::() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( Compositor_OverlaySettings ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . size as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( size ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . curved + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( curved ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . + antialias as * const _ as usize } , 5usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( antialias + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . scale as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( scale ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . distance + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( distance ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . alpha as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( alpha ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . uOffset + as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( uOffset ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . vOffset + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( vOffset ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . uScale + as * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( uScale ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . vScale + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( vScale ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . gridDivs + as * const _ as usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( gridDivs ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . + gridWidth as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( gridWidth + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . + gridScale as * const _ as usize } , 44usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( gridScale + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_OverlaySettings ) ) . + transform as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_OverlaySettings ) , "::" , stringify ! ( transform + ) )); +} +impl Clone for Compositor_OverlaySettings { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct CameraVideoStreamFrameHeader_t { pub eFrameType: EVRTrackedCameraFrameType, - pub nWidth: uint32_t, - pub nHeight: uint32_t, - pub nBytesPerPixel: uint32_t, - pub nFrameSequence: uint32_t, + pub nWidth: u32, + pub nHeight: u32, + pub nBytesPerPixel: u32, + pub nFrameSequence: u32, pub standingTrackedDevicePose: TrackedDevicePose_t, } -impl ::std::default::Default for CameraVideoStreamFrameHeader_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_CameraVideoStreamFrameHeader_t() { + assert_eq!(::std::mem::size_of::() , + 100usize , concat ! ( + "Size of: " , stringify ! ( CameraVideoStreamFrameHeader_t ) + )); + assert_eq! (::std::mem::align_of::() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( CameraVideoStreamFrameHeader_t + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CameraVideoStreamFrameHeader_t ) ) . + eFrameType as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CameraVideoStreamFrameHeader_t ) , "::" , stringify ! ( + eFrameType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CameraVideoStreamFrameHeader_t ) ) . + nWidth as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + CameraVideoStreamFrameHeader_t ) , "::" , stringify ! ( nWidth + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CameraVideoStreamFrameHeader_t ) ) . + nHeight as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CameraVideoStreamFrameHeader_t ) , "::" , stringify ! ( + nHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CameraVideoStreamFrameHeader_t ) ) . + nBytesPerPixel as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + CameraVideoStreamFrameHeader_t ) , "::" , stringify ! ( + nBytesPerPixel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CameraVideoStreamFrameHeader_t ) ) . + nFrameSequence as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CameraVideoStreamFrameHeader_t ) , "::" , stringify ! ( + nFrameSequence ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CameraVideoStreamFrameHeader_t ) ) . + standingTrackedDevicePose as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CameraVideoStreamFrameHeader_t ) , "::" , stringify ! ( + standingTrackedDevicePose ) )); +} +impl Clone for CameraVideoStreamFrameHeader_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct AppOverrideKeys_t { pub pchKey: *mut ::std::os::raw::c_char, pub pchValue: *mut ::std::os::raw::c_char, } -impl ::std::default::Default for AppOverrideKeys_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_AppOverrideKeys_t() { + assert_eq!(::std::mem::size_of::() , 16usize , concat ! + ( "Size of: " , stringify ! ( AppOverrideKeys_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat + ! ( "Alignment of " , stringify ! ( AppOverrideKeys_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const AppOverrideKeys_t ) ) . pchKey as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( AppOverrideKeys_t ) , + "::" , stringify ! ( pchKey ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const AppOverrideKeys_t ) ) . pchValue as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( AppOverrideKeys_t ) , + "::" , stringify ! ( pchValue ) )); +} +impl Clone for AppOverrideKeys_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct Compositor_FrameTiming { - pub m_nSize: uint32_t, - pub m_nFrameIndex: uint32_t, - pub m_nNumFramePresents: uint32_t, - pub m_nNumDroppedFrames: uint32_t, - pub m_flSystemTimeInSeconds: ::std::os::raw::c_double, - pub m_flSceneRenderGpuMs: ::std::os::raw::c_float, - pub m_flTotalRenderGpuMs: ::std::os::raw::c_float, - pub m_flCompositorRenderGpuMs: ::std::os::raw::c_float, - pub m_flCompositorRenderCpuMs: ::std::os::raw::c_float, - pub m_flCompositorIdleCpuMs: ::std::os::raw::c_float, - pub m_flClientFrameIntervalMs: ::std::os::raw::c_float, - pub m_flPresentCallCpuMs: ::std::os::raw::c_float, - pub m_flWaitForPresentCpuMs: ::std::os::raw::c_float, - pub m_flSubmitFrameMs: ::std::os::raw::c_float, - pub m_flWaitGetPosesCalledMs: ::std::os::raw::c_float, - pub m_flNewPosesReadyMs: ::std::os::raw::c_float, - pub m_flNewFrameReadyMs: ::std::os::raw::c_float, - pub m_flCompositorUpdateStartMs: ::std::os::raw::c_float, - pub m_flCompositorUpdateEndMs: ::std::os::raw::c_float, - pub m_flCompositorRenderStartMs: ::std::os::raw::c_float, + pub m_nSize: u32, + pub m_nFrameIndex: u32, + pub m_nNumFramePresents: u32, + pub m_nNumMisPresented: u32, + pub m_nNumDroppedFrames: u32, + pub m_nReprojectionFlags: u32, + pub m_flSystemTimeInSeconds: f64, + pub m_flPreSubmitGpuMs: f32, + pub m_flPostSubmitGpuMs: f32, + pub m_flTotalRenderGpuMs: f32, + pub m_flCompositorRenderGpuMs: f32, + pub m_flCompositorRenderCpuMs: f32, + pub m_flCompositorIdleCpuMs: f32, + pub m_flClientFrameIntervalMs: f32, + pub m_flPresentCallCpuMs: f32, + pub m_flWaitForPresentCpuMs: f32, + pub m_flSubmitFrameMs: f32, + pub m_flWaitGetPosesCalledMs: f32, + pub m_flNewPosesReadyMs: f32, + pub m_flNewFrameReadyMs: f32, + pub m_flCompositorUpdateStartMs: f32, + pub m_flCompositorUpdateEndMs: f32, + pub m_flCompositorRenderStartMs: f32, pub m_HmdPose: TrackedDevicePose_t, - pub m_nFidelityLevel: int32_t, - pub m_nReprojectionFlags: uint32_t, } -impl ::std::default::Default for Compositor_FrameTiming { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_Compositor_FrameTiming() { + assert_eq!(::std::mem::size_of::() , 176usize , + concat ! ( "Size of: " , stringify ! ( Compositor_FrameTiming ) + )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( Compositor_FrameTiming ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . m_nSize as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_nSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_nFrameIndex as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_nFrameIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_nNumFramePresents as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_nNumFramePresents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_nNumMisPresented as * const _ as usize } , 12usize , concat + ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_nNumMisPresented ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_nNumDroppedFrames as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_nNumDroppedFrames ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_nReprojectionFlags as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_nReprojectionFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flSystemTimeInSeconds as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flSystemTimeInSeconds ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flPreSubmitGpuMs as * const _ as usize } , 32usize , concat + ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flPreSubmitGpuMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flPostSubmitGpuMs as * const _ as usize } , 36usize , concat + ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flPostSubmitGpuMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flTotalRenderGpuMs as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flTotalRenderGpuMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flCompositorRenderGpuMs as * const _ as usize } , 44usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flCompositorRenderGpuMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flCompositorRenderCpuMs as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flCompositorRenderCpuMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flCompositorIdleCpuMs as * const _ as usize } , 52usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flCompositorIdleCpuMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flClientFrameIntervalMs as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flClientFrameIntervalMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flPresentCallCpuMs as * const _ as usize } , 60usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flPresentCallCpuMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flWaitForPresentCpuMs as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flWaitForPresentCpuMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flSubmitFrameMs as * const _ as usize } , 68usize , concat ! + ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flSubmitFrameMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flWaitGetPosesCalledMs as * const _ as usize } , 72usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flWaitGetPosesCalledMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flNewPosesReadyMs as * const _ as usize } , 76usize , concat + ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flNewPosesReadyMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flNewFrameReadyMs as * const _ as usize } , 80usize , concat + ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flNewFrameReadyMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flCompositorUpdateStartMs as * const _ as usize } , 84usize + , concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flCompositorUpdateStartMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flCompositorUpdateEndMs as * const _ as usize } , 88usize , + concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flCompositorUpdateEndMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . + m_flCompositorRenderStartMs as * const _ as usize } , 92usize + , concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_flCompositorRenderStartMs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_FrameTiming ) ) . m_HmdPose as + * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( Compositor_FrameTiming + ) , "::" , stringify ! ( m_HmdPose ) )); +} +impl Clone for Compositor_FrameTiming { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct Compositor_CumulativeStats { - pub m_nPid: uint32_t, - pub m_nNumFramePresents: uint32_t, - pub m_nNumDroppedFrames: uint32_t, - pub m_nNumReprojectedFrames: uint32_t, - pub m_nNumFramePresentsOnStartup: uint32_t, - pub m_nNumDroppedFramesOnStartup: uint32_t, - pub m_nNumReprojectedFramesOnStartup: uint32_t, - pub m_nNumLoading: uint32_t, - pub m_nNumFramePresentsLoading: uint32_t, - pub m_nNumDroppedFramesLoading: uint32_t, - pub m_nNumReprojectedFramesLoading: uint32_t, - pub m_nNumTimedOut: uint32_t, - pub m_nNumFramePresentsTimedOut: uint32_t, - pub m_nNumDroppedFramesTimedOut: uint32_t, - pub m_nNumReprojectedFramesTimedOut: uint32_t, -} -impl ::std::default::Default for Compositor_CumulativeStats { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] + pub m_nPid: u32, + pub m_nNumFramePresents: u32, + pub m_nNumDroppedFrames: u32, + pub m_nNumReprojectedFrames: u32, + pub m_nNumFramePresentsOnStartup: u32, + pub m_nNumDroppedFramesOnStartup: u32, + pub m_nNumReprojectedFramesOnStartup: u32, + pub m_nNumLoading: u32, + pub m_nNumFramePresentsLoading: u32, + pub m_nNumDroppedFramesLoading: u32, + pub m_nNumReprojectedFramesLoading: u32, + pub m_nNumTimedOut: u32, + pub m_nNumFramePresentsTimedOut: u32, + pub m_nNumDroppedFramesTimedOut: u32, + pub m_nNumReprojectedFramesTimedOut: u32, +} +#[test] +fn bindgen_test_layout_Compositor_CumulativeStats() { + assert_eq!(::std::mem::size_of::() , 60usize , + concat ! ( + "Size of: " , stringify ! ( Compositor_CumulativeStats ) )); + assert_eq! (::std::mem::align_of::() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( Compositor_CumulativeStats ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . m_nPid + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( m_nPid ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumFramePresents as * const _ as usize } , 4usize , concat + ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumFramePresents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumDroppedFrames as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumDroppedFrames ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumReprojectedFrames as * const _ as usize } , 12usize , + concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumReprojectedFrames ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumFramePresentsOnStartup as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumFramePresentsOnStartup ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumDroppedFramesOnStartup as * const _ as usize } , 20usize + , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumDroppedFramesOnStartup ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumReprojectedFramesOnStartup as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumReprojectedFramesOnStartup ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumLoading as * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumLoading ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumFramePresentsLoading as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumFramePresentsLoading ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumDroppedFramesLoading as * const _ as usize } , 36usize , + concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumDroppedFramesLoading ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumReprojectedFramesLoading as * const _ as usize } , + 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumReprojectedFramesLoading ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumTimedOut as * const _ as usize } , 44usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumTimedOut ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumFramePresentsTimedOut as * const _ as usize } , 48usize + , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumFramePresentsTimedOut ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumDroppedFramesTimedOut as * const _ as usize } , 52usize + , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumDroppedFramesTimedOut ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Compositor_CumulativeStats ) ) . + m_nNumReprojectedFramesTimedOut as * const _ as usize } , + 56usize , concat ! ( + "Alignment of field: " , stringify ! ( + Compositor_CumulativeStats ) , "::" , stringify ! ( + m_nNumReprojectedFramesTimedOut ) )); +} +impl Clone for Compositor_CumulativeStats { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] pub struct VROverlayIntersectionParams_t { pub vSource: HmdVector3_t, pub vDirection: HmdVector3_t, pub eOrigin: ETrackingUniverseOrigin, } -impl ::std::default::Default for VROverlayIntersectionParams_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_VROverlayIntersectionParams_t() { + assert_eq!(::std::mem::size_of::() , + 28usize , concat ! ( + "Size of: " , stringify ! ( VROverlayIntersectionParams_t ) )); + assert_eq! (::std::mem::align_of::() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( VROverlayIntersectionParams_t + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionParams_t ) ) . + vSource as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionParams_t ) , "::" , stringify ! ( vSource + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionParams_t ) ) . + vDirection as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionParams_t ) , "::" , stringify ! ( + vDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionParams_t ) ) . + eOrigin as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionParams_t ) , "::" , stringify ! ( eOrigin + ) )); +} +impl Clone for VROverlayIntersectionParams_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VROverlayIntersectionResults_t { pub vPoint: HmdVector3_t, pub vNormal: HmdVector3_t, pub vUVs: HmdVector2_t, - pub fDistance: ::std::os::raw::c_float, + pub fDistance: f32, +} +#[test] +fn bindgen_test_layout_VROverlayIntersectionResults_t() { + assert_eq!(::std::mem::size_of::() , + 36usize , concat ! ( + "Size of: " , stringify ! ( VROverlayIntersectionResults_t ) + )); + assert_eq! (::std::mem::align_of::() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( VROverlayIntersectionResults_t + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionResults_t ) ) . + vPoint as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionResults_t ) , "::" , stringify ! ( vPoint + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionResults_t ) ) . + vNormal as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionResults_t ) , "::" , stringify ! ( + vNormal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionResults_t ) ) . vUVs + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionResults_t ) , "::" , stringify ! ( vUVs ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionResults_t ) ) . + fDistance as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionResults_t ) , "::" , stringify ! ( + fDistance ) )); +} +impl Clone for VROverlayIntersectionResults_t { + fn clone(&self) -> Self { *self } } -impl ::std::default::Default for VROverlayIntersectionResults_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[repr(C)] +#[derive(Debug, Copy)] +pub struct IntersectionMaskRectangle_t { + pub m_flTopLeftX: f32, + pub m_flTopLeftY: f32, + pub m_flWidth: f32, + pub m_flHeight: f32, +} +#[test] +fn bindgen_test_layout_IntersectionMaskRectangle_t() { + assert_eq!(::std::mem::size_of::() , 16usize + , concat ! ( + "Size of: " , stringify ! ( IntersectionMaskRectangle_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( IntersectionMaskRectangle_t ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionMaskRectangle_t ) ) . + m_flTopLeftX as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionMaskRectangle_t ) , "::" , stringify ! ( + m_flTopLeftX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionMaskRectangle_t ) ) . + m_flTopLeftY as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionMaskRectangle_t ) , "::" , stringify ! ( + m_flTopLeftY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionMaskRectangle_t ) ) . + m_flWidth as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionMaskRectangle_t ) , "::" , stringify ! ( m_flWidth + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionMaskRectangle_t ) ) . + m_flHeight as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionMaskRectangle_t ) , "::" , stringify ! ( + m_flHeight ) )); +} +impl Clone for IntersectionMaskRectangle_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] +pub struct IntersectionMaskCircle_t { + pub m_flCenterX: f32, + pub m_flCenterY: f32, + pub m_flRadius: f32, +} +#[test] +fn bindgen_test_layout_IntersectionMaskCircle_t() { + assert_eq!(::std::mem::size_of::() , 12usize , + concat ! ( + "Size of: " , stringify ! ( IntersectionMaskCircle_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( IntersectionMaskCircle_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionMaskCircle_t ) ) . + m_flCenterX as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionMaskCircle_t ) , "::" , stringify ! ( m_flCenterX + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionMaskCircle_t ) ) . + m_flCenterY as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionMaskCircle_t ) , "::" , stringify ! ( m_flCenterY + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionMaskCircle_t ) ) . m_flRadius + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionMaskCircle_t ) , "::" , stringify ! ( m_flRadius ) + )); +} +impl Clone for IntersectionMaskCircle_t { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] pub struct RenderModel_ComponentState_t { pub mTrackingToComponentRenderModel: HmdMatrix34_t, pub mTrackingToComponentLocal: HmdMatrix34_t, pub uProperties: VRComponentProperties, } -impl ::std::default::Default for RenderModel_ComponentState_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_RenderModel_ComponentState_t() { + assert_eq!(::std::mem::size_of::() , + 100usize , concat ! ( + "Size of: " , stringify ! ( RenderModel_ComponentState_t ) )); + assert_eq! (::std::mem::align_of::() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( RenderModel_ComponentState_t ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_ComponentState_t ) ) . + mTrackingToComponentRenderModel as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + RenderModel_ComponentState_t ) , "::" , stringify ! ( + mTrackingToComponentRenderModel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_ComponentState_t ) ) . + mTrackingToComponentLocal as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( + RenderModel_ComponentState_t ) , "::" , stringify ! ( + mTrackingToComponentLocal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_ComponentState_t ) ) . + uProperties as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + RenderModel_ComponentState_t ) , "::" , stringify ! ( + uProperties ) )); +} +impl Clone for RenderModel_ComponentState_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct RenderModel_Vertex_t { pub vPosition: HmdVector3_t, pub vNormal: HmdVector3_t, - pub rfTextureCoord: [::std::os::raw::c_float; 2usize], -} -impl ::std::default::Default for RenderModel_Vertex_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub rfTextureCoord: [f32; 2usize], +} +#[test] +fn bindgen_test_layout_RenderModel_Vertex_t() { + assert_eq!(::std::mem::size_of::() , 32usize , + concat ! ( "Size of: " , stringify ! ( RenderModel_Vertex_t ) + )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( RenderModel_Vertex_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_Vertex_t ) ) . vPosition as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( RenderModel_Vertex_t ) + , "::" , stringify ! ( vPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_Vertex_t ) ) . vNormal as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( RenderModel_Vertex_t ) + , "::" , stringify ! ( vNormal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_Vertex_t ) ) . rfTextureCoord + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( RenderModel_Vertex_t ) + , "::" , stringify ! ( rfTextureCoord ) )); +} +impl Clone for RenderModel_Vertex_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct RenderModel_TextureMap_t { - pub unWidth: uint16_t, - pub unHeight: uint16_t, - pub rubTextureMapData: *mut uint8_t, -} -impl ::std::default::Default for RenderModel_TextureMap_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub unWidth: u16, + pub unHeight: u16, + pub rubTextureMapData: *mut u8, +} +#[test] +fn bindgen_test_layout_RenderModel_TextureMap_t() { + assert_eq!(::std::mem::size_of::() , 12usize , + concat ! ( + "Size of: " , stringify ! ( RenderModel_TextureMap_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( RenderModel_TextureMap_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_TextureMap_t ) ) . unWidth as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + RenderModel_TextureMap_t ) , "::" , stringify ! ( unWidth ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_TextureMap_t ) ) . unHeight + as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + RenderModel_TextureMap_t ) , "::" , stringify ! ( unHeight ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_TextureMap_t ) ) . + rubTextureMapData as * const _ as usize } , 4usize , concat ! + ( + "Alignment of field: " , stringify ! ( + RenderModel_TextureMap_t ) , "::" , stringify ! ( + rubTextureMapData ) )); +} +impl Clone for RenderModel_TextureMap_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct RenderModel_t { pub rVertexData: *mut RenderModel_Vertex_t, - pub unVertexCount: uint32_t, - pub rIndexData: *mut uint16_t, - pub unTriangleCount: uint32_t, + pub unVertexCount: u32, + pub rIndexData: *mut u16, + pub unTriangleCount: u32, pub diffuseTextureId: TextureID_t, } -impl ::std::default::Default for RenderModel_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_RenderModel_t() { + assert_eq!(::std::mem::size_of::() , 28usize , concat ! ( + "Size of: " , stringify ! ( RenderModel_t ) )); + assert_eq! (::std::mem::align_of::() , 4usize , concat ! ( + "Alignment of " , stringify ! ( RenderModel_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_t ) ) . rVertexData as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( RenderModel_t ) , "::" + , stringify ! ( rVertexData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_t ) ) . unVertexCount as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( RenderModel_t ) , "::" + , stringify ! ( unVertexCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_t ) ) . rIndexData as * const + _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( RenderModel_t ) , "::" + , stringify ! ( rIndexData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_t ) ) . unTriangleCount as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( RenderModel_t ) , "::" + , stringify ! ( unTriangleCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_t ) ) . diffuseTextureId as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( RenderModel_t ) , "::" + , stringify ! ( diffuseTextureId ) )); +} +impl Clone for RenderModel_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct RenderModel_ControllerMode_State_t { - pub bScrollWheelVisible: ::std::os::raw::c_int, -} -impl ::std::default::Default for RenderModel_ControllerMode_State_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub bScrollWheelVisible: bool, +} +#[test] +fn bindgen_test_layout_RenderModel_ControllerMode_State_t() { + assert_eq!(::std::mem::size_of::() , + 1usize , concat ! ( + "Size of: " , stringify ! ( RenderModel_ControllerMode_State_t + ) )); + assert_eq! (::std::mem::align_of::() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( + RenderModel_ControllerMode_State_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RenderModel_ControllerMode_State_t ) ) . + bScrollWheelVisible as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + RenderModel_ControllerMode_State_t ) , "::" , stringify ! ( + bScrollWheelVisible ) )); +} +impl Clone for RenderModel_ControllerMode_State_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct NotificationBitmap_t { pub m_pImageData: *mut ::std::os::raw::c_void, - pub m_nWidth: int32_t, - pub m_nHeight: int32_t, - pub m_nBytesPerPixel: int32_t, - _bindgen_padding_0_: [u8; 4usize], -} -impl ::std::default::Default for NotificationBitmap_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub m_nWidth: i32, + pub m_nHeight: i32, + pub m_nBytesPerPixel: i32, +} +#[test] +fn bindgen_test_layout_NotificationBitmap_t() { + assert_eq!(::std::mem::size_of::() , 24usize , + concat ! ( "Size of: " , stringify ! ( NotificationBitmap_t ) + )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( NotificationBitmap_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NotificationBitmap_t ) ) . m_pImageData + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( NotificationBitmap_t ) + , "::" , stringify ! ( m_pImageData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NotificationBitmap_t ) ) . m_nWidth as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( NotificationBitmap_t ) + , "::" , stringify ! ( m_nWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NotificationBitmap_t ) ) . m_nHeight as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( NotificationBitmap_t ) + , "::" , stringify ! ( m_nHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NotificationBitmap_t ) ) . + m_nBytesPerPixel as * const _ as usize } , 16usize , concat ! + ( + "Alignment of field: " , stringify ! ( NotificationBitmap_t ) + , "::" , stringify ! ( m_nBytesPerPixel ) )); +} +impl Clone for NotificationBitmap_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct COpenVRContext { - pub m_pVRSystem: intptr_t, - pub m_pVRChaperone: intptr_t, - pub m_pVRChaperoneSetup: intptr_t, - pub m_pVRCompositor: intptr_t, - pub m_pVROverlay: intptr_t, - pub m_pVRRenderModels: intptr_t, - pub m_pVRExtendedDisplay: intptr_t, - pub m_pVRSettings: intptr_t, - pub m_pVRApplications: intptr_t, - pub m_pVRTrackedCamera: intptr_t, - pub m_pVRScreenshots: intptr_t, -} -impl ::std::default::Default for COpenVRContext { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct VREvent_Data_t { - pub _bindgen_data_: [u64; 9usize], -} -impl VREvent_Data_t { - pub unsafe fn reserved(&mut self) -> *mut VREvent_Reserved_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn controller(&mut self) -> *mut VREvent_Controller_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn mouse(&mut self) -> *mut VREvent_Mouse_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn scroll(&mut self) -> *mut VREvent_Scroll_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn process(&mut self) -> *mut VREvent_Process_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn notification(&mut self) -> *mut VREvent_Notification_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn overlay(&mut self) -> *mut VREvent_Overlay_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn status(&mut self) -> *mut VREvent_Status_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn keyboard(&mut self) -> *mut VREvent_Keyboard_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn ipd(&mut self) -> *mut VREvent_Ipd_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn chaperone(&mut self) -> *mut VREvent_Chaperone_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn performanceTest(&mut self) - -> *mut VREvent_PerformanceTest_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn touchPadMove(&mut self) -> *mut VREvent_TouchPadMove_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } - pub unsafe fn seatedZeroPoseReset(&mut self) - -> *mut VREvent_SeatedZeroPoseReset_t { - let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_); - ::std::mem::transmute(raw.offset(0)) - } -} -impl ::std::default::Default for VREvent_Data_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub m_pVRSystem: isize, + pub m_pVRChaperone: isize, + pub m_pVRChaperoneSetup: isize, + pub m_pVRCompositor: isize, + pub m_pVROverlay: isize, + pub m_pVRResources: isize, + pub m_pVRRenderModels: isize, + pub m_pVRExtendedDisplay: isize, + pub m_pVRSettings: isize, + pub m_pVRApplications: isize, + pub m_pVRTrackedCamera: isize, + pub m_pVRScreenshots: isize, + pub m_pVRDriverManager: isize, +} +#[test] +fn bindgen_test_layout_COpenVRContext() { + assert_eq!(::std::mem::size_of::() , 104usize , concat ! ( + "Size of: " , stringify ! ( COpenVRContext ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( + "Alignment of " , stringify ! ( COpenVRContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRSystem as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRSystem ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRChaperone as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRChaperone ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRChaperoneSetup + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRChaperoneSetup ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRCompositor as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRCompositor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVROverlay as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVROverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRResources as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRResources ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRRenderModels as + * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRRenderModels ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRExtendedDisplay + as * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRExtendedDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRSettings as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRSettings ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRApplications as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRApplications ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRTrackedCamera + as * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRTrackedCamera ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRScreenshots as + * const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRScreenshots ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const COpenVRContext ) ) . m_pVRDriverManager + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( COpenVRContext ) , "::" + , stringify ! ( m_pVRDriverManager ) )); +} +impl Clone for COpenVRContext { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] +pub struct VREvent_Data_t { + pub reserved: __BindgenUnionField, + pub controller: __BindgenUnionField, + pub mouse: __BindgenUnionField, + pub scroll: __BindgenUnionField, + pub process: __BindgenUnionField, + pub notification: __BindgenUnionField, + pub overlay: __BindgenUnionField, + pub status: __BindgenUnionField, + pub keyboard: __BindgenUnionField, + pub ipd: __BindgenUnionField, + pub chaperone: __BindgenUnionField, + pub performanceTest: __BindgenUnionField, + pub touchPadMove: __BindgenUnionField, + pub seatedZeroPoseReset: __BindgenUnionField, + pub bindgen_union_field: [u64; 9usize], +} +#[test] +fn bindgen_test_layout_VREvent_Data_t() { + assert_eq!(::std::mem::size_of::() , 72usize , concat ! ( + "Size of: " , stringify ! ( VREvent_Data_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( + "Alignment of " , stringify ! ( VREvent_Data_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . reserved as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( reserved ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . controller as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( controller ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . mouse as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( mouse ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . scroll as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( scroll ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . process as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( process ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . notification as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( notification ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . overlay as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( overlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . status as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( status ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . keyboard as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( keyboard ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . ipd as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( ipd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . chaperone as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( chaperone ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . performanceTest as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( performanceTest ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . touchPadMove as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( touchPadMove ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Data_t ) ) . seatedZeroPoseReset + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Data_t ) , "::" + , stringify ! ( seatedZeroPoseReset ) )); +} +impl Clone for VREvent_Data_t { + fn clone(&self) -> Self { *self } +} +/** An event posted by the server to all running applications */ +#[repr(C)] +#[derive(Debug, Copy)] pub struct VREvent_t { - pub eventType: uint32_t, + pub eventType: u32, pub trackedDeviceIndex: TrackedDeviceIndex_t, - pub eventAgeSeconds: ::std::os::raw::c_float, + pub eventAgeSeconds: f32, pub data: VREvent_Data_t, } -impl ::std::default::Default for VREvent_t { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_VREvent_t() { + assert_eq!(::std::mem::size_of::() , 88usize , concat ! ( + "Size of: " , stringify ! ( VREvent_t ) )); + assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( + "Alignment of " , stringify ! ( VREvent_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_t ) ) . eventType as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_t ) , "::" , + stringify ! ( eventType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_t ) ) . trackedDeviceIndex as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_t ) , "::" , + stringify ! ( trackedDeviceIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_t ) ) . eventAgeSeconds as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_t ) , "::" , + stringify ! ( eventAgeSeconds ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_t ) ) . data as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_t ) , "::" , + stringify ! ( data ) )); +} +impl Clone for VREvent_t { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VROverlayIntersectionMaskPrimitive_Data_t { + pub m_Rectangle: __BindgenUnionField, + pub m_Circle: __BindgenUnionField, + pub bindgen_union_field: [u32; 4usize], +} +#[test] +fn bindgen_test_layout_VROverlayIntersectionMaskPrimitive_Data_t() { + assert_eq!(::std::mem::size_of::() + , 16usize , concat ! ( + "Size of: " , stringify ! ( + VROverlayIntersectionMaskPrimitive_Data_t ) )); + assert_eq! (::std::mem::align_of::() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + VROverlayIntersectionMaskPrimitive_Data_t ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const VROverlayIntersectionMaskPrimitive_Data_t ) ) + . m_Rectangle as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionMaskPrimitive_Data_t ) , "::" , stringify + ! ( m_Rectangle ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const VROverlayIntersectionMaskPrimitive_Data_t ) ) + . m_Circle as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionMaskPrimitive_Data_t ) , "::" , stringify + ! ( m_Circle ) )); +} +impl Clone for VROverlayIntersectionMaskPrimitive_Data_t { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] +pub struct VROverlayIntersectionMaskPrimitive_t { + pub m_nPrimitiveType: EVROverlayIntersectionMaskPrimitiveType, + pub m_Primitive: VROverlayIntersectionMaskPrimitive_Data_t, +} +#[test] +fn bindgen_test_layout_VROverlayIntersectionMaskPrimitive_t() { + assert_eq!(::std::mem::size_of::() , + 20usize , concat ! ( + "Size of: " , stringify ! ( + VROverlayIntersectionMaskPrimitive_t ) )); + assert_eq! (::std::mem::align_of::() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + VROverlayIntersectionMaskPrimitive_t ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionMaskPrimitive_t ) ) + . m_nPrimitiveType as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionMaskPrimitive_t ) , "::" , stringify ! ( + m_nPrimitiveType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VROverlayIntersectionMaskPrimitive_t ) ) + . m_Primitive as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + VROverlayIntersectionMaskPrimitive_t ) , "::" , stringify ! ( + m_Primitive ) )); +} +impl Clone for VROverlayIntersectionMaskPrimitive_t { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] pub struct VR_IVRSystem_FnTable { pub GetRecommendedRenderTargetSize: ::std::option::Option, - pub GetProjectionMatrix: ::std::option::Option, + pub GetProjectionMatrix: ::std::option::Option HmdMatrix44_t>, pub GetProjectionRaw: ::std::option::Option, - pub ComputeDistortion: ::std::option::Option - DistortionCoordinates_t>, - pub GetEyeToHeadTransform: ::std::option::Option, + pub ComputeDistortion: ::std::option::Option bool>, + pub GetEyeToHeadTransform: ::std::option::Option HmdMatrix34_t>, pub GetTimeSinceLastVsync: ::std::option::Option - ::std::os::raw::c_int>, - pub GetD3D9AdapterIndex: ::std::option::Option int32_t>, + *mut u64) + -> bool>, + pub GetD3D9AdapterIndex: ::std::option::Option i32>, pub GetDXGIOutputInfo: ::std::option::Option, - pub IsDisplayOnDesktop: ::std::option::Option - ::std::os::raw::c_int>, - pub SetDisplayVisibility: ::std::option::Option - ::std::os::raw::c_int>, + *mut i32)>, + pub GetOutputDevice: ::std::option::Option, + pub IsDisplayOnDesktop: ::std::option::Option bool>, + pub SetDisplayVisibility: ::std::option::Option bool>, pub GetDeviceToAbsoluteTrackingPose: ::std::option::Option, - pub ResetSeatedZeroPose: ::std::option::Option, - pub GetSeatedZeroPoseToStandingAbsoluteTrackingPose: ::std::option::Option, + pub ResetSeatedZeroPose: ::std::option::Option, + pub GetSeatedZeroPoseToStandingAbsoluteTrackingPose: ::std::option::Option HmdMatrix34_t>, - pub GetRawZeroPoseToStandingAbsoluteTrackingPose: ::std::option::Option HmdMatrix34_t>, pub GetSortedTrackedDeviceIndicesOfClass: ::std::option::Option - uint32_t>, - pub GetTrackedDeviceActivityLevel: ::std::option::Option, + pub GetTrackedDeviceActivityLevel: ::std::option::Option EDeviceActivityLevel>, pub ApplyTransform: ::std::option::Option, - pub GetTrackedDeviceIndexForControllerRole: ::std::option::Option TrackedDeviceIndex_t>, - pub GetControllerRoleForTrackedDeviceIndex: ::std::option::Option ETrackedControllerRole>, - pub GetTrackedDeviceClass: ::std::option::Option ETrackedDeviceClass>, - pub IsTrackedDeviceConnected: ::std::option::Option - ::std::os::raw::c_int>, + pub IsTrackedDeviceConnected: ::std::option::Option bool>, pub GetBoolTrackedDeviceProperty: ::std::option::Option - ::std::os::raw::c_int>, + -> bool>, pub GetFloatTrackedDeviceProperty: ::std::option::Option - ::std::os::raw::c_float>, + -> f32>, pub GetInt32TrackedDeviceProperty: ::std::option::Option int32_t>, + -> i32>, pub GetUint64TrackedDeviceProperty: ::std::option::Option - uint64_t>, + -> u64>, pub GetMatrix34TrackedDeviceProperty: ::std::option::Option - uint32_t>, - pub GetPropErrorNameFromEnum: ::std::option::Option u32>, + pub GetPropErrorNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, pub PollNextEvent: ::std::option::Option ::std::os::raw::c_int>, + u32) + -> bool>, pub PollNextEventWithPose: ::std::option::Option - ::std::os::raw::c_int>, - pub GetEventTypeNameFromEnum: ::std::option::Option bool>, + pub GetEventTypeNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, - pub GetHiddenAreaMesh: ::std::option::Option HiddenAreaMesh_t>, pub GetControllerState: ::std::option::Option - ::std::os::raw::c_int>, + *mut VRControllerState_t, + unControllerStateSize: + u32) + -> bool>, pub GetControllerStateWithPose: ::std::option::Option - ::std::os::raw::c_int>, - pub TriggerHapticPulse: ::std::option::Option, - pub GetButtonIdNameFromEnum: ::std::option::Option bool>, + pub TriggerHapticPulse: ::std::option::Option, + pub GetButtonIdNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, - pub GetControllerAxisTypeNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, - pub CaptureInputFocus: ::std::option::Option - ::std::os::raw::c_int>, - pub ReleaseInputFocus: ::std::option::Option, - pub IsInputFocusCapturedByAnotherProcess: ::std::option::Option bool>, + pub ReleaseInputFocus: ::std::option::Option, + pub IsInputFocusCapturedByAnotherProcess: ::std::option::Option - ::std::os::raw::c_int>, + bool>, pub DriverDebugRequest: ::std::option::Option uint32_t>, - pub PerformFirmwareUpdate: ::std::option::Option u32>, + pub PerformFirmwareUpdate: ::std::option::Option EVRFirmwareError>, - pub AcknowledgeQuit_Exiting: ::std::option::Option, - pub AcknowledgeQuit_UserPrompt: ::std::option::Option, -} -impl ::std::default::Default for VR_IVRSystem_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub AcknowledgeQuit_Exiting: ::std::option::Option, + pub AcknowledgeQuit_UserPrompt: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_VR_IVRSystem_FnTable() { + assert_eq!(::std::mem::size_of::() , 360usize , + concat ! ( "Size of: " , stringify ! ( VR_IVRSystem_FnTable ) + )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VR_IVRSystem_FnTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetRecommendedRenderTargetSize as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetRecommendedRenderTargetSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetProjectionMatrix as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetProjectionMatrix ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetProjectionRaw as * const _ as usize } , 16usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetProjectionRaw ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + ComputeDistortion as * const _ as usize } , 24usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( ComputeDistortion ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetEyeToHeadTransform as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetEyeToHeadTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetTimeSinceLastVsync as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetTimeSinceLastVsync ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetD3D9AdapterIndex as * const _ as usize } , 48usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetD3D9AdapterIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetDXGIOutputInfo as * const _ as usize } , 56usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetDXGIOutputInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetOutputDevice as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetOutputDevice ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + IsDisplayOnDesktop as * const _ as usize } , 72usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( IsDisplayOnDesktop ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + SetDisplayVisibility as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( SetDisplayVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetDeviceToAbsoluteTrackingPose as * const _ as usize } , + 88usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetDeviceToAbsoluteTrackingPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + ResetSeatedZeroPose as * const _ as usize } , 96usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( ResetSeatedZeroPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetSeatedZeroPoseToStandingAbsoluteTrackingPose as * const _ + as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( + GetSeatedZeroPoseToStandingAbsoluteTrackingPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetRawZeroPoseToStandingAbsoluteTrackingPose as * const _ as + usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( + GetRawZeroPoseToStandingAbsoluteTrackingPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetSortedTrackedDeviceIndicesOfClass as * const _ as usize } , + 120usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetSortedTrackedDeviceIndicesOfClass ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetTrackedDeviceActivityLevel as * const _ as usize } , + 128usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetTrackedDeviceActivityLevel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . ApplyTransform + as * const _ as usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( ApplyTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetTrackedDeviceIndexForControllerRole as * const _ as usize } + , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetTrackedDeviceIndexForControllerRole + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetControllerRoleForTrackedDeviceIndex as * const _ as usize } + , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetControllerRoleForTrackedDeviceIndex + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetTrackedDeviceClass as * const _ as usize } , 160usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetTrackedDeviceClass ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + IsTrackedDeviceConnected as * const _ as usize } , 168usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( IsTrackedDeviceConnected ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetBoolTrackedDeviceProperty as * const _ as usize } , + 176usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetBoolTrackedDeviceProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetFloatTrackedDeviceProperty as * const _ as usize } , + 184usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetFloatTrackedDeviceProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetInt32TrackedDeviceProperty as * const _ as usize } , + 192usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetInt32TrackedDeviceProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetUint64TrackedDeviceProperty as * const _ as usize } , + 200usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetUint64TrackedDeviceProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetMatrix34TrackedDeviceProperty as * const _ as usize } , + 208usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetMatrix34TrackedDeviceProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetStringTrackedDeviceProperty as * const _ as usize } , + 216usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetStringTrackedDeviceProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetPropErrorNameFromEnum as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetPropErrorNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . PollNextEvent + as * const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( PollNextEvent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + PollNextEventWithPose as * const _ as usize } , 240usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( PollNextEventWithPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetEventTypeNameFromEnum as * const _ as usize } , 248usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetEventTypeNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetHiddenAreaMesh as * const _ as usize } , 256usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetHiddenAreaMesh ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetControllerState as * const _ as usize } , 264usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetControllerState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetControllerStateWithPose as * const _ as usize } , 272usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetControllerStateWithPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + TriggerHapticPulse as * const _ as usize } , 280usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( TriggerHapticPulse ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetButtonIdNameFromEnum as * const _ as usize } , 288usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetButtonIdNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + GetControllerAxisTypeNameFromEnum as * const _ as usize } , + 296usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( GetControllerAxisTypeNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + CaptureInputFocus as * const _ as usize } , 304usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( CaptureInputFocus ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + ReleaseInputFocus as * const _ as usize } , 312usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( ReleaseInputFocus ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + IsInputFocusCapturedByAnotherProcess as * const _ as usize } , + 320usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( IsInputFocusCapturedByAnotherProcess ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + DriverDebugRequest as * const _ as usize } , 328usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( DriverDebugRequest ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + PerformFirmwareUpdate as * const _ as usize } , 336usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( PerformFirmwareUpdate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + AcknowledgeQuit_Exiting as * const _ as usize } , 344usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( AcknowledgeQuit_Exiting ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSystem_FnTable ) ) . + AcknowledgeQuit_UserPrompt as * const _ as usize } , 352usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSystem_FnTable ) + , "::" , stringify ! ( AcknowledgeQuit_UserPrompt ) )); +} +impl Clone for VR_IVRSystem_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRExtendedDisplay_FnTable { pub GetWindowBounds: ::std::option::Option, + *mut u32)>, pub GetEyeOutputViewport: ::std::option::Option, + *mut u32)>, pub GetDXGIOutputInfo: ::std::option::Option, -} -impl ::std::default::Default for VR_IVRExtendedDisplay_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + *mut i32)>, +} +#[test] +fn bindgen_test_layout_VR_IVRExtendedDisplay_FnTable() { + assert_eq!(::std::mem::size_of::() , + 24usize , concat ! ( + "Size of: " , stringify ! ( VR_IVRExtendedDisplay_FnTable ) )); + assert_eq! (::std::mem::align_of::() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( VR_IVRExtendedDisplay_FnTable + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRExtendedDisplay_FnTable ) ) . + GetWindowBounds as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRExtendedDisplay_FnTable ) , "::" , stringify ! ( + GetWindowBounds ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRExtendedDisplay_FnTable ) ) . + GetEyeOutputViewport as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRExtendedDisplay_FnTable ) , "::" , stringify ! ( + GetEyeOutputViewport ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRExtendedDisplay_FnTable ) ) . + GetDXGIOutputInfo as * const _ as usize } , 16usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRExtendedDisplay_FnTable ) , "::" , stringify ! ( + GetDXGIOutputInfo ) )); +} +impl Clone for VR_IVRExtendedDisplay_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRTrackedCamera_FnTable { - pub GetCameraErrorNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, pub HasCamera: ::std::option::Option EVRTrackedCameraError>, pub GetCameraFrameSize: ::std::option::Option EVRTrackedCameraError>, - pub GetCameraIntrinisics: ::std::option::Option - EVRTrackedCameraError>, + pub GetCameraIntrinsics: ::std::option::Option + EVRTrackedCameraError>, pub GetCameraProjection: ::std::option::Option @@ -1771,8 +5232,8 @@ pub struct VR_IVRTrackedCamera_FnTable { *mut TrackedCameraHandle_t) -> EVRTrackedCameraError>, - pub ReleaseVideoStreamingService: ::std::option::Option EVRTrackedCameraError>, pub GetVideoStreamFrameBuffer: ::std::option::Option EVRTrackedCameraError>, -} -impl ::std::default::Default for VR_IVRTrackedCamera_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub GetVideoStreamTextureSize: ::std::option::Option + EVRTrackedCameraError>, + pub GetVideoStreamTextureD3D11: ::std::option::Option + EVRTrackedCameraError>, + pub GetVideoStreamTextureGL: ::std::option::Option + EVRTrackedCameraError>, + pub ReleaseVideoStreamTextureGL: ::std::option::Option + EVRTrackedCameraError>, +} +#[test] +fn bindgen_test_layout_VR_IVRTrackedCamera_FnTable() { + assert_eq!(::std::mem::size_of::() , 96usize + , concat ! ( + "Size of: " , stringify ! ( VR_IVRTrackedCamera_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( VR_IVRTrackedCamera_FnTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + GetCameraErrorNameFromEnum as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + GetCameraErrorNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + HasCamera as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( HasCamera + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + GetCameraFrameSize as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + GetCameraFrameSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + GetCameraIntrinsics as * const _ as usize } , 24usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + GetCameraIntrinsics ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + GetCameraProjection as * const _ as usize } , 32usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + GetCameraProjection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + AcquireVideoStreamingService as * const _ as usize } , 40usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + AcquireVideoStreamingService ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + ReleaseVideoStreamingService as * const _ as usize } , 48usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + ReleaseVideoStreamingService ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + GetVideoStreamFrameBuffer as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + GetVideoStreamFrameBuffer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + GetVideoStreamTextureSize as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + GetVideoStreamTextureSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + GetVideoStreamTextureD3D11 as * const _ as usize } , 72usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + GetVideoStreamTextureD3D11 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + GetVideoStreamTextureGL as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + GetVideoStreamTextureGL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRTrackedCamera_FnTable ) ) . + ReleaseVideoStreamTextureGL as * const _ as usize } , 88usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRTrackedCamera_FnTable ) , "::" , stringify ! ( + ReleaseVideoStreamTextureGL ) )); +} +impl Clone for VR_IVRTrackedCamera_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRApplications_FnTable { pub AddApplicationManifest: ::std::option::Option EVRApplicationError>, pub RemoveApplicationManifest: ::std::option::Option, pub IsApplicationInstalled: ::std::option::Option - ::std::os::raw::c_int>, - pub GetApplicationCount: ::std::option::Option uint32_t>, + -> bool>, + pub GetApplicationCount: ::std::option::Option u32>, pub GetApplicationKeyByIndex: ::std::option::Option EVRApplicationError>, pub GetApplicationKeyByProcessId: ::std::option::Option EVRApplicationError>, pub LaunchApplication: ::std::option::Option EVRApplicationError>, + pub LaunchApplicationFromMimeType: ::std::option::Option + EVRApplicationError>, pub LaunchDashboardOverlay: ::std::option::Option EVRApplicationError>, pub CancelApplicationLaunch: ::std::option::Option - ::std::os::raw::c_int>, + -> bool>, pub IdentifyApplication: ::std::option::Option EVRApplicationError>, pub GetApplicationProcessId: ::std::option::Option uint32_t>, - pub GetApplicationsErrorNameFromEnum: ::std::option::Option u32>, + pub GetApplicationsErrorNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, pub GetApplicationPropertyString: ::std::option::Option uint32_t>, + -> u32>, pub GetApplicationPropertyBool: ::std::option::Option - ::std::os::raw::c_int>, + -> bool>, pub GetApplicationPropertyUint64: ::std::option::Option uint64_t>, + -> u64>, pub SetApplicationAutoLaunch: ::std::option::Option EVRApplicationError>, pub GetApplicationAutoLaunch: ::std::option::Option - ::std::os::raw::c_int>, + -> bool>, + pub SetDefaultApplicationForMimeType: ::std::option::Option + EVRApplicationError>, + pub GetDefaultApplicationForMimeType: ::std::option::Option bool>, + pub GetApplicationSupportedMimeTypes: ::std::option::Option bool>, + pub GetApplicationsThatSupportMimeType: ::std::option::Option u32>, + pub GetApplicationLaunchArguments: ::std::option::Option u32>, pub GetStartingApplication: ::std::option::Option EVRApplicationError>, - pub GetTransitionState: ::std::option::Option EVRApplicationTransitionState>, pub PerformApplicationPrelaunchCheck: ::std::option::Option EVRApplicationError>, - pub GetApplicationsTransitionStateNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, - pub IsQuitUserPromptRequested: ::std::option::Option - ::std::os::raw::c_int>, + pub IsQuitUserPromptRequested: ::std::option::Option bool>, pub LaunchInternalProcess: ::std::option::Option EVRApplicationError>, -} -impl ::std::default::Default for VR_IVRApplications_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub GetCurrentSceneProcessId: ::std::option::Option u32>, +} +#[test] +fn bindgen_test_layout_VR_IVRApplications_FnTable() { + assert_eq!(::std::mem::size_of::() , 248usize + , concat ! ( + "Size of: " , stringify ! ( VR_IVRApplications_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( VR_IVRApplications_FnTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + AddApplicationManifest as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + AddApplicationManifest ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + RemoveApplicationManifest as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + RemoveApplicationManifest ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + IsApplicationInstalled as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + IsApplicationInstalled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationCount as * const _ as usize } , 24usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationKeyByIndex as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationKeyByIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationKeyByProcessId as * const _ as usize } , 40usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationKeyByProcessId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + LaunchApplication as * const _ as usize } , 48usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + LaunchApplication ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + LaunchTemplateApplication as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + LaunchTemplateApplication ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + LaunchApplicationFromMimeType as * const _ as usize } , + 64usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + LaunchApplicationFromMimeType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + LaunchDashboardOverlay as * const _ as usize } , 72usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + LaunchDashboardOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + CancelApplicationLaunch as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + CancelApplicationLaunch ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + IdentifyApplication as * const _ as usize } , 88usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + IdentifyApplication ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationProcessId as * const _ as usize } , 96usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationProcessId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationsErrorNameFromEnum as * const _ as usize } , + 104usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationsErrorNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationPropertyString as * const _ as usize } , + 112usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationPropertyString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationPropertyBool as * const _ as usize } , 120usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationPropertyBool ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationPropertyUint64 as * const _ as usize } , + 128usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationPropertyUint64 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + SetApplicationAutoLaunch as * const _ as usize } , 136usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + SetApplicationAutoLaunch ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationAutoLaunch as * const _ as usize } , 144usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationAutoLaunch ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + SetDefaultApplicationForMimeType as * const _ as usize } , + 152usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + SetDefaultApplicationForMimeType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetDefaultApplicationForMimeType as * const _ as usize } , + 160usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetDefaultApplicationForMimeType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationSupportedMimeTypes as * const _ as usize } , + 168usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationSupportedMimeTypes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationsThatSupportMimeType as * const _ as usize } , + 176usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationsThatSupportMimeType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationLaunchArguments as * const _ as usize } , + 184usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationLaunchArguments ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetStartingApplication as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetStartingApplication ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetTransitionState as * const _ as usize } , 200usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetTransitionState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + PerformApplicationPrelaunchCheck as * const _ as usize } , + 208usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + PerformApplicationPrelaunchCheck ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetApplicationsTransitionStateNameFromEnum as * const _ as + usize } , 216usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetApplicationsTransitionStateNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + IsQuitUserPromptRequested as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + IsQuitUserPromptRequested ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + LaunchInternalProcess as * const _ as usize } , 232usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + LaunchInternalProcess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRApplications_FnTable ) ) . + GetCurrentSceneProcessId as * const _ as usize } , 240usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRApplications_FnTable ) , "::" , stringify ! ( + GetCurrentSceneProcessId ) )); +} +impl Clone for VR_IVRApplications_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRChaperone_FnTable { - pub GetCalibrationState: ::std::option::Option ChaperoneCalibrationState>, pub GetPlayAreaSize: ::std::option::Option ::std::os::raw::c_int>, + *mut f32) + -> bool>, pub GetPlayAreaRect: ::std::option::Option ::std::os::raw::c_int>, - pub ReloadInfo: ::std::option::Option, - pub SetSceneColor: ::std::option::Option, + -> bool>, + pub ReloadInfo: ::std::option::Option, + pub SetSceneColor: ::std::option::Option, pub GetBoundsColor: ::std::option::Option, - pub AreBoundsVisible: ::std::option::Option ::std::os::raw::c_int>, - pub ForceBoundsVisible: ::std::option::Option, -} -impl ::std::default::Default for VR_IVRChaperone_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub AreBoundsVisible: ::std::option::Option bool>, + pub ForceBoundsVisible: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_VR_IVRChaperone_FnTable() { + assert_eq!(::std::mem::size_of::() , 64usize , + concat ! ( + "Size of: " , stringify ! ( VR_IVRChaperone_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VR_IVRChaperone_FnTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperone_FnTable ) ) . + GetCalibrationState as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRChaperone_FnTable + ) , "::" , stringify ! ( GetCalibrationState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperone_FnTable ) ) . + GetPlayAreaSize as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRChaperone_FnTable + ) , "::" , stringify ! ( GetPlayAreaSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperone_FnTable ) ) . + GetPlayAreaRect as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRChaperone_FnTable + ) , "::" , stringify ! ( GetPlayAreaRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperone_FnTable ) ) . ReloadInfo + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRChaperone_FnTable + ) , "::" , stringify ! ( ReloadInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperone_FnTable ) ) . + SetSceneColor as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRChaperone_FnTable + ) , "::" , stringify ! ( SetSceneColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperone_FnTable ) ) . + GetBoundsColor as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRChaperone_FnTable + ) , "::" , stringify ! ( GetBoundsColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperone_FnTable ) ) . + AreBoundsVisible as * const _ as usize } , 48usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVRChaperone_FnTable + ) , "::" , stringify ! ( AreBoundsVisible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperone_FnTable ) ) . + ForceBoundsVisible as * const _ as usize } , 56usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRChaperone_FnTable + ) , "::" , stringify ! ( ForceBoundsVisible ) )); +} +impl Clone for VR_IVRChaperone_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRChaperoneSetup_FnTable { - pub CommitWorkingCopy: ::std::option::Option - ::std::os::raw::c_int>, - pub RevertWorkingCopy: ::std::option::Option, + pub CommitWorkingCopy: ::std::option::Option bool>, + pub RevertWorkingCopy: ::std::option::Option, pub GetWorkingPlayAreaSize: ::std::option::Option - ::std::os::raw::c_int>, + *mut f32) + -> bool>, pub GetWorkingPlayAreaRect: ::std::option::Option - ::std::os::raw::c_int>, + -> bool>, pub GetWorkingCollisionBoundsInfo: ::std::option::Option - ::std::os::raw::c_int>, + *mut u32) + -> bool>, pub GetLiveCollisionBoundsInfo: ::std::option::Option - ::std::os::raw::c_int>, + *mut u32) + -> bool>, pub GetWorkingSeatedZeroPoseToRawTrackingPose: ::std::option::Option - ::std::os::raw::c_int>, + bool>, pub GetWorkingStandingZeroPoseToRawTrackingPose: ::std::option::Option - ::std::os::raw::c_int>, - pub SetWorkingPlayAreaSize: ::std::option::Option, + bool>, + pub SetWorkingPlayAreaSize: ::std::option::Option, pub SetWorkingCollisionBoundsInfo: ::std::option::Option, + u32)>, pub SetWorkingSeatedZeroPoseToRawTrackingPose: ::std::option::Option, pub SetWorkingStandingZeroPoseToRawTrackingPose: ::std::option::Option, - pub ReloadFromDisk: ::std::option::Option, + pub ReloadFromDisk: ::std::option::Option, pub GetLiveSeatedZeroPoseToRawTrackingPose: ::std::option::Option - ::std::os::raw::c_int>, + bool>, pub SetWorkingCollisionBoundsTagsInfo: ::std::option::Option, + u32)>, pub GetLiveCollisionBoundsTagsInfo: ::std::option::Option - ::std::os::raw::c_int>, + *mut u32) + -> bool>, pub SetWorkingPhysicalBoundsInfo: ::std::option::Option - ::std::os::raw::c_int>, + u32) + -> bool>, pub GetLivePhysicalBoundsInfo: ::std::option::Option - ::std::os::raw::c_int>, + *mut u32) + -> bool>, pub ExportLiveToBuffer: ::std::option::Option - ::std::os::raw::c_int>, + *mut u32) + -> bool>, pub ImportFromBufferToWorking: ::std::option::Option - ::std::os::raw::c_int>, -} -impl ::std::default::Default for VR_IVRChaperoneSetup_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + u32) + -> bool>, +} +#[test] +fn bindgen_test_layout_VR_IVRChaperoneSetup_FnTable() { + assert_eq!(::std::mem::size_of::() , + 160usize , concat ! ( + "Size of: " , stringify ! ( VR_IVRChaperoneSetup_FnTable ) )); + assert_eq! (::std::mem::align_of::() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( VR_IVRChaperoneSetup_FnTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + CommitWorkingCopy as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + CommitWorkingCopy ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + RevertWorkingCopy as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + RevertWorkingCopy ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetWorkingPlayAreaSize as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetWorkingPlayAreaSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetWorkingPlayAreaRect as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetWorkingPlayAreaRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetWorkingCollisionBoundsInfo as * const _ as usize } , + 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetWorkingCollisionBoundsInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetLiveCollisionBoundsInfo as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetLiveCollisionBoundsInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetWorkingSeatedZeroPoseToRawTrackingPose as * const _ as + usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetWorkingSeatedZeroPoseToRawTrackingPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetWorkingStandingZeroPoseToRawTrackingPose as * const _ as + usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetWorkingStandingZeroPoseToRawTrackingPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + SetWorkingPlayAreaSize as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + SetWorkingPlayAreaSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + SetWorkingCollisionBoundsInfo as * const _ as usize } , + 72usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + SetWorkingCollisionBoundsInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + SetWorkingSeatedZeroPoseToRawTrackingPose as * const _ as + usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + SetWorkingSeatedZeroPoseToRawTrackingPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + SetWorkingStandingZeroPoseToRawTrackingPose as * const _ as + usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + SetWorkingStandingZeroPoseToRawTrackingPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + ReloadFromDisk as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + ReloadFromDisk ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetLiveSeatedZeroPoseToRawTrackingPose as * const _ as usize } + , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetLiveSeatedZeroPoseToRawTrackingPose ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + SetWorkingCollisionBoundsTagsInfo as * const _ as usize } , + 112usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + SetWorkingCollisionBoundsTagsInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetLiveCollisionBoundsTagsInfo as * const _ as usize } , + 120usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetLiveCollisionBoundsTagsInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + SetWorkingPhysicalBoundsInfo as * const _ as usize } , + 128usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + SetWorkingPhysicalBoundsInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + GetLivePhysicalBoundsInfo as * const _ as usize } , 136usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + GetLivePhysicalBoundsInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + ExportLiveToBuffer as * const _ as usize } , 144usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + ExportLiveToBuffer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRChaperoneSetup_FnTable ) ) . + ImportFromBufferToWorking as * const _ as usize } , 152usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRChaperoneSetup_FnTable ) , "::" , stringify ! ( + ImportFromBufferToWorking ) )); +} +impl Clone for VR_IVRChaperoneSetup_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRCompositor_FnTable { - pub SetTrackingSpace: ::std::option::Option, - pub GetTrackingSpace: ::std::option::Option, + pub GetTrackingSpace: ::std::option::Option ETrackingUniverseOrigin>, pub WaitGetPoses: ::std::option::Option EVRCompositorError>, pub GetLastPoses: ::std::option::Option EVRCompositorError>, pub GetLastPoseForTrackedDeviceIndex: ::std::option::Option EVRCompositorError>, - pub ClearLastSubmittedFrame: ::std::option::Option, - pub PostPresentHandoff: ::std::option::Option, + pub ClearLastSubmittedFrame: ::std::option::Option, + pub PostPresentHandoff: ::std::option::Option, pub GetFrameTiming: ::std::option::Option ::std::os::raw::c_int>, - pub GetFrameTimeRemaining: ::std::option::Option - ::std::os::raw::c_float>, + u32) + -> bool>, + pub GetFrameTimings: ::std::option::Option u32>, + pub GetFrameTimeRemaining: ::std::option::Option f32>, pub GetCumulativeStats: ::std::option::Option, - pub FadeToColor: ::std::option::Option, - pub FadeGrid: ::std::option::Option, + u32)>, + pub FadeToColor: ::std::option::Option, + pub GetCurrentFadeColor: ::std::option::Option HmdColor_t>, + pub FadeGrid: ::std::option::Option, + pub GetCurrentGridAlpha: ::std::option::Option f32>, pub SetSkyboxOverride: ::std::option::Option EVRCompositorError>, - pub ClearSkyboxOverride: ::std::option::Option, - pub CompositorBringToFront: ::std::option::Option, - pub CompositorGoToBack: ::std::option::Option, - pub CompositorQuit: ::std::option::Option, - pub IsFullscreen: ::std::option::Option ::std::os::raw::c_int>, - pub GetCurrentSceneFocusProcess: ::std::option::Option uint32_t>, - pub GetLastFrameRenderer: ::std::option::Option uint32_t>, - pub CanRenderScene: ::std::option::Option ::std::os::raw::c_int>, - pub ShowMirrorWindow: ::std::option::Option, - pub HideMirrorWindow: ::std::option::Option, - pub IsMirrorWindowVisible: ::std::option::Option - ::std::os::raw::c_int>, - pub CompositorDumpImages: ::std::option::Option, - pub ShouldAppRenderWithLowResources: ::std::option::Option - ::std::os::raw::c_int>, - pub ForceInterleavedReprojectionOn: ::std::option::Option, - pub ForceReconnectProcess: ::std::option::Option, - pub SuspendRendering: ::std::option::Option, - pub RequestScreenshot: ::std::option::Option EVRCompositorError>, - pub GetCurrentScreenshotType: ::std::option::Option - EVRScreenshotType>, + pub ClearSkyboxOverride: ::std::option::Option, + pub CompositorBringToFront: ::std::option::Option, + pub CompositorGoToBack: ::std::option::Option, + pub CompositorQuit: ::std::option::Option, + pub IsFullscreen: ::std::option::Option bool>, + pub GetCurrentSceneFocusProcess: ::std::option::Option u32>, + pub GetLastFrameRenderer: ::std::option::Option u32>, + pub CanRenderScene: ::std::option::Option bool>, + pub ShowMirrorWindow: ::std::option::Option, + pub HideMirrorWindow: ::std::option::Option, + pub IsMirrorWindowVisible: ::std::option::Option bool>, + pub CompositorDumpImages: ::std::option::Option, + pub ShouldAppRenderWithLowResources: ::std::option::Option bool>, + pub ForceInterleavedReprojectionOn: ::std::option::Option, + pub ForceReconnectProcess: ::std::option::Option, + pub SuspendRendering: ::std::option::Option, pub GetMirrorTextureD3D11: ::std::option::Option EVRCompositorError>, + pub ReleaseMirrorTextureD3D11: ::std::option::Option, pub GetMirrorTextureGL: ::std::option::Option EVRCompositorError>, - pub ReleaseSharedGLTexture: ::std::option::Option - ::std::os::raw::c_int>, - pub LockGLSharedTextureForAccess: ::std::option::Option, - pub UnlockGLSharedTextureForAccess: ::std::option::Option, -} -impl ::std::default::Default for VR_IVRCompositor_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub ReleaseSharedGLTexture: ::std::option::Option bool>, + pub LockGLSharedTextureForAccess: ::std::option::Option, + pub UnlockGLSharedTextureForAccess: ::std::option::Option, + pub GetVulkanInstanceExtensionsRequired: ::std::option::Option + u32>, + pub GetVulkanDeviceExtensionsRequired: ::std::option::Option u32>, +} +#[test] +fn bindgen_test_layout_VR_IVRCompositor_FnTable() { + assert_eq!(::std::mem::size_of::() , 328usize , + concat ! ( + "Size of: " , stringify ! ( VR_IVRCompositor_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VR_IVRCompositor_FnTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + SetTrackingSpace as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + SetTrackingSpace ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetTrackingSpace as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetTrackingSpace ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + WaitGetPoses as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( WaitGetPoses + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetLastPoses as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( GetLastPoses + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetLastPoseForTrackedDeviceIndex as * const _ as usize } , + 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetLastPoseForTrackedDeviceIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . Submit as + * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( Submit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + ClearLastSubmittedFrame as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + ClearLastSubmittedFrame ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + PostPresentHandoff as * const _ as usize } , 56usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + PostPresentHandoff ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetFrameTiming as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetFrameTiming ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetFrameTimings as * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetFrameTimings ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetFrameTimeRemaining as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetFrameTimeRemaining ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetCumulativeStats as * const _ as usize } , 88usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetCumulativeStats ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + FadeToColor as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( FadeToColor + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetCurrentFadeColor as * const _ as usize } , 104usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetCurrentFadeColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . FadeGrid + as * const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( FadeGrid ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetCurrentGridAlpha as * const _ as usize } , 120usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetCurrentGridAlpha ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + SetSkyboxOverride as * const _ as usize } , 128usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + SetSkyboxOverride ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + ClearSkyboxOverride as * const _ as usize } , 136usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + ClearSkyboxOverride ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + CompositorBringToFront as * const _ as usize } , 144usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + CompositorBringToFront ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + CompositorGoToBack as * const _ as usize } , 152usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + CompositorGoToBack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + CompositorQuit as * const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + CompositorQuit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + IsFullscreen as * const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( IsFullscreen + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetCurrentSceneFocusProcess as * const _ as usize } , 176usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetCurrentSceneFocusProcess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetLastFrameRenderer as * const _ as usize } , 184usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetLastFrameRenderer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + CanRenderScene as * const _ as usize } , 192usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + CanRenderScene ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + ShowMirrorWindow as * const _ as usize } , 200usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + ShowMirrorWindow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + HideMirrorWindow as * const _ as usize } , 208usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + HideMirrorWindow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + IsMirrorWindowVisible as * const _ as usize } , 216usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + IsMirrorWindowVisible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + CompositorDumpImages as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + CompositorDumpImages ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + ShouldAppRenderWithLowResources as * const _ as usize } , + 232usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + ShouldAppRenderWithLowResources ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + ForceInterleavedReprojectionOn as * const _ as usize } , + 240usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + ForceInterleavedReprojectionOn ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + ForceReconnectProcess as * const _ as usize } , 248usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + ForceReconnectProcess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + SuspendRendering as * const _ as usize } , 256usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + SuspendRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetMirrorTextureD3D11 as * const _ as usize } , 264usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetMirrorTextureD3D11 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + ReleaseMirrorTextureD3D11 as * const _ as usize } , 272usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + ReleaseMirrorTextureD3D11 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetMirrorTextureGL as * const _ as usize } , 280usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetMirrorTextureGL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + ReleaseSharedGLTexture as * const _ as usize } , 288usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + ReleaseSharedGLTexture ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + LockGLSharedTextureForAccess as * const _ as usize } , + 296usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + LockGLSharedTextureForAccess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + UnlockGLSharedTextureForAccess as * const _ as usize } , + 304usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + UnlockGLSharedTextureForAccess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetVulkanInstanceExtensionsRequired as * const _ as usize } , + 312usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetVulkanInstanceExtensionsRequired ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRCompositor_FnTable ) ) . + GetVulkanDeviceExtensionsRequired as * const _ as usize } , + 320usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRCompositor_FnTable ) , "::" , stringify ! ( + GetVulkanDeviceExtensionsRequired ) )); +} +impl Clone for VR_IVRCompositor_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVROverlay_FnTable { pub FindOverlay: ::std::option::Option EVROverlayError>, pub CreateOverlay: ::std::option::Option EVROverlayError>, - pub DestroyOverlay: ::std::option::Option EVROverlayError>, - pub SetHighQualityOverlay: ::std::option::Option EVROverlayError>, + pub SetHighQualityOverlay: ::std::option::Option EVROverlayError>, - pub GetHighQualityOverlay: ::std::option::Option VROverlayHandle_t>, pub GetOverlayKey: ::std::option::Option uint32_t>, + -> u32>, pub GetOverlayName: ::std::option::Option uint32_t>, + -> u32>, + pub SetOverlayName: ::std::option::Option EVROverlayError>, pub GetOverlayImageData: ::std::option::Option EVROverlayError>, - pub GetOverlayErrorNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, - pub SetOverlayRenderingPid: ::std::option::Option EVROverlayError>, - pub GetOverlayRenderingPid: ::std::option::Option uint32_t>, - pub SetOverlayFlag: ::std::option::Option u32>, + pub SetOverlayFlag: ::std::option::Option EVROverlayError>, pub GetOverlayFlag: ::std::option::Option EVROverlayError>, - pub SetOverlayColor: ::std::option::Option EVROverlayError>, pub GetOverlayColor: ::std::option::Option EVROverlayError>, - pub SetOverlayAlpha: ::std::option::Option EVROverlayError>, pub GetOverlayAlpha: ::std::option::Option EVROverlayError>, - pub SetOverlayWidthInMeters: ::std::option::Option EVROverlayError>, + pub GetOverlayTexelAspect: ::std::option::Option EVROverlayError>, + pub SetOverlaySortOrder: ::std::option::Option EVROverlayError>, + pub GetOverlaySortOrder: ::std::option::Option EVROverlayError>, + pub SetOverlayWidthInMeters: ::std::option::Option EVROverlayError>, pub GetOverlayWidthInMeters: ::std::option::Option EVROverlayError>, - pub SetOverlayAutoCurveDistanceRangeInMeters: ::std::option::Option EVROverlayError>, pub GetOverlayAutoCurveDistanceRangeInMeters: ::std::option::Option EVROverlayError>, - pub SetOverlayTextureColorSpace: ::std::option::Option EVROverlayError>, pub GetOverlayTextureColorSpace: ::std::option::Option EVROverlayError>, + pub GetOverlayRenderModel: ::std::option::Option u32>, + pub SetOverlayRenderModel: ::std::option::Option EVROverlayError>, pub GetOverlayTransformType: ::std::option::Option EVROverlayError>, - pub ShowOverlay: ::std::option::Option + EVROverlayError>, + pub SetOverlayTransformOverlayRelative: ::std::option::Option + EVROverlayError>, + pub ShowOverlay: ::std::option::Option EVROverlayError>, - pub HideOverlay: ::std::option::Option EVROverlayError>, - pub IsOverlayVisible: ::std::option::Option ::std::os::raw::c_int>, + pub IsOverlayVisible: ::std::option::Option bool>, pub GetTransformForOverlayCoordinates: ::std::option::Option - ::std::os::raw::c_int>, + u32) + -> bool>, pub GetOverlayInputMethod: ::std::option::Option EVROverlayError>, - pub SetOverlayInputMethod: ::std::option::Option EVROverlayError>, pub GetOverlayMouseScale: ::std::option::Option - ::std::os::raw::c_int>, - pub HandleControllerOverlayInteractionAsMouse: ::std::option::Option bool>, + pub HandleControllerOverlayInteractionAsMouse: ::std::option::Option - ::std::os::raw::c_int>, - pub IsHoverTargetOverlay: ::std::option::Option - ::std::os::raw::c_int>, - pub GetGamepadFocusOverlay: ::std::option::Option, + pub IsHoverTargetOverlay: ::std::option::Option bool>, + pub GetGamepadFocusOverlay: ::std::option::Option VROverlayHandle_t>, - pub SetGamepadFocusOverlay: ::std::option::Option EVROverlayError>, - pub SetOverlayNeighbor: ::std::option::Option EVROverlayError>, - pub MoveGamepadFocusToNeighbor: ::std::option::Option EVROverlayError>, pub SetOverlayTexture: ::std::option::Option EVROverlayError>, - pub ClearOverlayTexture: ::std::option::Option EVROverlayError>, pub SetOverlayRaw: ::std::option::Option EVROverlayError>, pub SetOverlayFromFile: ::std::option::Option EVROverlayError>, pub ReleaseNativeOverlayHandle: ::std::option::Option EVROverlayError>, pub CreateDashboardOverlay: ::std::option::Option EVROverlayError>, - pub IsDashboardVisible: ::std::option::Option - ::std::os::raw::c_int>, - pub IsActiveDashboardOverlay: ::std::option::Option - ::std::os::raw::c_int>, - pub SetDashboardOverlaySceneProcess: ::std::option::Option bool>, + pub IsActiveDashboardOverlay: ::std::option::Option bool>, + pub SetDashboardOverlaySceneProcess: ::std::option::Option EVROverlayError>, pub GetDashboardOverlaySceneProcess: ::std::option::Option EVROverlayError>, pub ShowDashboard: ::std::option::Option, - pub GetPrimaryDashboardDevice: ::std::option::Option TrackedDeviceIndex_t>, pub ShowKeyboard: ::std::option::Option EVROverlayError>, pub ShowKeyboardForOverlay: ::std::option::Option EVROverlayError>, pub GetKeyboardText: ::std::option::Option uint32_t>, - pub HideKeyboard: ::std::option::Option, + u32) + -> u32>, + pub HideKeyboard: ::std::option::Option, pub SetKeyboardTransformAbsolute: ::std::option::Option, - pub SetKeyboardPositionForOverlay: ::std::option::Option, -} -impl ::std::default::Default for VR_IVROverlay_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + pub SetKeyboardPositionForOverlay: ::std::option::Option, + pub SetOverlayIntersectionMask: ::std::option::Option + EVROverlayError>, + pub GetOverlayFlags: ::std::option::Option EVROverlayError>, + pub ShowMessageOverlay: ::std::option::Option + VRMessageOverlayResponse>, +} +#[test] +fn bindgen_test_layout_VR_IVROverlay_FnTable() { + assert_eq!(::std::mem::size_of::() , 640usize , + concat ! ( "Size of: " , stringify ! ( VR_IVROverlay_FnTable ) + )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VR_IVROverlay_FnTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . FindOverlay + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( FindOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . CreateOverlay + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( CreateOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + DestroyOverlay as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( DestroyOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetHighQualityOverlay as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetHighQualityOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetHighQualityOverlay as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetHighQualityOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . GetOverlayKey + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayKey ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayName as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayName as * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayImageData as * const _ as usize } , 64usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayImageData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayErrorNameFromEnum as * const _ as usize } , 72usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayErrorNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayRenderingPid as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayRenderingPid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayRenderingPid as * const _ as usize } , 88usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayRenderingPid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayFlag as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayFlag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayFlag as * const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayFlag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayColor as * const _ as usize } , 112usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayColor as * const _ as usize } , 120usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayAlpha as * const _ as usize } , 128usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayAlpha ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayAlpha as * const _ as usize } , 136usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayAlpha ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayTexelAspect as * const _ as usize } , 144usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayTexelAspect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTexelAspect as * const _ as usize } , 152usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayTexelAspect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlaySortOrder as * const _ as usize } , 160usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlaySortOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlaySortOrder as * const _ as usize } , 168usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlaySortOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayWidthInMeters as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayWidthInMeters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayWidthInMeters as * const _ as usize } , 184usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayWidthInMeters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayAutoCurveDistanceRangeInMeters as * const _ as usize + } , 192usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( + SetOverlayAutoCurveDistanceRangeInMeters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayAutoCurveDistanceRangeInMeters as * const _ as usize + } , 200usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( + GetOverlayAutoCurveDistanceRangeInMeters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayTextureColorSpace as * const _ as usize } , 208usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayTextureColorSpace ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTextureColorSpace as * const _ as usize } , 216usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayTextureColorSpace ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayTextureBounds as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayTextureBounds ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTextureBounds as * const _ as usize } , 232usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayTextureBounds ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayRenderModel as * const _ as usize } , 240usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayRenderModel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayRenderModel as * const _ as usize } , 248usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayRenderModel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTransformType as * const _ as usize } , 256usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayTransformType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayTransformAbsolute as * const _ as usize } , 264usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayTransformAbsolute ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTransformAbsolute as * const _ as usize } , 272usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayTransformAbsolute ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayTransformTrackedDeviceRelative as * const _ as usize + } , 280usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( + SetOverlayTransformTrackedDeviceRelative ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTransformTrackedDeviceRelative as * const _ as usize + } , 288usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( + GetOverlayTransformTrackedDeviceRelative ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayTransformTrackedDeviceComponent as * const _ as + usize } , 296usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( + SetOverlayTransformTrackedDeviceComponent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTransformTrackedDeviceComponent as * const _ as + usize } , 304usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( + GetOverlayTransformTrackedDeviceComponent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTransformOverlayRelative as * const _ as usize } , + 312usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayTransformOverlayRelative ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayTransformOverlayRelative as * const _ as usize } , + 320usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayTransformOverlayRelative ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . ShowOverlay + as * const _ as usize } , 328usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( ShowOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . HideOverlay + as * const _ as usize } , 336usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( HideOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + IsOverlayVisible as * const _ as usize } , 344usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( IsOverlayVisible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetTransformForOverlayCoordinates as * const _ as usize } , + 352usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetTransformForOverlayCoordinates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + PollNextOverlayEvent as * const _ as usize } , 360usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( PollNextOverlayEvent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayInputMethod as * const _ as usize } , 368usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayInputMethod ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayInputMethod as * const _ as usize } , 376usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayInputMethod ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayMouseScale as * const _ as usize } , 384usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayMouseScale ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayMouseScale as * const _ as usize } , 392usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayMouseScale ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + ComputeOverlayIntersection as * const _ as usize } , 400usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( ComputeOverlayIntersection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + HandleControllerOverlayInteractionAsMouse as * const _ as + usize } , 408usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( + HandleControllerOverlayInteractionAsMouse ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + IsHoverTargetOverlay as * const _ as usize } , 416usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( IsHoverTargetOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetGamepadFocusOverlay as * const _ as usize } , 424usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetGamepadFocusOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetGamepadFocusOverlay as * const _ as usize } , 432usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetGamepadFocusOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayNeighbor as * const _ as usize } , 440usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayNeighbor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + MoveGamepadFocusToNeighbor as * const _ as usize } , 448usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( MoveGamepadFocusToNeighbor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayTexture as * const _ as usize } , 456usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayTexture ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + ClearOverlayTexture as * const _ as usize } , 464usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( ClearOverlayTexture ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . SetOverlayRaw + as * const _ as usize } , 472usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayRaw ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayFromFile as * const _ as usize } , 480usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayFromFile ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTexture as * const _ as usize } , 488usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayTexture ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + ReleaseNativeOverlayHandle as * const _ as usize } , 496usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( ReleaseNativeOverlayHandle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayTextureSize as * const _ as usize } , 504usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayTextureSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + CreateDashboardOverlay as * const _ as usize } , 512usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( CreateDashboardOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + IsDashboardVisible as * const _ as usize } , 520usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( IsDashboardVisible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + IsActiveDashboardOverlay as * const _ as usize } , 528usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( IsActiveDashboardOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetDashboardOverlaySceneProcess as * const _ as usize } , + 536usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetDashboardOverlaySceneProcess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetDashboardOverlaySceneProcess as * const _ as usize } , + 544usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetDashboardOverlaySceneProcess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . ShowDashboard + as * const _ as usize } , 552usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( ShowDashboard ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetPrimaryDashboardDevice as * const _ as usize } , 560usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetPrimaryDashboardDevice ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . ShowKeyboard + as * const _ as usize } , 568usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( ShowKeyboard ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + ShowKeyboardForOverlay as * const _ as usize } , 576usize , + concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( ShowKeyboardForOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetKeyboardText as * const _ as usize } , 584usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetKeyboardText ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . HideKeyboard + as * const _ as usize } , 592usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( HideKeyboard ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetKeyboardTransformAbsolute as * const _ as usize } , + 600usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetKeyboardTransformAbsolute ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetKeyboardPositionForOverlay as * const _ as usize } , + 608usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetKeyboardPositionForOverlay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + SetOverlayIntersectionMask as * const _ as usize } , 616usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( SetOverlayIntersectionMask ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + GetOverlayFlags as * const _ as usize } , 624usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( GetOverlayFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVROverlay_FnTable ) ) . + ShowMessageOverlay as * const _ as usize } , 632usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVROverlay_FnTable ) + , "::" , stringify ! ( ShowMessageOverlay ) )); +} +impl Clone for VR_IVROverlay_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRRenderModels_FnTable { pub LoadRenderModel_Async: ::std::option::Option, pub GetRenderModelName: ::std::option::Option uint32_t>, - pub GetRenderModelCount: ::std::option::Option uint32_t>, + u32) + -> u32>, + pub GetRenderModelCount: ::std::option::Option u32>, pub GetComponentCount: ::std::option::Option uint32_t>, + -> u32>, pub GetComponentName: ::std::option::Option uint32_t>, + u32) + -> u32>, pub GetComponentButtonMask: ::std::option::Option uint64_t>, + -> u64>, pub GetComponentRenderModelName: ::std::option::Option uint32_t>, + u32) + -> u32>, pub GetComponentState: ::std::option::Option - ::std::os::raw::c_int>, + -> bool>, pub RenderModelHasComponent: ::std::option::Option - ::std::os::raw::c_int>, + -> bool>, pub GetRenderModelThumbnailURL: ::std::option::Option uint32_t>, + -> u32>, pub GetRenderModelOriginalPath: ::std::option::Option uint32_t>, - pub GetRenderModelErrorNameFromEnum: ::std::option::Option u32>, + pub GetRenderModelErrorNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, } -impl ::std::default::Default for VR_IVRRenderModels_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_VR_IVRRenderModels_FnTable() { + assert_eq!(::std::mem::size_of::() , 144usize + , concat ! ( + "Size of: " , stringify ! ( VR_IVRRenderModels_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( VR_IVRRenderModels_FnTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + LoadRenderModel_Async as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + LoadRenderModel_Async ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + FreeRenderModel as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + FreeRenderModel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + LoadTexture_Async as * const _ as usize } , 16usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + LoadTexture_Async ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + FreeTexture as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + FreeTexture ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + LoadTextureD3D11_Async as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + LoadTextureD3D11_Async ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + LoadIntoTextureD3D11_Async as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + LoadIntoTextureD3D11_Async ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + FreeTextureD3D11 as * const _ as usize } , 48usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + FreeTextureD3D11 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetRenderModelName as * const _ as usize } , 56usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetRenderModelName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetRenderModelCount as * const _ as usize } , 64usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetRenderModelCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetComponentCount as * const _ as usize } , 72usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetComponentCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetComponentName as * const _ as usize } , 80usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetComponentName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetComponentButtonMask as * const _ as usize } , 88usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetComponentButtonMask ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetComponentRenderModelName as * const _ as usize } , 96usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetComponentRenderModelName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetComponentState as * const _ as usize } , 104usize , concat + ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetComponentState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + RenderModelHasComponent as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + RenderModelHasComponent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetRenderModelThumbnailURL as * const _ as usize } , 120usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetRenderModelThumbnailURL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetRenderModelOriginalPath as * const _ as usize } , 128usize + , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetRenderModelOriginalPath ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRRenderModels_FnTable ) ) . + GetRenderModelErrorNameFromEnum as * const _ as usize } , + 136usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRRenderModels_FnTable ) , "::" , stringify ! ( + GetRenderModelErrorNameFromEnum ) )); +} +impl Clone for VR_IVRRenderModels_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRNotifications_FnTable { pub CreateNotification: ::std::option::Option EVRNotificationError>, - pub RemoveNotification: ::std::option::Option EVRNotificationError>, } -impl ::std::default::Default for VR_IVRNotifications_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_VR_IVRNotifications_FnTable() { + assert_eq!(::std::mem::size_of::() , 16usize + , concat ! ( + "Size of: " , stringify ! ( VR_IVRNotifications_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( VR_IVRNotifications_FnTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRNotifications_FnTable ) ) . + CreateNotification as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRNotifications_FnTable ) , "::" , stringify ! ( + CreateNotification ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRNotifications_FnTable ) ) . + RemoveNotification as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRNotifications_FnTable ) , "::" , stringify ! ( + RemoveNotification ) )); +} +impl Clone for VR_IVRNotifications_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRSettings_FnTable { - pub GetSettingsErrorNameFromEnum: ::std::option::Option *mut ::std::os::raw::c_char>, - pub Sync: ::std::option::Option ::std::os::raw::c_int>, - pub GetBool: ::std::option::Option ::std::os::raw::c_int>, + -> bool>, pub SetBool: ::std::option::Option, - pub GetInt32: ::std::option::Option int32_t>, pub SetInt32: ::std::option::Option, - pub GetFloat: ::std::option::Option ::std::os::raw::c_float>, pub SetFloat: ::std::option::Option, - pub GetString: ::std::option::Option, - pub SetString: ::std::option::Option bool>, + pub GetInt32: ::std::option::Option i32>, + pub GetFloat: ::std::option::Option f32>, + pub GetString: ::std::option::Option, pub RemoveSection: ::std::option::Option, } -impl ::std::default::Default for VR_IVRSettings_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_VR_IVRSettings_FnTable() { + assert_eq!(::std::mem::size_of::() , 96usize , + concat ! ( "Size of: " , stringify ! ( VR_IVRSettings_FnTable ) + )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VR_IVRSettings_FnTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . + GetSettingsErrorNameFromEnum as * const _ as usize } , 0usize + , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( GetSettingsErrorNameFromEnum ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . Sync as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( Sync ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . SetBool as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( SetBool ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . SetInt32 as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( SetInt32 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . SetFloat as + * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( SetFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . SetString as + * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( SetString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . GetBool as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( GetBool ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . GetInt32 as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( GetInt32 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . GetFloat as + * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( GetFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . GetString as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( GetString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . + RemoveSection as * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( RemoveSection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRSettings_FnTable ) ) . + RemoveKeyInSection as * const _ as usize } , 88usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRSettings_FnTable + ) , "::" , stringify ! ( RemoveKeyInSection ) )); +} +impl Clone for VR_IVRSettings_FnTable { + fn clone(&self) -> Self { *self } } #[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] +#[derive(Debug, Copy)] pub struct VR_IVRScreenshots_FnTable { pub RequestScreenshot: ::std::option::Option uint32_t>, - pub UpdateScreenshotProgress: ::std::option::Option u32>, + pub UpdateScreenshotProgress: ::std::option::Option EVRScreenshotError>, pub TakeStereoScreenshot: ::std::option::Option EVRScreenshotError>, } -impl ::std::default::Default for VR_IVRScreenshots_FnTable { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } +#[test] +fn bindgen_test_layout_VR_IVRScreenshots_FnTable() { + assert_eq!(::std::mem::size_of::() , 56usize , + concat ! ( + "Size of: " , stringify ! ( VR_IVRScreenshots_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VR_IVRScreenshots_FnTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRScreenshots_FnTable ) ) . + RequestScreenshot as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRScreenshots_FnTable ) , "::" , stringify ! ( + RequestScreenshot ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRScreenshots_FnTable ) ) . + HookScreenshot as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRScreenshots_FnTable ) , "::" , stringify ! ( + HookScreenshot ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRScreenshots_FnTable ) ) . + GetScreenshotPropertyType as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRScreenshots_FnTable ) , "::" , stringify ! ( + GetScreenshotPropertyType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRScreenshots_FnTable ) ) . + GetScreenshotPropertyFilename as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRScreenshots_FnTable ) , "::" , stringify ! ( + GetScreenshotPropertyFilename ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRScreenshots_FnTable ) ) . + UpdateScreenshotProgress as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRScreenshots_FnTable ) , "::" , stringify ! ( + UpdateScreenshotProgress ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRScreenshots_FnTable ) ) . + TakeStereoScreenshot as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRScreenshots_FnTable ) , "::" , stringify ! ( + TakeStereoScreenshot ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRScreenshots_FnTable ) ) . + SubmitScreenshot as * const _ as usize } , 48usize , concat ! + ( + "Alignment of field: " , stringify ! ( + VR_IVRScreenshots_FnTable ) , "::" , stringify ! ( + SubmitScreenshot ) )); +} +impl Clone for VR_IVRScreenshots_FnTable { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VR_IVRResources_FnTable { + pub LoadSharedResource: ::std::option::Option u32>, + pub GetResourceFullPath: ::std::option::Option u32>, +} +#[test] +fn bindgen_test_layout_VR_IVRResources_FnTable() { + assert_eq!(::std::mem::size_of::() , 16usize , + concat ! ( + "Size of: " , stringify ! ( VR_IVRResources_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VR_IVRResources_FnTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRResources_FnTable ) ) . + LoadSharedResource as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( VR_IVRResources_FnTable + ) , "::" , stringify ! ( LoadSharedResource ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRResources_FnTable ) ) . + GetResourceFullPath as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( VR_IVRResources_FnTable + ) , "::" , stringify ! ( GetResourceFullPath ) )); +} +impl Clone for VR_IVRResources_FnTable { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VR_IVRDriverManager_FnTable { + pub GetDriverCount: ::std::option::Option u32>, + pub GetDriverName: ::std::option::Option u32>, +} +#[test] +fn bindgen_test_layout_VR_IVRDriverManager_FnTable() { + assert_eq!(::std::mem::size_of::() , 16usize + , concat ! ( + "Size of: " , stringify ! ( VR_IVRDriverManager_FnTable ) )); + assert_eq! (::std::mem::align_of::() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( VR_IVRDriverManager_FnTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRDriverManager_FnTable ) ) . + GetDriverCount as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRDriverManager_FnTable ) , "::" , stringify ! ( + GetDriverCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VR_IVRDriverManager_FnTable ) ) . + GetDriverName as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + VR_IVRDriverManager_FnTable ) , "::" , stringify ! ( + GetDriverName ) )); +} +impl Clone for VR_IVRDriverManager_FnTable { + fn clone(&self) -> Self { *self } } - extern "C" { pub fn VR_InitInternal(peError: *mut EVRInitError, - eType: EVRApplicationType) -> intptr_t; + eType: EVRApplicationType) -> isize; +} +extern "C" { pub fn VR_ShutdownInternal(); - pub fn VR_IsHmdPresent() -> u8; +} +extern "C" { + pub fn VR_IsHmdPresent() -> bool; +} +extern "C" { pub fn VR_GetGenericInterface(pchInterfaceVersion: - *const ::std::os::raw::c_char, - peError: *mut EVRInitError) -> intptr_t; - pub fn VR_IsRuntimeInstalled() -> u8; + *const ::std::os::raw::c_char, + peError: *mut EVRInitError) -> isize; +} +extern "C" { + pub fn VR_IsRuntimeInstalled() -> bool; +} +extern "C" { pub fn VR_GetVRInitErrorAsSymbol(error: EVRInitError) - -> *const ::std::os::raw::c_char; + -> *const ::std::os::raw::c_char; +} +extern "C" { pub fn VR_GetVRInitErrorAsEnglishDescription(error: EVRInitError) - -> *const ::std::os::raw::c_char; -} \ No newline at end of file + -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn VR_IsInterfaceVersionValid(pchInterfaceVersion: + *const ::std::os::raw::c_char) + -> bool; +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VREvent_Keyboard_t_real { + pub cNewInput: [::std::os::raw::c_char; 8usize], + pub uUserValue: u64, +} +#[test] +fn bindgen_test_layout_VREvent_Keyboard_t_real() { + assert_eq!(::std::mem::size_of::() , 16usize , + concat ! ( + "Size of: " , stringify ! ( VREvent_Keyboard_t_real ) )); + assert_eq! (::std::mem::align_of::() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( VREvent_Keyboard_t_real ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Keyboard_t_real ) ) . cNewInput + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Keyboard_t_real + ) , "::" , stringify ! ( cNewInput ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const VREvent_Keyboard_t_real ) ) . uUserValue + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( VREvent_Keyboard_t_real + ) , "::" , stringify ! ( uUserValue ) )); +} +impl Clone for VREvent_Keyboard_t_real { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VkDevice_T { + pub _address: u8, +} +impl Clone for VkDevice_T { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VkPhysicalDevice_T { + pub _address: u8, +} +impl Clone for VkPhysicalDevice_T { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VkInstance_T { + pub _address: u8, +} +impl Clone for VkInstance_T { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct VkQueue_T { + pub _address: u8, +} +impl Clone for VkQueue_T { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct ID3D12Resource { + pub _address: u8, +} +impl Clone for ID3D12Resource { + fn clone(&self) -> Self { *self } +} +#[repr(C)] +#[derive(Debug, Copy)] +pub struct ID3D12CommandQueue { + pub _address: u8, +} +impl Clone for ID3D12CommandQueue { + fn clone(&self) -> Self { *self } +} diff --git a/openvr b/openvr new file mode 160000 index 0000000..dc860fe --- /dev/null +++ b/openvr @@ -0,0 +1 @@ +Subproject commit dc860fe405dd93803e55dc662cae590edf6c7cb3 diff --git a/openvr/LICENSE b/openvr/LICENSE deleted file mode 100644 index ee83337..0000000 --- a/openvr/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2015, Valve Corporation -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors -may be used to endorse or promote products derived from this software without -specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/openvr/README b/openvr/README deleted file mode 100644 index 9a89231..0000000 --- a/openvr/README +++ /dev/null @@ -1,9 +0,0 @@ -OpenVR is an API and runtime that allows access to VR hardware from multiple -vendors without requiring that applications have specific knowledge of the -hardware they are targeting. This repository is an SDK that contains the API -and samples. The runtime is under SteamVR in Tools on Steam. - -Documentation for the API is available in the wiki: https://github.com/ValveSoftware/openvr/wiki/API-Documentation - -More information on OpenVR and SteamVR can be found on http://steamvr.com - diff --git a/openvr/bin/linux32/libopenvr_api.so b/openvr/bin/linux32/libopenvr_api.so deleted file mode 100644 index a250545..0000000 Binary files a/openvr/bin/linux32/libopenvr_api.so and /dev/null differ diff --git a/openvr/bin/linux32/libopenvr_api.so.dbg b/openvr/bin/linux32/libopenvr_api.so.dbg deleted file mode 100644 index a26ac1c..0000000 Binary files a/openvr/bin/linux32/libopenvr_api.so.dbg and /dev/null differ diff --git a/openvr/bin/linux64/libopenvr_api.so b/openvr/bin/linux64/libopenvr_api.so deleted file mode 100644 index c3c6d47..0000000 Binary files a/openvr/bin/linux64/libopenvr_api.so and /dev/null differ diff --git a/openvr/bin/linux64/libopenvr_api.so.dbg b/openvr/bin/linux64/libopenvr_api.so.dbg deleted file mode 100644 index 052fd03..0000000 Binary files a/openvr/bin/linux64/libopenvr_api.so.dbg and /dev/null differ diff --git a/openvr/bin/osx32/libopenvr_api.dylib b/openvr/bin/osx32/libopenvr_api.dylib deleted file mode 100644 index b296e20..0000000 Binary files a/openvr/bin/osx32/libopenvr_api.dylib and /dev/null differ diff --git a/openvr/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Info.plist b/openvr/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Info.plist deleted file mode 100644 index 60ac3d6..0000000 --- a/openvr/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleIdentifier - com.apple.xcode.dsym.libopenvr_api.dylib - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - dSYM - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/openvr/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib b/openvr/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib deleted file mode 100644 index ddd0d45..0000000 Binary files a/openvr/bin/osx32/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib and /dev/null differ diff --git a/openvr/bin/win32/openvr_api.dll b/openvr/bin/win32/openvr_api.dll deleted file mode 100644 index d2b37d5..0000000 Binary files a/openvr/bin/win32/openvr_api.dll and /dev/null differ diff --git a/openvr/bin/win64/openvr_api.dll b/openvr/bin/win64/openvr_api.dll deleted file mode 100644 index d13791a..0000000 Binary files a/openvr/bin/win64/openvr_api.dll and /dev/null differ diff --git a/openvr/headers/openvr.h b/openvr/headers/openvr.h deleted file mode 100644 index df727a3..0000000 --- a/openvr/headers/openvr.h +++ /dev/null @@ -1,3227 +0,0 @@ -#pragma once - -// openvr.h -//========= Copyright Valve Corporation ============// -// Dynamically generated file. Do not modify this file directly. - -#ifndef _OPENVR_API -#define _OPENVR_API - -#include - - - -// vrtypes.h -#ifndef _INCLUDE_VRTYPES_H -#define _INCLUDE_VRTYPES_H - -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -typedef void* glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; - -// right-handed system -// +y is up -// +x is to the right -// -z is going away from you -// Distance unit is meters -struct HmdMatrix34_t -{ - float m[3][4]; -}; - -struct HmdMatrix44_t -{ - float m[4][4]; -}; - -struct HmdVector3_t -{ - float v[3]; -}; - -struct HmdVector4_t -{ - float v[4]; -}; - -struct HmdVector3d_t -{ - double v[3]; -}; - -struct HmdVector2_t -{ - float v[2]; -}; - -struct HmdQuaternion_t -{ - double w, x, y, z; -}; - -struct HmdColor_t -{ - float r, g, b, a; -}; - -struct HmdQuad_t -{ - HmdVector3_t vCorners[ 4 ]; -}; - -struct HmdRect2_t -{ - HmdVector2_t vTopLeft; - HmdVector2_t vBottomRight; -}; - -/** Used to return the post-distortion UVs for each color channel. -* UVs range from 0 to 1 with 0,0 in the upper left corner of the -* source render target. The 0,0 to 1,1 range covers a single eye. */ -struct DistortionCoordinates_t -{ - float rfRed[2]; - float rfGreen[2]; - float rfBlue[2]; -}; - -enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1 -}; - -enum EGraphicsAPIConvention -{ - API_DirectX = 0, // Normalized Z goes from 0 at the viewer to 1 at the far clip plane - API_OpenGL = 1, // Normalized Z goes from 1 at the viewer to -1 at the far clip plane -}; - -enum EColorSpace -{ - ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. - ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). - ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. -}; - -struct Texture_t -{ - void* handle; // Native d3d texture pointer or GL texture id. - EGraphicsAPIConvention eType; - EColorSpace eColorSpace; -}; - -enum ETrackingResult -{ - TrackingResult_Uninitialized = 1, - - TrackingResult_Calibrating_InProgress = 100, - TrackingResult_Calibrating_OutOfRange = 101, - - TrackingResult_Running_OK = 200, - TrackingResult_Running_OutOfRange = 201, -}; - -static const uint32_t k_unTrackingStringSize = 32; -static const uint32_t k_unMaxDriverDebugResponseSize = 32768; - -/** Used to pass device IDs to API calls */ -typedef uint32_t TrackedDeviceIndex_t; -static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; -static const uint32_t k_unMaxTrackedDeviceCount = 16; -static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; -static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; - -/** Describes what kind of object is being tracked at a given ID */ -enum ETrackedDeviceClass -{ - TrackedDeviceClass_Invalid = 0, // the ID was not valid. - TrackedDeviceClass_HMD = 1, // Head-Mounted Displays - TrackedDeviceClass_Controller = 2, // Tracked controllers - TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points - - TrackedDeviceClass_Other = 1000, -}; - - -/** Describes what specific role associated with a tracked device */ -enum ETrackedControllerRole -{ - TrackedControllerRole_Invalid = 0, // Invalid value for controller type - TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand - TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand -}; - - -/** describes a single pose for a tracked object */ -struct TrackedDevicePose_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; - HmdVector3_t vVelocity; // velocity in tracker space in m/s - HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) - ETrackingResult eTrackingResult; - bool bPoseIsValid; - - // This indicates that there is a device connected for this spot in the pose array. - // It could go from true to false if the user unplugs the device. - bool bDeviceIsConnected; -}; - -/** Identifies which style of tracking origin the application wants to use -* for the poses it is requesting */ -enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose - TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user - TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. You probably don't want this one. -}; - - -/** Each entry in this enum represents a property that can be retrieved about a -* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ -enum ETrackedDeviceProperty -{ - // general properties that apply to all device classes - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - - // Properties that are unique to TrackedDeviceClass_HMD - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - - // Properties that are unique to TrackedDeviceClass_Controller - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType - Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType - Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType - Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType - Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType - - // Properties that are unique to TrackedDeviceClass_TrackingReference - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - - // Vendors are free to expose private debug data in this reserved region - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -}; - -/** No string property will ever be longer than this length */ -static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; - -/** Used to return errors that occur when reading properties. */ -enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. -}; - -/** Allows the application to control what part of the provided texture will be used in the -* frame buffer. */ -struct VRTextureBounds_t -{ - float uMin, vMin; - float uMax, vMax; -}; - - -/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ -enum EVRSubmitFlags -{ - // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. - Submit_Default = 0x00, - - // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear - // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by - // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). - Submit_LensDistortionAlreadyApplied = 0x01, - - // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. - Submit_GlRenderBuffer = 0x02, -}; - - -/** Status of the overall system or tracked objects */ -enum EVRState -{ - VRState_Undefined = -1, - VRState_Off = 0, - VRState_Searching = 1, - VRState_Searching_Alert = 2, - VRState_Ready = 3, - VRState_Ready_Alert = 4, - VRState_NotReady = 5, - VRState_Standby = 6, -}; - -/** The types of events that could be posted (and what the parameters mean for each event type) */ -enum EVREventType -{ - VREvent_None = 0, - - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - - VREvent_ButtonPress = 200, // data is controller - VREvent_ButtonUnpress = 201, // data is controller - VREvent_ButtonTouch = 202, // data is controller - VREvent_ButtonUntouch = 203, // data is controller - - VREvent_MouseMove = 300, // data is mouse - VREvent_MouseButtonDown = 301, // data is mouse - VREvent_MouseButtonUp = 302, // data is mouse - VREvent_FocusEnter = 303, // data is overlay - VREvent_FocusLeave = 304, // data is overlay - VREvent_Scroll = 305, // data is mouse - VREvent_TouchPadMove = 306, // data is mouse - - VREvent_InputFocusCaptured = 400, // data is process DEPRECATED - VREvent_InputFocusReleased = 401, // data is process DEPRECATED - VREvent_SceneFocusLost = 402, // data is process - VREvent_SceneFocusGained = 403, // data is process - VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) - VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene - VREvent_InputFocusChanged = 406, // data is process - VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process - - VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily - VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility - - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay - VREvent_ResetDashboard = 506, // Send to the overlay manager - VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID - VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading - VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it - VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it - VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it - VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot - VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load - - // Screenshot API - VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot - VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken - VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken - VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted - - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - - VREvent_Quit = 700, // data is process - VREvent_ProcessQuit = 701, // data is process - VREvent_QuitAborted_UserPrompt = 702, // data is process - VREvent_QuitAcknowledged = 703, // data is process - VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down - - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - - VREvent_AudioSettingsHaveChanged = 820, - - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - - VREvent_StatusUpdate = 900, - - VREvent_MCImageUpdated = 1000, - - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard - - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - - // Vendors are free to expose private events in this reserved region - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -}; - - -/** Level of Hmd activity */ -enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, - k_EDeviceActivityLevel_UserInteraction = 1, - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - k_EDeviceActivityLevel_Standby = 3, -}; - - -/** VR controller button and axis IDs */ -enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - - // aliases for well known controllers - k_EButton_SteamVR_Touchpad = k_EButton_Axis0, - k_EButton_SteamVR_Trigger = k_EButton_Axis1, - - k_EButton_Dashboard_Back = k_EButton_Grip, - - k_EButton_Max = 64 -}; - -inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } - -/** used for controller button events */ -struct VREvent_Controller_t -{ - uint32_t button; // EVRButtonId enum -}; - - -/** used for simulated mouse events in overlay space */ -enum EVRMouseButton -{ - VRMouseButton_Left = 0x0001, - VRMouseButton_Right = 0x0002, - VRMouseButton_Middle = 0x0004, -}; - - -/** used for simulated mouse events in overlay space */ -struct VREvent_Mouse_t -{ - float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 - uint32_t button; // EVRMouseButton enum -}; - -/** used for simulated mouse wheel scroll in overlay space */ -struct VREvent_Scroll_t -{ - float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe - uint32_t repeatCount; -}; - -/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger - is on the touchpad (or just released from it) -**/ -struct VREvent_TouchPadMove_t -{ - // true if the users finger is detected on the touch pad - bool bFingerDown; - - // How long the finger has been down in seconds - float flSecondsFingerDown; - - // These values indicate the starting finger position (so you can do some basic swipe stuff) - float fValueXFirst; - float fValueYFirst; - - // This is the raw sampled coordinate without deadzoning - float fValueXRaw; - float fValueYRaw; -}; - -/** notification related events. Details will still change at this point */ -struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -}; - -/** Used for events about processes */ -struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Status_t -{ - uint32_t statusState; // EVRState enum -}; - -/** Used for keyboard events **/ -struct VREvent_Keyboard_t -{ - char cNewInput[8]; // Up to 11 bytes of new input - uint64_t uUserValue; // Possible flags about the new input -}; - -struct VREvent_Ipd_t -{ - float ipdMeters; -}; - -struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -}; - -/** Not actually used for any events */ -struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -}; - -struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -}; - -struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -}; - -struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -}; - -/** If you change this you must manually update openvr_interop.cs.py */ -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - VREvent_Screenshot_t screenshot; -} VREvent_Data_t; - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - - -/** The mesh to draw into the stencil (or depth) buffer to perform -* early stencil (or depth) kills of pixels that will never appear on the HMD. -* This mesh draws on all the pixels that will be hidden after distortion. -* -* If the HMD does not provide a visible area mesh pVertexData will be -* NULL and unTriangleCount will be 0. */ -struct HiddenAreaMesh_t -{ - const HmdVector2_t *pVertexData; - uint32_t unTriangleCount; -}; - - -/** Identifies what kind of axis is on the controller at index n. Read this type -* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); -*/ -enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis -}; - - -/** contains information about one axis on the controller */ -struct VRControllerAxis_t -{ - float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. - float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. -}; - - -/** the number of axes in the controller state */ -static const uint32_t k_unControllerStateAxisCount = 5; - - -/** Holds all the state of a controller at one moment in time. */ -struct VRControllerState001_t -{ - // If packet num matches that on your prior call, then the controller state hasn't been changed since - // your last call and there is no need to process it - uint32_t unPacketNum; - - // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - - // Axis data for the controller's analog inputs - VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; -}; - - -typedef VRControllerState001_t VRControllerState_t; - - -/** determines how to provide output to the application of various event processing functions. */ -enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -}; - - - -/** Collision Bounds Style */ -enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE, - COLLISION_BOUNDS_STYLE_SQUARES, - COLLISION_BOUNDS_STYLE_ADVANCED, - COLLISION_BOUNDS_STYLE_NONE, - - COLLISION_BOUNDS_STYLE_COUNT -}; - -/** Allows the application to customize how the overlay appears in the compositor */ -struct Compositor_OverlaySettings -{ - uint32_t size; // sizeof(Compositor_OverlaySettings) - bool curved, antialias; - float scale, distance, alpha; - float uOffset, vOffset, uScale, vScale; - float gridDivs, gridWidth, gridScale; - HmdMatrix44_t transform; -}; - -/** used to refer to a single VR overlay */ -typedef uint64_t VROverlayHandle_t; - -static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; - -/** Errors that can occur around VR overlays */ -enum EVROverlayError -{ - VROverlayError_None = 0, - - VROverlayError_UnknownOverlay = 10, - VROverlayError_InvalidHandle = 11, - VROverlayError_PermissionDenied = 12, - VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist - VROverlayError_WrongVisibilityType = 14, - VROverlayError_KeyTooLong = 15, - VROverlayError_NameTooLong = 16, - VROverlayError_KeyInUse = 17, - VROverlayError_WrongTransformType = 18, - VROverlayError_InvalidTrackedDevice = 19, - VROverlayError_InvalidParameter = 20, - VROverlayError_ThumbnailCantBeDestroyed = 21, - VROverlayError_ArrayTooSmall = 22, - VROverlayError_RequestFailed = 23, - VROverlayError_InvalidTexture = 24, - VROverlayError_UnableToLoadFile = 25, - VROVerlayError_KeyboardAlreadyInUse = 26, - VROverlayError_NoNeighbor = 27, -}; - -/** enum values to pass in to VR_Init to identify whether the application will -* draw a 3D scene. */ -enum EVRApplicationType -{ - VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries - VRApplication_Scene = 1, // Application will submit 3D frames - VRApplication_Overlay = 2, // Application only interacts with overlays - VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not - // keep it running if everything else quits. - VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility - // interfaces (like IVRSettings and IVRApplications) but not hardware. - VRApplication_VRMonitor = 5, // Reserved for vrmonitor -}; - - -/** error codes for firmware */ -enum EVRFirmwareError -{ - VRFirmwareError_None = 0, - VRFirmwareError_Success = 1, - VRFirmwareError_Fail = 2, -}; - - -/** error codes for notifications */ -enum EVRNotificationError -{ - VRNotificationError_OK = 0, - VRNotificationError_InvalidNotificationId = 100, - VRNotificationError_NotificationQueueFull = 101, - VRNotificationError_InvalidOverlayHandle = 102, - VRNotificationError_SystemWithUserValueAlreadyExists = 103, -}; - - -/** error codes returned by Vr_Init */ - -// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp -enum EVRInitError -{ - VRInitError_None = 0, - VRInitError_Unknown = 1, - - VRInitError_Init_InstallationNotFound = 100, - VRInitError_Init_InstallationCorrupt = 101, - VRInitError_Init_VRClientDLLNotFound = 102, - VRInitError_Init_FileNotFound = 103, - VRInitError_Init_FactoryNotFound = 104, - VRInitError_Init_InterfaceNotFound = 105, - VRInitError_Init_InvalidInterface = 106, - VRInitError_Init_UserConfigDirectoryInvalid = 107, - VRInitError_Init_HmdNotFound = 108, - VRInitError_Init_NotInitialized = 109, - VRInitError_Init_PathRegistryNotFound = 110, - VRInitError_Init_NoConfigPath = 111, - VRInitError_Init_NoLogPath = 112, - VRInitError_Init_PathRegistryNotWritable = 113, - VRInitError_Init_AppInfoInitFailed = 114, - VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver - VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup - VRInitError_Init_AnotherAppLaunching = 117, - VRInitError_Init_SettingsInitFailed = 118, - VRInitError_Init_ShuttingDown = 119, - VRInitError_Init_TooManyObjects = 120, - VRInitError_Init_NoServerForBackgroundApp = 121, - VRInitError_Init_NotSupportedWithCompositor = 122, - VRInitError_Init_NotAvailableToUtilityApps = 123, - VRInitError_Init_Internal = 124, - - VRInitError_Driver_Failed = 200, - VRInitError_Driver_Unknown = 201, - VRInitError_Driver_HmdUnknown = 202, - VRInitError_Driver_NotLoaded = 203, - VRInitError_Driver_RuntimeOutOfDate = 204, - VRInitError_Driver_HmdInUse = 205, - VRInitError_Driver_NotCalibrated = 206, - VRInitError_Driver_CalibrationInvalid = 207, - VRInitError_Driver_HmdDisplayNotFound = 208, - - VRInitError_IPC_ServerInitFailed = 300, - VRInitError_IPC_ConnectFailed = 301, - VRInitError_IPC_SharedStateInitFailed = 302, - VRInitError_IPC_CompositorInitFailed = 303, - VRInitError_IPC_MutexInitFailed = 304, - VRInitError_IPC_Failed = 305, - - VRInitError_Compositor_Failed = 400, - VRInitError_Compositor_D3D11HardwareRequired = 401, - VRInitError_Compositor_FirmwareRequiresUpdate = 402, - VRInitError_Compositor_OverlayInitFailed = 403, - VRInitError_Compositor_ScreenshotsInitFailed = 404, - - VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - - VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - - VRInitError_Steam_SteamInstallationNotFound = 2000, -}; - -enum EVRScreenshotType -{ - VRScreenshotType_None = 0, - VRScreenshotType_Mono = 1, // left eye only - VRScreenshotType_Stereo = 2, - VRScreenshotType_Cubemap = 3, - VRScreenshotType_MonoPanorama = 4, - VRScreenshotType_StereoPanorama = 5 -}; - -enum EVRScreenshotPropertyFilenames -{ - VRScreenshotPropertyFilenames_Preview = 0, - VRScreenshotPropertyFilenames_VR = 1, -}; - -enum EVRTrackedCameraError -{ - VRTrackedCameraError_None = 0, - VRTrackedCameraError_OperationFailed = 100, - VRTrackedCameraError_InvalidHandle = 101, - VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - VRTrackedCameraError_OutOfHandles = 103, - VRTrackedCameraError_IPCFailure = 104, - VRTrackedCameraError_NotSupportedForThisDevice = 105, - VRTrackedCameraError_SharedMemoryFailure = 106, - VRTrackedCameraError_FrameBufferingFailure = 107, - VRTrackedCameraError_StreamSetupFailure = 108, - VRTrackedCameraError_InvalidGLTextureId = 109, - VRTrackedCameraError_InvalidSharedTextureHandle = 110, - VRTrackedCameraError_FailedToGetGLTextureId = 111, - VRTrackedCameraError_SharedTextureFailure = 112, - VRTrackedCameraError_NoFrameAvailable = 113, - VRTrackedCameraError_InvalidArgument = 114, - VRTrackedCameraError_InvalidFrameBufferSize = 115, -}; - -enum EVRTrackedCameraFrameType -{ - VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. - VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. - VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. - MAX_CAMERA_FRAME_TYPES -}; - -typedef uint64_t TrackedCameraHandle_t; -#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) - -struct CameraVideoStreamFrameHeader_t -{ - EVRTrackedCameraFrameType eFrameType; - - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - - uint32_t nFrameSequence; - - TrackedDevicePose_t standingTrackedDevicePose; -}; - -// Screenshot types -typedef uint32_t ScreenshotHandle_t; - -static const uint32_t k_unScreenshotHandleInvalid = 0; - -#pragma pack( pop ) - -// figure out how to import from the VR API dll -#if defined(_WIN32) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __declspec( dllexport ) -#else -#define VR_INTERFACE extern "C" __declspec( dllimport ) -#endif - -#elif defined(GNUC) || defined(COMPILER_GCC) || defined(__APPLE__) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) -#else -#define VR_INTERFACE extern "C" -#endif - -#else -#error "Unsupported Platform." -#endif - - -#if defined( _WIN32 ) -#define VR_CALLTYPE __cdecl -#else -#define VR_CALLTYPE -#endif - -} // namespace vr - -#endif // _INCLUDE_VRTYPES_H - - -// vrannotation.h -#ifdef API_GEN -# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) -#else -# define VR_CLANG_ATTR(ATTR) -#endif - -#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) -#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) -#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) -#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) -#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) -#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) -#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) -#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) -#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) - -// ivrsystem.h -namespace vr -{ - -class IVRSystem -{ -public: - - - // ------------------------------------ - // Display Methods - // ------------------------------------ - - /** Suggested size for the intermediate render target that the distortion pulls from. */ - virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** The projection matrix for the specified eye */ - virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType ) = 0; - - /** The components necessary to build your own projection matrix in case your - * application is doing something fancy like infinite Z */ - virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; - - /** Returns the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in - * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. */ - virtual DistortionCoordinates_t ComputeDistortion( EVREye eEye, float fU, float fV ) = 0; - - /** Returns the transform from eye space to the head space. Eye space is the per-eye flavor of head - * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. - * Normally View and Eye^-1 will be multiplied together and treated as View in your application. - */ - virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye ) = 0; - - /** Returns the number of elapsed seconds since the last recorded vsync event. This - * will come from a vsync timer event in the timer if possible or from the application-reported - * time if that is not available. If no vsync times are available the function will - * return zero for vsync time and frame counter and return false from the method. */ - virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; - - /** [D3D9 Only] - * Returns the adapter index that the user should pass into CreateDevice to set up D3D9 in such - * a way that it can go full screen exclusive on the HMD. Returns -1 if there was an error. - */ - virtual int32_t GetD3D9AdapterIndex() = 0; - - /** [D3D10/11 Only] - * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs - * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. - */ - virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex ) = 0; - - // ------------------------------------ - // Display Mode methods - // ------------------------------------ - - /** Use to determine if the headset display is part of the desktop (i.e. extended) or hidden (i.e. direct mode). */ - virtual bool IsDisplayOnDesktop() = 0; - - /** Set the display visibility (true = extended, false = direct mode). Return value of true indicates that the change was successful. */ - virtual bool SetDisplayVisibility( bool bIsVisibleOnDesktop ) = 0; - - // ------------------------------------ - // Tracking Methods - // ------------------------------------ - - /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the - * future. Pass 0 to get the state at the instant the method is called. Most of the time the application should - * calculate the time until the photons will be emitted from the display and pass that time into the method. - * - * This is roughly analogous to the inverse of the view matrix in most applications, though - * many games will need to do some additional rotation or translation on top of the rotation - * and translation provided by the head pose. - * - * For devices where bPoseIsValid is true the application can use the pose to position the device - * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. - * - * Seated experiences should call this method with TrackingUniverseSeated and receive poses relative - * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding - * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should - * probably not be used unless the application is the Chaperone calibration tool itself, but will provide - * poses relative to the hardware-specific coordinate system in the driver. - */ - virtual void GetDeviceToAbsoluteTrackingPose( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; - - /** Sets the zero pose for the seated tracker coordinate system to the current position and yaw of the HMD. After - * ResetSeatedZeroPose all GetDeviceToAbsoluteTrackingPose calls that pass TrackingUniverseSeated as the origin - * will be relative to this new zero pose. The new zero coordinate system will not change the fact that the Y axis - * is up in the real world, so the next pose returned from GetDeviceToAbsoluteTrackingPose after a call to - * ResetSeatedZeroPose may not be exactly an identity matrix. - * - * NOTE: This function overrides the user's previously saved seated zero pose and should only be called as the result of a user action. - * Users are also able to set their seated zero pose via the OpenVR Dashboard. - **/ - virtual void ResetSeatedZeroPose() = 0; - - /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows - * applications to represent the seated origin to used or transform object positions from one coordinate - * system to the other. - * - * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position - * depends on what the user has set from the Dashboard settings and previous calls to ResetSeatedZeroPose. */ - virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() = 0; - - /** Returns the transform from the tracking origin to the standing absolute tracking system. This allows - * applications to convert from raw tracking space to the calibrated standing coordinate system. */ - virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() = 0; - - /** Get a sorted array of device indices of a given class of tracked devices (e.g. controllers). Devices are sorted right to left - * relative to the specified tracked device (default: hmd -- pass in -1 for absolute tracking space). Returns the number of devices - * in the list, or the size of the array needed if not large enough. */ - virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( ETrackedDeviceClass eTrackedDeviceClass, VR_ARRAY_COUNT(unTrackedDeviceIndexArrayCount) vr::TrackedDeviceIndex_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, vr::TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex = k_unTrackedDeviceIndex_Hmd ) = 0; - - /** Returns the level of activity on the device. */ - virtual EDeviceActivityLevel GetTrackedDeviceActivityLevel( vr::TrackedDeviceIndex_t unDeviceId ) = 0; - - /** Convenience utility to apply the specified transform to the specified pose. - * This properly transforms all pose components, including velocity and angular velocity - */ - virtual void ApplyTransform( TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform ) = 0; - - /** Returns the device index associated with a specific role, for example the left hand or the right hand. */ - virtual vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForControllerRole( vr::ETrackedControllerRole unDeviceType ) = 0; - - /** Returns the controller type associated with a device index. */ - virtual vr::ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - // ------------------------------------ - // Property methods - // ------------------------------------ - - /** Returns the device class of a tracked device. If there has not been a device connected in this slot - * since the application started this function will return TrackedDevice_Invalid. For previous detected - * devices the function will return the previously observed device class. - * - * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check - * the device class. Every device with something other than TrackedDevice_Invalid is associated with an - * actual tracked device. */ - virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns true if there is a device connected in this slot. */ - virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ - virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ - virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ - virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ - virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ - virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a string property. If the device index is not valid or the property is not a string type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will generally fit in buffers of k_unTrackingStringSize characters. */ - virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; - - /** returns a string that corresponds with the specified property error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; - - // ------------------------------------ - // Event methods - // ------------------------------------ - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. - * This pose will always be older than the call to this function and should not be used to render the device. - uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEventWithPose( ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0; - - /** returns the name of an EVREvent enum value */ - virtual const char *GetEventTypeNameFromEnum( EVREventType eType ) = 0; - - // ------------------------------------ - // Rendering helper methods - // ------------------------------------ - - /** Returns the stencil mesh information for the current HMD. If this HMD does not have a stencil mesh the vertex data and count will be - * NULL and 0 respectively. This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering - * each eye's view. The pixels covered by this mesh will never be seen by the user after the lens distortion is applied and based on visibility to the panels. - * This will improve perf by letting the GPU early-reject pixels the user will never see before running the pixel shader. - * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. - */ - virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye ) = 0; - - - // ------------------------------------ - // Controller methods - // ------------------------------------ - - /** Fills the supplied struct with the current state of the controller. Returns false if the controller index - * is invalid. */ - virtual bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState ) = 0; - - /** fills the supplied struct with the current state of the controller and the provided pose with the pose of - * the controller when the controller state was updated most recently. Use this form if you need a precise controller - * pose as input to your application when the user presses or releases a button. */ - virtual bool GetControllerStateWithPose( ETrackingUniverseOrigin eOrigin, vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose ) = 0; - - /** Trigger a single haptic pulse on a controller. After this call the application may not trigger another haptic pulse on this controller - * and axis combination for 5ms. */ - virtual void TriggerHapticPulse( vr::TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec ) = 0; - - /** returns the name of an EVRButtonId enum value */ - virtual const char *GetButtonIdNameFromEnum( EVRButtonId eButtonId ) = 0; - - /** returns the name of an EVRControllerAxisType enum value */ - virtual const char *GetControllerAxisTypeNameFromEnum( EVRControllerAxisType eAxisType ) = 0; - - /** Tells OpenVR that this process wants exclusive access to controller button states and button events. Other apps will be notified that - * they have lost input focus with a VREvent_InputFocusCaptured event. Returns false if input focus could not be captured for - * some reason. */ - virtual bool CaptureInputFocus() = 0; - - /** Tells OpenVR that this process no longer wants exclusive access to button states and button events. Other apps will be notified - * that input focus has been released with a VREvent_InputFocusReleased event. */ - virtual void ReleaseInputFocus() = 0; - - /** Returns true if input focus is captured by another process. */ - virtual bool IsInputFocusCapturedByAnotherProcess() = 0; - - // ------------------------------------ - // Debug Methods - // ------------------------------------ - - /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k, - * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated. - * The size of the response including its terminating null is returned. */ - virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; - - - // ------------------------------------ - // Firmware methods - // ------------------------------------ - - /** Performs the actual firmware update if applicable. - * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished - * Use the properties Prop_Firmware_UpdateAvailable_Bool, Prop_Firmware_ManualUpdate_Bool, and Prop_Firmware_ManualUpdateURL_String - * to figure our whether a firmware update is available, and to figure out whether its a manual update - * Prop_Firmware_ManualUpdateURL_String should point to an URL describing the manual update process */ - virtual vr::EVRFirmwareError PerformFirmwareUpdate( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - - // ------------------------------------ - // Application life cycle methods - // ------------------------------------ - - /** Call this to acknowledge to the system that VREvent_Quit has been received and that the process is exiting. - * This extends the timeout until the process is killed. */ - virtual void AcknowledgeQuit_Exiting() = 0; - - /** Call this to tell the system that the user is being prompted to save data. This - * halts the timeout and dismisses the dashboard (if it was up). Applications should be sure to actually - * prompt the user to save and then exit afterward, otherwise the user will be left in a confusing state. */ - virtual void AcknowledgeQuit_UserPrompt() = 0; - -}; - -static const char * const IVRSystem_Version = "IVRSystem_012"; - -} - - -// ivrapplications.h -namespace vr -{ - - /** Used for all errors reported by the IVRApplications interface */ - enum EVRApplicationError - { - VRApplicationError_None = 0, - - VRApplicationError_AppKeyAlreadyExists = 100, // Only one application can use any given key - VRApplicationError_NoManifest = 101, // the running application does not have a manifest - VRApplicationError_NoApplication = 102, // No application is running - VRApplicationError_InvalidIndex = 103, - VRApplicationError_UnknownApplication = 104, // the application could not be found - VRApplicationError_IPCFailed = 105, // An IPC failure caused the request to fail - VRApplicationError_ApplicationAlreadyRunning = 106, - VRApplicationError_InvalidManifest = 107, - VRApplicationError_InvalidApplication = 108, - VRApplicationError_LaunchFailed = 109, // the process didn't start - VRApplicationError_ApplicationAlreadyStarting = 110, // the system was already starting the same application - VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application - VRApplicationError_OldApplicationQuitting = 112, - VRApplicationError_TransitionAborted = 113, - VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) - - VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data - VRApplicationError_PropertyNotSet = 201, // The requested property was not set - VRApplicationError_UnknownProperty = 202, - VRApplicationError_InvalidParameter = 203, - }; - - /** The maximum length of an application key */ - static const uint32_t k_unMaxApplicationKeyLength = 128; - - /** these are the properties available on applications. */ - enum EVRApplicationProperty - { - VRApplicationProperty_Name_String = 0, - - VRApplicationProperty_LaunchType_String = 11, - VRApplicationProperty_WorkingDirectory_String = 12, - VRApplicationProperty_BinaryPath_String = 13, - VRApplicationProperty_Arguments_String = 14, - VRApplicationProperty_URL_String = 15, - - VRApplicationProperty_Description_String = 50, - VRApplicationProperty_NewsURL_String = 51, - VRApplicationProperty_ImagePath_String = 52, - VRApplicationProperty_Source_String = 53, - - VRApplicationProperty_IsDashboardOverlay_Bool = 60, - VRApplicationProperty_IsTemplate_Bool = 61, - VRApplicationProperty_IsInstanced_Bool = 62, - - VRApplicationProperty_LastLaunchTime_Uint64 = 70, - }; - - /** These are states the scene application startup process will go through. */ - enum EVRApplicationTransitionState - { - VRApplicationTransition_None = 0, - - VRApplicationTransition_OldAppQuitSent = 10, - VRApplicationTransition_WaitingForExternalLaunch = 11, - - VRApplicationTransition_NewAppLaunched = 20, - }; - - struct AppOverrideKeys_t - { - const char *pchKey; - const char *pchValue; - }; - - class IVRApplications - { - public: - - // --------------- Application management --------------- // - - /** Adds an application manifest to the list to load when building the list of installed applications. - * Temporary manifests are not automatically loaded */ - virtual EVRApplicationError AddApplicationManifest( const char *pchApplicationManifestFullPath, bool bTemporary = false ) = 0; - - /** Removes an application manifest from the list to load when building the list of installed applications. */ - virtual EVRApplicationError RemoveApplicationManifest( const char *pchApplicationManifestFullPath ) = 0; - - /** Returns true if an application is installed */ - virtual bool IsApplicationInstalled( const char *pchAppKey ) = 0; - - /** Returns the number of applications available in the list */ - virtual uint32_t GetApplicationCount() = 0; - - /** Returns the key of the specified application. The index is at least 0 and is less than the return - * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to - * fit the key. */ - virtual EVRApplicationError GetApplicationKeyByIndex( uint32_t unApplicationIndex, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Returns the key of the application for the specified Process Id. The buffer should be at least - * k_unMaxApplicationKeyLength in order to fit the key. */ - virtual EVRApplicationError GetApplicationKeyByProcessId( uint32_t unProcessId, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Launches the application. The existing scene application will exit and then the new application will start. - * This call is not valid for dashboard overlay applications. */ - virtual EVRApplicationError LaunchApplication( const char *pchAppKey ) = 0; - - /** Launches an instance of an application of type template, with its app key being pchNewAppKey (which must be unique) and optionally override sections - * from the manifest file via AppOverrideKeys_t - */ - virtual EVRApplicationError LaunchTemplateApplication( const char *pchTemplateAppKey, const char *pchNewAppKey, VR_ARRAY_COUNT( unKeys ) const AppOverrideKeys_t *pKeys, uint32_t unKeys ) = 0; - - /** Launches the dashboard overlay application if it is not already running. This call is only valid for - * dashboard overlay applications. */ - virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; - - /** Cancel a pending launch for an application */ - virtual bool CancelApplicationLaunch( const char *pchAppKey ) = 0; - - /** Identifies a running application. OpenVR can't always tell which process started in response - * to a URL. This function allows a URL handler (or the process itself) to identify the app key - * for the now running application. Passing a process ID of 0 identifies the calling process. - * The application must be one that's known to the system via a call to AddApplicationManifest. */ - virtual EVRApplicationError IdentifyApplication( uint32_t unProcessId, const char *pchAppKey ) = 0; - - /** Returns the process ID for an application. Return 0 if the application was not found or is not running. */ - virtual uint32_t GetApplicationProcessId( const char *pchAppKey ) = 0; - - /** Returns a string for an applications error */ - virtual const char *GetApplicationsErrorNameFromEnum( EVRApplicationError error ) = 0; - - // --------------- Application properties --------------- // - - /** Returns a value for an application property. The required buffer size to fit this value will be returned. */ - virtual uint32_t GetApplicationPropertyString( const char *pchAppKey, EVRApplicationProperty eProperty, char *pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError *peError = nullptr ) = 0; - - /** Returns a bool value for an application property. Returns false in all error cases. */ - virtual bool GetApplicationPropertyBool( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; - - /** Returns a uint64 value for an application property. Returns 0 in all error cases. */ - virtual uint64_t GetApplicationPropertyUint64( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; - - /** Sets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ - virtual EVRApplicationError SetApplicationAutoLaunch( const char *pchAppKey, bool bAutoLaunch ) = 0; - - /** Gets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ - virtual bool GetApplicationAutoLaunch( const char *pchAppKey ) = 0; - - // --------------- Transition methods --------------- // - - /** Returns the app key for the application that is starting up */ - virtual EVRApplicationError GetStartingApplication( char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Returns the application transition state */ - virtual EVRApplicationTransitionState GetTransitionState() = 0; - - /** Returns errors that would prevent the specified application from launching immediately. Calling this function will - * cause the current scene application to quit, so only call it when you are actually about to launch something else. - * What the caller should do about these failures depends on the failure: - * VRApplicationError_OldApplicationQuitting - An existing application has been told to quit. Wait for a VREvent_ProcessQuit - * and try again. - * VRApplicationError_ApplicationAlreadyStarting - This application is already starting. This is a permanent failure. - * VRApplicationError_LaunchInProgress - A different application is already starting. This is a permanent failure. - * VRApplicationError_None - Go ahead and launch. Everything is clear. - */ - virtual EVRApplicationError PerformApplicationPrelaunchCheck( const char *pchAppKey ) = 0; - - /** Returns a string for an application transition state */ - virtual const char *GetApplicationsTransitionStateNameFromEnum( EVRApplicationTransitionState state ) = 0; - - /** Returns true if the outgoing scene app has requested a save prompt before exiting */ - virtual bool IsQuitUserPromptRequested() = 0; - - /** Starts a subprocess within the calling application. This - * suppresses all application transition UI and automatically identifies the new executable - * as part of the same application. On success the calling process should exit immediately. - * If working directory is NULL or "" the directory portion of the binary path will be - * the working directory. */ - virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; - }; - - static const char * const IVRApplications_Version = "IVRApplications_005"; - -} // namespace vr - -// ivrsettings.h -namespace vr -{ - enum EVRSettingsError - { - VRSettingsError_None = 0, - VRSettingsError_IPCFailed = 1, - VRSettingsError_WriteFailed = 2, - VRSettingsError_ReadFailed = 3, - }; - - // The maximum length of a settings key - static const uint32_t k_unMaxSettingsKeyLength = 128; - - class IVRSettings - { - public: - virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; - - // Returns true if file sync occurred (force or settings dirty) - virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; - - virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, bool bDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; - virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; - virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, float flDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void GetString( const char *pchSection, const char *pchSettingsKey, char *pchValue, uint32_t unValueLen, const char *pchDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; - - virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; - virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - }; - - //----------------------------------------------------------------------------- - static const char * const IVRSettings_Version = "IVRSettings_001"; - - //----------------------------------------------------------------------------- - // steamvr keys - - static const char * const k_pch_SteamVR_Section = "steamvr"; - static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; - static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - static const char * const k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; - static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; - static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - static const char * const k_pch_SteamVR_IPD_Float = "ipd"; - static const char * const k_pch_SteamVR_Background_String = "background"; - static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - static const char * const k_pch_SteamVR_Environment_String = "environment"; - static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; - static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; - static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - static const char * const k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; - static const char * const k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; - static const char * const k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; - static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; - static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - static const char * const k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; - static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; - static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - - //----------------------------------------------------------------------------- - // lighthouse keys - - static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; - static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - - static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - static const char * const k_pch_Lighthouse_LighthouseName_String = "lighthousename"; - static const char * const k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; - static const char * const k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; - static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - - //----------------------------------------------------------------------------- - // null keys - - static const char * const k_pch_Null_Section = "driver_null"; - static const char * const k_pch_Null_EnableNullDriver_Bool = "enable"; - static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; - static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; - static const char * const k_pch_Null_WindowX_Int32 = "windowX"; - static const char * const k_pch_Null_WindowY_Int32 = "windowY"; - static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; - static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; - static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; - static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; - static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - - //----------------------------------------------------------------------------- - // user interface keys - static const char * const k_pch_UserInterface_Section = "userinterface"; - static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - static const char * const k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots"; - - //----------------------------------------------------------------------------- - // notification keys - static const char * const k_pch_Notifications_Section = "notifications"; - static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - - //----------------------------------------------------------------------------- - // keyboard keys - static const char * const k_pch_Keyboard_Section = "keyboard"; - static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; - static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; - static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; - static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; - - //----------------------------------------------------------------------------- - // perf keys - static const char * const k_pch_Perf_Section = "perfcheck"; - static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - static const char * const k_pch_Perf_TestData_Float = "perfTestData"; - - //----------------------------------------------------------------------------- - // collision bounds keys - static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; - static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // camera keys - static const char * const k_pch_Camera_Section = "camera"; - static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; - static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // audio keys - static const char * const k_pch_audio_Section = "audio"; - static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - - //----------------------------------------------------------------------------- - // model skin keys - static const char * const k_pch_modelskin_Section = "modelskins"; - -} // namespace vr - -// ivrchaperone.h -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -enum ChaperoneCalibrationState -{ - // OK! - ChaperoneCalibrationState_OK = 1, // Chaperone is fully calibrated and working correctly - - // Warnings - ChaperoneCalibrationState_Warning = 100, - ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, // A base station thinks that it might have moved - ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, // There are less base stations than when calibrated - ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, // Seated bounds haven't been calibrated for the current tracking center - - // Errors - ChaperoneCalibrationState_Error = 200, // The UniverseID is invalid - ChaperoneCalibrationState_Error_BaseStationUninitalized = 201, // Tracking center hasn't be calibrated for at least one of the base stations - ChaperoneCalibrationState_Error_BaseStationConflict = 202, // Tracking center is calibrated, but base stations disagree on the tracking space - ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, // Play Area hasn't been calibrated for the current tracking center - ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, // Collision Bounds haven't been calibrated for the current tracking center -}; - - -/** HIGH LEVEL TRACKING SPACE ASSUMPTIONS: -* 0,0,0 is the preferred standing area center. -* 0Y is the floor height. -* -Z is the preferred forward facing direction. */ -class IVRChaperone -{ -public: - - /** Get the current state of Chaperone calibration. This state can change at any time during a session due to physical base station changes. **/ - virtual ChaperoneCalibrationState GetCalibrationState() = 0; - - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. - * Tracking space center (0,0,0) is the center of the Play Area. **/ - virtual bool GetPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; - - /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds). - * Corners are in counter-clockwise order. - * Standing center (0,0,0) is the center of the Play Area. - * It's a rectangle. - * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. - * Height of every corner is 0Y (on the floor). **/ - virtual bool GetPlayAreaRect( HmdQuad_t *rect ) = 0; - - /** Reload Chaperone data from the .vrchap file on disk. */ - virtual void ReloadInfo( void ) = 0; - - /** Optionally give the chaperone system a hit about the color and brightness in the scene **/ - virtual void SetSceneColor( HmdColor_t color ) = 0; - - /** Get the current chaperone bounds draw color and brightness **/ - virtual void GetBoundsColor( HmdColor_t *pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t *pOutputCameraColor ) = 0; - - /** Determine whether the bounds are showing right now **/ - virtual bool AreBoundsVisible() = 0; - - /** Force the bounds to show, mostly for utilities **/ - virtual void ForceBoundsVisible( bool bForce ) = 0; -}; - -static const char * const IVRChaperone_Version = "IVRChaperone_003"; - -#pragma pack( pop ) - -} - -// ivrchaperonesetup.h -namespace vr -{ - -enum EChaperoneConfigFile -{ - EChaperoneConfigFile_Live = 1, // The live chaperone config, used by most applications and games - EChaperoneConfigFile_Temp = 2, // The temporary chaperone config, used to live-preview collision bounds in room setup -}; - -enum EChaperoneImportFlags -{ - EChaperoneImport_BoundsOnly = 0x0001, -}; - -/** Manages the working copy of the chaperone info. By default this will be the same as the -* live copy. Any changes made with this interface will stay in the working copy until -* CommitWorkingCopy() is called, at which point the working copy and the live copy will be -* the same again. */ -class IVRChaperoneSetup -{ -public: - - /** Saves the current working copy to disk */ - virtual bool CommitWorkingCopy( EChaperoneConfigFile configFile ) = 0; - - /** Reverts the working copy to match the live chaperone calibration. - * To modify existing data this MUST be do WHILE getting a non-error ChaperoneCalibrationStatus. - * Only after this should you do gets and sets on the existing data. */ - virtual void RevertWorkingCopy() = 0; - - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z from the working copy. - * Tracking space center (0,0,0) is the center of the Play Area. */ - virtual bool GetWorkingPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; - - /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds) from the working copy. - * Corners are in clockwise order. - * Tracking space center (0,0,0) is the center of the Play Area. - * It's a rectangle. - * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. - * Height of every corner is 0Y (on the floor). **/ - virtual bool GetWorkingPlayAreaRect( HmdQuad_t *rect ) = 0; - - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads - * into the buffer up to the max specified from the working copy. */ - virtual bool GetWorkingCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads - * into the buffer up to the max specified. */ - virtual bool GetLiveCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - /** Returns the preferred seated position from the working copy. */ - virtual bool GetWorkingSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; - - /** Returns the standing origin from the working copy. */ - virtual bool GetWorkingStandingZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatStandingZeroPoseToRawTrackingPose ) = 0; - - /** Sets the Play Area in the working copy. */ - virtual void SetWorkingPlayAreaSize( float sizeX, float sizeZ ) = 0; - - /** Sets the Collision Bounds in the working copy. */ - virtual void SetWorkingCollisionBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; - - /** Sets the preferred seated position in the working copy. */ - virtual void SetWorkingSeatedZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatSeatedZeroPoseToRawTrackingPose ) = 0; - - /** Sets the preferred standing position in the working copy. */ - virtual void SetWorkingStandingZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatStandingZeroPoseToRawTrackingPose ) = 0; - - /** Tear everything down and reload it from the file on disk */ - virtual void ReloadFromDisk( EChaperoneConfigFile configFile ) = 0; - - /** Returns the preferred seated position. */ - virtual bool GetLiveSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; - - virtual void SetWorkingCollisionBoundsTagsInfo( VR_ARRAY_COUNT(unTagCount) uint8_t *pTagsBuffer, uint32_t unTagCount ) = 0; - virtual bool GetLiveCollisionBoundsTagsInfo( VR_OUT_ARRAY_COUNT(punTagCount) uint8_t *pTagsBuffer, uint32_t *punTagCount ) = 0; - - virtual bool SetWorkingPhysicalBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; - virtual bool GetLivePhysicalBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - virtual bool ExportLiveToBuffer( VR_OUT_STRING() char *pBuffer, uint32_t *pnBufferLength ) = 0; - virtual bool ImportFromBufferToWorking( const char *pBuffer, uint32_t nImportFlags ) = 0; -}; - -static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; - - -} - -// ivrcompositor.h -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -/** Errors that can occur with the VR compositor */ -enum EVRCompositorError -{ - VRCompositorError_None = 0, - VRCompositorError_RequestFailed = 1, - VRCompositorError_IncompatibleVersion = 100, - VRCompositorError_DoNotHaveFocus = 101, - VRCompositorError_InvalidTexture = 102, - VRCompositorError_IsNotSceneApplication = 103, - VRCompositorError_TextureIsOnWrongDevice = 104, - VRCompositorError_TextureUsesUnsupportedFormat = 105, - VRCompositorError_SharedTexturesNotSupported = 106, - VRCompositorError_IndexOutOfRange = 107, -}; - -const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01; -const uint32_t VRCompositor_ReprojectionReason_Gpu = 0x02; - -/** Provides a single frame's timing information to the app */ -struct Compositor_FrameTiming -{ - uint32_t m_nSize; // Set to sizeof( Compositor_FrameTiming ) - uint32_t m_nFrameIndex; - uint32_t m_nNumFramePresents; // number of times this frame was presented - uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out - - /** Absolute time reference for comparing frames. This aligns with the vsync that running start is relative to. */ - double m_flSystemTimeInSeconds; - - /** These times may include work from other processes due to OS scheduling. - * The fewer packets of work these are broken up into, the less likely this will happen. - * GPU work can be broken up by calling Flush. This can sometimes be useful to get the GPU started - * processing that work earlier in the frame. */ - float m_flSceneRenderGpuMs; // time spent rendering the scene - float m_flTotalRenderGpuMs; // time between work submitted immediately after present (ideally vsync) until the end of compositor submitted work - float m_flCompositorRenderGpuMs; // time spend performing distortion correction, rendering chaperone, overlays, etc. - float m_flCompositorRenderCpuMs; // time spent on cpu submitting the above work for this frame - float m_flCompositorIdleCpuMs; // time spent waiting for running start (application could have used this much more time) - - /** Miscellaneous measured intervals. */ - float m_flClientFrameIntervalMs; // time between calls to WaitGetPoses - float m_flPresentCallCpuMs; // time blocked on call to present (usually 0.0, but can go long) - float m_flWaitForPresentCpuMs; // time spent spin-waiting for frame index to change (not near-zero indicates wait object failure) - float m_flSubmitFrameMs; // time spent in IVRCompositor::Submit (not near-zero indicates driver issue) - - /** The following are all relative to this frame's SystemTimeInSeconds */ - float m_flWaitGetPosesCalledMs; - float m_flNewPosesReadyMs; - float m_flNewFrameReadyMs; // second call to IVRCompositor::Submit - float m_flCompositorUpdateStartMs; - float m_flCompositorUpdateEndMs; - float m_flCompositorRenderStartMs; - - vr::TrackedDevicePose_t m_HmdPose; // pose used by app to render this frame - int32_t m_nFidelityLevel; // app reported value - - uint32_t m_nReprojectionFlags; -}; - -/** Cumulative stats for current application. These are not cleared until a new app connects, -* but they do stop accumulating once the associated app disconnects. */ -struct Compositor_CumulativeStats -{ - uint32_t m_nPid; // Process id associated with these stats (may no longer be running). - uint32_t m_nNumFramePresents; // total number of times we called present (includes reprojected frames) - uint32_t m_nNumDroppedFrames; // total number of times an old frame was re-scanned out (without reprojection) - uint32_t m_nNumReprojectedFrames; // total number of times a frame was scanned out a second time with reprojection - - /** Values recorded at startup before application has fully faded in the first time. */ - uint32_t m_nNumFramePresentsOnStartup; - uint32_t m_nNumDroppedFramesOnStartup; - uint32_t m_nNumReprojectedFramesOnStartup; - - /** Applications may explicitly fade to the compositor. This is usually to handle level transitions, and loading often causes - * system wide hitches. The following stats are collected during this period. Does not include values recorded during startup. */ - uint32_t m_nNumLoading; - uint32_t m_nNumFramePresentsLoading; - uint32_t m_nNumDroppedFramesLoading; - uint32_t m_nNumReprojectedFramesLoading; - - /** If we don't get a new frame from the app in less than 2.5 frames, then we assume the app has hung and start - * fading back to the compositor. The following stats are a result of this, and are a subset of those recorded above. - * Does not include values recorded during start up or loading. */ - uint32_t m_nNumTimedOut; - uint32_t m_nNumFramePresentsTimedOut; - uint32_t m_nNumDroppedFramesTimedOut; - uint32_t m_nNumReprojectedFramesTimedOut; -}; - -#pragma pack( pop ) - -/** Allows the application to interact with the compositor */ -class IVRCompositor -{ -public: - /** Sets tracking space returned by WaitGetPoses */ - virtual void SetTrackingSpace( ETrackingUniverseOrigin eOrigin ) = 0; - - /** Gets current tracking space returned by WaitGetPoses */ - virtual ETrackingUniverseOrigin GetTrackingSpace() = 0; - - /** Returns pose(s) to use to render scene (and optionally poses predicted two frames out for gameplay). */ - virtual EVRCompositorError WaitGetPoses( VR_ARRAY_COUNT(unRenderPoseArrayCount) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, - VR_ARRAY_COUNT(unGamePoseArrayCount) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; - - /** Get the last set of poses returned by WaitGetPoses. */ - virtual EVRCompositorError GetLastPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, - VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; - - /** Interface for accessing last set of poses returned by WaitGetPoses one at a time. - * Returns VRCompositorError_IndexOutOfRange if unDeviceIndex not less than k_unMaxTrackedDeviceCount otherwise VRCompositorError_None. - * It is okay to pass NULL for either pose if you only want one of the values. */ - virtual EVRCompositorError GetLastPoseForTrackedDeviceIndex( TrackedDeviceIndex_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose ) = 0; - - /** Updated scene texture to display. If pBounds is NULL the entire texture will be used. If called from an OpenGL app, consider adding a glFlush after - * Submitting both frames to signal the driver to start processing, otherwise it may wait until the command buffer fills up, causing the app to miss frames. - * - * OpenGL dirty state: - * glBindTexture - */ - virtual EVRCompositorError Submit( EVREye eEye, const Texture_t *pTexture, const VRTextureBounds_t* pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; - - /** Clears the frame that was sent with the last call to Submit. This will cause the - * compositor to show the grid until Submit is called again. */ - virtual void ClearLastSubmittedFrame() = 0; - - /** Call immediately after presenting your app's window (i.e. companion window) to unblock the compositor. - * This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present. - * For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would - * introduce a deadlock of some sort. This function tells the compositor that you have finished all rendering after having Submitted buffers for both - * eyes, and it is free to start its rendering work. This should only be called from the same thread you are rendering on. */ - virtual void PostPresentHandoff() = 0; - - /** Returns true if timing data is filled it. Sets oldest timing info if nFramesAgo is larger than the stored history. - * Be sure to set timing.size = sizeof(Compositor_FrameTiming) on struct passed in before calling this function. */ - virtual bool GetFrameTiming( Compositor_FrameTiming *pTiming, uint32_t unFramesAgo = 0 ) = 0; - - /** Returns the time in seconds left in the current (as identified by FrameTiming's frameIndex) frame. - * Due to "running start", this value may roll over to the next frame before ever reaching 0.0. */ - virtual float GetFrameTimeRemaining() = 0; - - /** Fills out stats accumulated for the last connected application. Pass in sizeof( Compositor_CumulativeStats ) as second parameter. */ - virtual void GetCumulativeStats( Compositor_CumulativeStats *pStats, uint32_t nStatsSizeInBytes ) = 0; - - /** Fades the view on the HMD to the specified color. The fade will take fSeconds, and the color values are between - * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly - * would be FadeToColor( 0.0, 0.0, 0.0, 0.0, 0.0 ). Values are in un-premultiplied alpha space. */ - virtual void FadeToColor( float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground = false ) = 0; - - /** Fading the Grid in or out in fSeconds */ - virtual void FadeGrid( float fSeconds, bool bFadeIn ) = 0; - - /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough) - * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format. - * If two are passed, it is assumed a lat-long stereo pair. */ - virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0; - - /** Resets compositor skybox back to defaults. */ - virtual void ClearSkyboxOverride() = 0; - - /** Brings the compositor window to the front. This is useful for covering any other window that may be on the HMD - * and is obscuring the compositor window. */ - virtual void CompositorBringToFront() = 0; - - /** Pushes the compositor window to the back. This is useful for allowing other applications to draw directly to the HMD. */ - virtual void CompositorGoToBack() = 0; - - /** Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. Under normal - * circumstances the compositor will manage its own life cycle based on what applications are running. */ - virtual void CompositorQuit() = 0; - - /** Return whether the compositor is fullscreen */ - virtual bool IsFullscreen() = 0; - - /** Returns the process ID of the process that is currently rendering the scene */ - virtual uint32_t GetCurrentSceneFocusProcess() = 0; - - /** Returns the process ID of the process that rendered the last frame (or 0 if the compositor itself rendered the frame.) - * Returns 0 when fading out from an app and the app's process Id when fading into an app. */ - virtual uint32_t GetLastFrameRenderer() = 0; - - /** Returns true if the current process has the scene focus */ - virtual bool CanRenderScene() = 0; - - /** Creates a window on the primary monitor to display what is being shown in the headset. */ - virtual void ShowMirrorWindow() = 0; - - /** Closes the mirror window. */ - virtual void HideMirrorWindow() = 0; - - /** Returns true if the mirror window is shown. */ - virtual bool IsMirrorWindowVisible() = 0; - - /** Writes all images that the compositor knows about (including overlays) to a 'screenshots' folder in the SteamVR runtime root. */ - virtual void CompositorDumpImages() = 0; - - /** Let an app know it should be rendering with low resources. */ - virtual bool ShouldAppRenderWithLowResources() = 0; - - /** Override interleaved reprojection logic to force on. */ - virtual void ForceInterleavedReprojectionOn( bool bOverride ) = 0; - - /** Force reconnecting to the compositor process. */ - virtual void ForceReconnectProcess() = 0; - - /** Temporarily suspends rendering (useful for finer control over scene transitions). */ - virtual void SuspendRendering( bool bSuspend ) = 0; - - /** Screenshot support */ - - /** These functions are no longer used and will be removed in - * a future update. Use the functions via the - * IVRScreenshots interface */ - virtual vr::EVRCompositorError RequestScreenshot( vr::EVRScreenshotType type, const char *pchDestinationFileName, const char *pchVRDestinationFileName ) = 0; - virtual vr::EVRScreenshotType GetCurrentScreenshotType() = 0; - - /** Opens a shared D3D11 texture with the undistorted composited image for each eye. */ - virtual vr::EVRCompositorError GetMirrorTextureD3D11( vr::EVREye eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView ) = 0; - - /** Access to mirror textures from OpenGL. */ - virtual vr::EVRCompositorError GetMirrorTextureGL( vr::EVREye eEye, vr::glUInt_t *pglTextureId, vr::glSharedTextureHandle_t *pglSharedTextureHandle ) = 0; - virtual bool ReleaseSharedGLTexture( vr::glUInt_t glTextureId, vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - virtual void LockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - virtual void UnlockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; -}; - -static const char * const IVRCompositor_Version = "IVRCompositor_015"; - -} // namespace vr - - - -// ivrnotifications.h -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -// Used for passing graphic data -struct NotificationBitmap_t -{ - NotificationBitmap_t() - : m_pImageData( nullptr ) - , m_nWidth( 0 ) - , m_nHeight( 0 ) - , m_nBytesPerPixel( 0 ) - { - }; - - void *m_pImageData; - int32_t m_nWidth; - int32_t m_nHeight; - int32_t m_nBytesPerPixel; -}; - - -/** Be aware that the notification type is used as 'priority' to pick the next notification */ -enum EVRNotificationType -{ - /** Transient notifications are automatically hidden after a period of time set by the user. - * They are used for things like information and chat messages that do not require user interaction. */ - EVRNotificationType_Transient = 0, - - /** Persistent notifications are shown to the user until they are hidden by calling RemoveNotification(). - * They are used for things like phone calls and alarms that require user interaction. */ - EVRNotificationType_Persistent = 1, - - /** System notifications are shown no matter what. It is expected, that the ulUserValue is used as ID. - * If there is already a system notification in the queue with that ID it is not accepted into the queue - * to prevent spamming with system notification */ - EVRNotificationType_Transient_SystemWithUserValue = 2, -}; - -enum EVRNotificationStyle -{ - /** Creates a notification with minimal external styling. */ - EVRNotificationStyle_None = 0, - - /** Used for notifications about overlay-level status. In Steam this is used for events like downloads completing. */ - EVRNotificationStyle_Application = 100, - - /** Used for notifications about contacts that are unknown or not available. In Steam this is used for friend invitations and offline friends. */ - EVRNotificationStyle_Contact_Disabled = 200, - - /** Used for notifications about contacts that are available but inactive. In Steam this is used for friends that are online but not playing a game. */ - EVRNotificationStyle_Contact_Enabled = 201, - - /** Used for notifications about contacts that are available and active. In Steam this is used for friends that are online and currently running a game. */ - EVRNotificationStyle_Contact_Active = 202, -}; - -static const uint32_t k_unNotificationTextMaxSize = 256; - -typedef uint32_t VRNotificationId; - - - -#pragma pack( pop ) - -/** Allows notification sources to interact with the VR system - This current interface is not yet implemented. Do not use yet. */ -class IVRNotifications -{ -public: - /** Create a notification and enqueue it to be shown to the user. - * An overlay handle is required to create a notification, as otherwise it would be impossible for a user to act on it. - * To create a two-line notification, use a line break ('\n') to split the text into two lines. - * The pImage argument may be NULL, in which case the specified overlay's icon will be used instead. */ - virtual EVRNotificationError CreateNotification( VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, const char *pchText, EVRNotificationStyle style, const NotificationBitmap_t *pImage, /* out */ VRNotificationId *pNotificationId ) = 0; - - /** Destroy a notification, hiding it first if it currently shown to the user. */ - virtual EVRNotificationError RemoveNotification( VRNotificationId notificationId ) = 0; - -}; - -static const char * const IVRNotifications_Version = "IVRNotifications_002"; - -} // namespace vr - - - -// ivroverlay.h -namespace vr -{ - - /** The maximum length of an overlay key in bytes, counting the terminating null character. */ - static const uint32_t k_unVROverlayMaxKeyLength = 128; - - /** The maximum length of an overlay name in bytes, counting the terminating null character. */ - static const uint32_t k_unVROverlayMaxNameLength = 128; - - /** The maximum number of overlays that can exist in the system at one time. */ - static const uint32_t k_unMaxOverlayCount = 32; - - /** Types of input supported by VR Overlays */ - enum VROverlayInputMethod - { - VROverlayInputMethod_None = 0, // No input events will be generated automatically for this overlay - VROverlayInputMethod_Mouse = 1, // Tracked controllers will get mouse events automatically - }; - - /** Allows the caller to figure out which overlay transform getter to call. */ - enum VROverlayTransformType - { - VROverlayTransform_Absolute = 0, - VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, - VROverlayTransform_TrackedComponent = 3, - }; - - /** Overlay control settings */ - enum VROverlayFlags - { - VROverlayFlags_None = 0, - - // The following only take effect when rendered using the high quality render path (see SetHighQualityOverlay). - VROverlayFlags_Curved = 1, - VROverlayFlags_RGSS4X = 2, - - // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay - VROverlayFlags_NoDashboardTab = 3, - - // Set this flag on a dashboard that is able to deal with gamepad focus events - VROverlayFlags_AcceptsGamepadEvents = 4, - - // Indicates that the overlay should dim/brighten to show gamepad focus - VROverlayFlags_ShowGamepadFocus = 5, - - // When in VROverlayInputMethod_Mouse you can optionally enable sending VRScroll_t - VROverlayFlags_SendVRScrollEvents = 6, - VROverlayFlags_SendVRTouchpadEvents = 7, - - // If set this will render a vertical scroll wheel on the primary controller, - // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel - VROverlayFlags_ShowTouchPadScrollWheel = 8, - - // If this is set ownership and render access to the overlay are transferred - // to the new scene process on a call to IVRApplications::LaunchInternalProcess - VROverlayFlags_TransferOwnershipToInternalProcess = 9, - - // If set, renders 50% of the texture in each eye, side by side - VROverlayFlags_SideBySide_Parallel = 10, // Texture is left/right - VROverlayFlags_SideBySide_Crossed = 11, // Texture is crossed and right/left - - VROverlayFlags_Panorama = 12, // Texture is a panorama - VROverlayFlags_StereoPanorama = 13, // Texture is a stereo panorama - }; - - struct VROverlayIntersectionParams_t - { - HmdVector3_t vSource; - HmdVector3_t vDirection; - ETrackingUniverseOrigin eOrigin; - }; - - struct VROverlayIntersectionResults_t - { - HmdVector3_t vPoint; - HmdVector3_t vNormal; - HmdVector2_t vUVs; - float fDistance; - }; - - // Input modes for the Big Picture gamepad text entry - enum EGamepadTextInputMode - { - k_EGamepadTextInputModeNormal = 0, - k_EGamepadTextInputModePassword = 1, - k_EGamepadTextInputModeSubmit = 2, - }; - - // Controls number of allowed lines for the Big Picture gamepad text entry - enum EGamepadTextInputLineMode - { - k_EGamepadTextInputLineModeSingleLine = 0, - k_EGamepadTextInputLineModeMultipleLines = 1 - }; - - /** Directions for changing focus between overlays with the gamepad */ - enum EOverlayDirection - { - OverlayDirection_Up = 0, - OverlayDirection_Down = 1, - OverlayDirection_Left = 2, - OverlayDirection_Right = 3, - - OverlayDirection_Count = 4, - }; - - class IVROverlay - { - public: - - // --------------------------------------------- - // Overlay management methods - // --------------------------------------------- - - /** Finds an existing overlay with the specified key. */ - virtual EVROverlayError FindOverlay( const char *pchOverlayKey, VROverlayHandle_t * pOverlayHandle ) = 0; - - /** Creates a new named overlay. All overlays start hidden and with default settings. */ - virtual EVROverlayError CreateOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pOverlayHandle ) = 0; - - /** Destroys the specified overlay. When an application calls VR_Shutdown all overlays created by that app are - * automatically destroyed. */ - virtual EVROverlayError DestroyOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Specify which overlay to use the high quality render path. This overlay will be composited in during the distortion pass which - * results in it drawing on top of everything else, but also at a higher quality as it samples the source texture directly rather than - * rasterizing into each eye's render texture first. Because if this, only one of these is supported at any given time. It is most useful - * for overlays that are expected to take up most of the user's view (e.g. streaming video). - * This mode does not support mouse input to your overlay. */ - virtual EVROverlayError SetHighQualityOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns the overlay handle of the current overlay being rendered using the single high quality overlay render path. - * Otherwise it will return k_ulOverlayHandleInvalid. */ - virtual vr::VROverlayHandle_t GetHighQualityOverlay() = 0; - - /** Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including - * the terminating null character. k_unVROverlayMaxKeyLength will be enough bytes to fit the string. */ - virtual uint32_t GetOverlayKey( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; - - /** Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including - * the terminating null character. k_unVROverlayMaxNameLength will be enough bytes to fit the string. */ - virtual uint32_t GetOverlayName( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; - - /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height - * will be set and VROverlayError_ArrayTooSmall is returned. */ - virtual EVROverlayError GetOverlayImageData( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight ) = 0; - - /** returns a string that corresponds with the specified overlay error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetOverlayErrorNameFromEnum( EVROverlayError error ) = 0; - - - // --------------------------------------------- - // Overlay rendering methods - // --------------------------------------------- - - /** Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), - * by default this is the pid of the process that made the overlay */ - virtual EVROverlayError SetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle, uint32_t unPID ) = 0; - - /** Gets the pid that is allowed to render to this overlay */ - virtual uint32_t GetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Specify flag setting for a given overlay */ - virtual EVROverlayError SetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled ) = 0; - - /** Sets flag setting for a given overlay */ - virtual EVROverlayError GetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool *pbEnabled ) = 0; - - /** Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel. */ - virtual EVROverlayError SetOverlayColor( VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue ) = 0; - - /** Gets the color tint of the overlay quad. */ - virtual EVROverlayError GetOverlayColor( VROverlayHandle_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue ) = 0; - - /** Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity. */ - virtual EVROverlayError SetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float fAlpha ) = 0; - - /** Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0). */ - virtual EVROverlayError GetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float *pfAlpha ) = 0; - - /** Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ - virtual EVROverlayError SetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float fWidthInMeters ) = 0; - - /** Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ - virtual EVROverlayError GetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float *pfWidthInMeters ) = 0; - - /** For high-quality curved overlays only, sets the distance range in meters from the overlay used to automatically curve - * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ - virtual EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters ) = 0; - - /** For high-quality curved overlays only, gets the distance range in meters from the overlay used to automatically curve - * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ - virtual EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters ) = 0; - - /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. - * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ - virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; - - /** Gets the overlay's current colorspace setting. */ - virtual EVROverlayError GetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace *peTextureColorSpace ) = 0; - - /** Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ - virtual EVROverlayError SetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds ) = 0; - - /** Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ - virtual EVROverlayError GetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds ) = 0; - - /** Returns the transform type of this overlay. */ - virtual EVROverlayError GetOverlayTransformType( VROverlayHandle_t ulOverlayHandle, VROverlayTransformType *peTransformType ) = 0; - - /** Sets the transform to absolute tracking origin. */ - virtual EVROverlayError SetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; - - /** Gets the transform if it is absolute. Returns an error if the transform is some other type. */ - virtual EVROverlayError GetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; - - /** Sets the transform to relative to the transform of the specified tracked device. */ - virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; - - /** Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type. */ - virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; - - /** Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is - * drawing the device. Overlays with this transform type cannot receive mouse events. */ - virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char *pchComponentName ) = 0; - - /** Gets the transform information when the overlay is rendering on a component. */ - virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize ) = 0; - - /** Shows the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ - virtual EVROverlayError ShowOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Hides the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ - virtual EVROverlayError HideOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns true if the overlay is visible. */ - virtual bool IsOverlayVisible( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */ - virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; - - // --------------------------------------------- - // Overlay input methods - // --------------------------------------------- - - /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. - * If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextOverlayEvent( VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Returns the current input settings for the specified overlay. */ - virtual EVROverlayError GetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod *peInputMethod ) = 0; - - /** Sets the input settings for the specified overlay. */ - virtual EVROverlayError SetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod ) = 0; - - /** Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is - * typically the size of the underlying UI in pixels. */ - virtual EVROverlayError GetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvecMouseScale ) = 0; - - /** Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is - * typically the size of the underlying UI in pixels (not in world space). */ - virtual EVROverlayError SetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale ) = 0; - - /** Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the - * specified settings. Returns false if there is no intersection. */ - virtual bool ComputeOverlayIntersection( VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults ) = 0; - - /** Processes mouse input from the specified controller as though it were a mouse pointed at a compositor overlay with the - * specified settings. The controller is treated like a laser pointer on the -z axis. The point where the laser pointer would - * intersect with the overlay is the mouse position, the trigger is left mouse, and the track pad is right mouse. - * - * Return true if the controller is pointed at the overlay and an event was generated. */ - virtual bool HandleControllerOverlayInteractionAsMouse( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex ) = 0; - - /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" - * by the virtual mouse pointer */ - virtual bool IsHoverTargetOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns the current Gamepad focus overlay */ - virtual vr::VROverlayHandle_t GetGamepadFocusOverlay() = 0; - - /** Sets the current Gamepad focus overlay */ - virtual EVROverlayError SetGamepadFocusOverlay( VROverlayHandle_t ulNewFocusOverlay ) = 0; - - /** Sets an overlay's neighbor. This will also set the neighbor of the "to" overlay - * to point back to the "from" overlay. If an overlay's neighbor is set to invalid both - * ends will be cleared */ - virtual EVROverlayError SetOverlayNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo ) = 0; - - /** Changes the Gamepad focus from one overlay to one of its neighbors. Returns VROverlayError_NoNeighbor if there is no - * neighbor in that direction */ - virtual EVROverlayError MoveGamepadFocusToNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom ) = 0; - - // --------------------------------------------- - // Overlay texture methods - // --------------------------------------------- - - /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid) . - * - * OpenGL dirty state: - * glBindTexture - */ - virtual EVROverlayError SetOverlayTexture( VROverlayHandle_t ulOverlayHandle, const Texture_t *pTexture ) = 0; - - /** Use this to tell the overlay system to release the texture set for this overlay. */ - virtual EVROverlayError ClearOverlayTexture( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data - * that can be sent. This function can only be called by the overlay's renderer process. */ - virtual EVROverlayError SetOverlayRaw( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth ) = 0; - - /** Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. - * This function can only be called by the overlay's renderer process */ - virtual EVROverlayError SetOverlayFromFile( VROverlayHandle_t ulOverlayHandle, const char *pchFilePath ) = 0; - - /** Get the native texture handle/device for an overlay you have created. - * On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound. - * - * The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above. - * - * You MUST call ReleaseNativeOverlayHandle() with pNativeTextureHandle once you are done with this texture. - * - * pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. - * pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle. - */ - virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, EGraphicsAPIConvention *pAPI, EColorSpace *pColorSpace ) = 0; - - /** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, - * so only do it once you stop rendering this texture. - */ - virtual EVROverlayError ReleaseNativeOverlayHandle( VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle ) = 0; - - /** Get the size of the overlay texture */ - virtual EVROverlayError GetOverlayTextureSize( VROverlayHandle_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight ) = 0; - - // ---------------------------------------------- - // Dashboard Overlay Methods - // ---------------------------------------------- - - /** Creates a dashboard overlay and returns its handle */ - virtual EVROverlayError CreateDashboardOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t *pThumbnailHandle ) = 0; - - /** Returns true if the dashboard is visible */ - virtual bool IsDashboardVisible() = 0; - - /** returns true if the dashboard is visible and the specified overlay is the active system Overlay */ - virtual bool IsActiveDashboardOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Sets the dashboard overlay to only appear when the specified process ID has scene focus */ - virtual EVROverlayError SetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId ) = 0; - - /** Gets the process ID that this dashboard overlay requires to have scene focus */ - virtual EVROverlayError GetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t *punProcessId ) = 0; - - /** Shows the dashboard. */ - virtual void ShowDashboard( const char *pchOverlayToShow ) = 0; - - /** Returns the tracked device that has the laser pointer in the dashboard */ - virtual vr::TrackedDeviceIndex_t GetPrimaryDashboardDevice() = 0; - - // --------------------------------------------- - // Keyboard methods - // --------------------------------------------- - - /** Show the virtual keyboard to accept input **/ - virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; - - virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; - - /** Get the text that was entered into the text input **/ - virtual uint32_t GetKeyboardText( VR_OUT_STRING() char *pchText, uint32_t cchText ) = 0; - - /** Hide the virtual keyboard **/ - virtual void HideKeyboard() = 0; - - /** Set the position of the keyboard in world space **/ - virtual void SetKeyboardTransformAbsolute( ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform ) = 0; - - /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left **/ - virtual void SetKeyboardPositionForOverlay( VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect ) = 0; - - }; - - static const char * const IVROverlay_Version = "IVROverlay_012"; - -} // namespace vr - -// ivrrendermodels.h -namespace vr -{ - -static const char * const k_pch_Controller_Component_GDC2015 = "gdc2015"; // Canonical coordinate system of the gdc 2015 wired controller, provided for backwards compatibility -static const char * const k_pch_Controller_Component_Base = "base"; // For controllers with an unambiguous 'base'. -static const char * const k_pch_Controller_Component_Tip = "tip"; // For controllers with an unambiguous 'tip' (used for 'laser-pointing') -static const char * const k_pch_Controller_Component_HandGrip = "handgrip"; // Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb -static const char * const k_pch_Controller_Component_Status = "status"; // 1:1 aspect ratio status area, with canonical [0,1] uv mapping - -#if defined(__linux__) || defined(__APPLE__) -// The 32-bit version of gcc has the alignment requirement for uint64 and double set to -// 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. -// The 64-bit version of gcc has the alignment requirement for these types set to -// 8 meaning that unless we use #pragma pack(4) our structures will get bigger. -// The 64-bit structure packing has to match the 32-bit structure packing for each platform. -#pragma pack( push, 4 ) -#else -#pragma pack( push, 8 ) -#endif - -/** Errors that can occur with the VR compositor */ -enum EVRRenderModelError -{ - VRRenderModelError_None = 0, - VRRenderModelError_Loading = 100, - VRRenderModelError_NotSupported = 200, - VRRenderModelError_InvalidArg = 300, - VRRenderModelError_InvalidModel = 301, - VRRenderModelError_NoShapes = 302, - VRRenderModelError_MultipleShapes = 303, - VRRenderModelError_TooManyVertices = 304, - VRRenderModelError_MultipleTextures = 305, - VRRenderModelError_BufferTooSmall = 306, - VRRenderModelError_NotEnoughNormals = 307, - VRRenderModelError_NotEnoughTexCoords = 308, - - VRRenderModelError_InvalidTexture = 400, -}; - -typedef uint32_t VRComponentProperties; - -enum EVRComponentProperty -{ - VRComponentProperty_IsStatic = (1 << 0), - VRComponentProperty_IsVisible = (1 << 1), - VRComponentProperty_IsTouched = (1 << 2), - VRComponentProperty_IsPressed = (1 << 3), - VRComponentProperty_IsScrolled = (1 << 4), -}; - -/** Describes state information about a render-model component, including transforms and other dynamic properties */ -struct RenderModel_ComponentState_t -{ - HmdMatrix34_t mTrackingToComponentRenderModel; // Transform required when drawing the component render model - HmdMatrix34_t mTrackingToComponentLocal; // Transform available for attaching to a local component coordinate system (-Z out from surface ) - VRComponentProperties uProperties; -}; - -/** A single vertex in a render model */ -struct RenderModel_Vertex_t -{ - HmdVector3_t vPosition; // position in meters in device space - HmdVector3_t vNormal; - float rfTextureCoord[2]; -}; - -/** A texture map for use on a render model */ -struct RenderModel_TextureMap_t -{ - uint16_t unWidth, unHeight; // width and height of the texture map in pixels - const uint8_t *rubTextureMapData; // Map texture data. All textures are RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub -}; - -/** Session unique texture identifier. Rendermodels which share the same texture will have the same id. -IDs <0 denote the texture is not present */ - -typedef int32_t TextureID_t; - -const TextureID_t INVALID_TEXTURE_ID = -1; - -struct RenderModel_t -{ - const RenderModel_Vertex_t *rVertexData; // Vertex data for the mesh - uint32_t unVertexCount; // Number of vertices in the vertex data - const uint16_t *rIndexData; // Indices into the vertex data for each triangle - uint32_t unTriangleCount; // Number of triangles in the mesh. Index count is 3 * TriangleCount - TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present -}; - -struct RenderModel_ControllerMode_State_t -{ - bool bScrollWheelVisible; // is this controller currently set to be in a scroll wheel mode -}; - -#pragma pack( pop ) - -class IVRRenderModels -{ -public: - - /** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name - * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. - * - * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the - * application is finished with the render model it should call FreeRenderModel() to free the memory associated - * with the model. - * - * The method returns VRRenderModelError_Loading while the render model is still being loaded. - * The method returns VRRenderModelError_None once loaded successfully, otherwise will return an error. */ - virtual EVRRenderModelError LoadRenderModel_Async( const char *pchRenderModelName, RenderModel_t **ppRenderModel ) = 0; - - /** Frees a previously returned render model - * It is safe to call this on a null ptr. */ - virtual void FreeRenderModel( RenderModel_t *pRenderModel ) = 0; - - /** Loads and returns a texture for use in the application. */ - virtual EVRRenderModelError LoadTexture_Async( TextureID_t textureId, RenderModel_TextureMap_t **ppTexture ) = 0; - - /** Frees a previously returned texture - * It is safe to call this on a null ptr. */ - virtual void FreeTexture( RenderModel_TextureMap_t *pTexture ) = 0; - - /** Creates a D3D11 texture and loads data into it. */ - virtual EVRRenderModelError LoadTextureD3D11_Async( TextureID_t textureId, void *pD3D11Device, void **ppD3D11Texture2D ) = 0; - - /** Helper function to copy the bits into an existing texture. */ - virtual EVRRenderModelError LoadIntoTextureD3D11_Async( TextureID_t textureId, void *pDstTexture ) = 0; - - /** Use this to free textures created with LoadTextureD3D11_Async instead of calling Release on them. */ - virtual void FreeTextureD3D11( void *pD3D11Texture2D ) = 0; - - /** Use this to get the names of available render models. Index does not correlate to a tracked device index, but - * is only used for iterating over all available render models. If the index is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetRenderModelName( uint32_t unRenderModelIndex, VR_OUT_STRING() char *pchRenderModelName, uint32_t unRenderModelNameLen ) = 0; - - /** Returns the number of available render models. */ - virtual uint32_t GetRenderModelCount() = 0; - - - /** Returns the number of components of the specified render model. - * Components are useful when client application wish to draw, label, or otherwise interact with components of tracked objects. - * Examples controller components: - * renderable things such as triggers, buttons - * non-renderable things which include coordinate systems such as 'tip', 'base', a neutral controller agnostic hand-pose - * If all controller components are enumerated and rendered, it will be equivalent to drawing the traditional render model - * Returns 0 if components not supported, >0 otherwise */ - virtual uint32_t GetComponentCount( const char *pchRenderModelName ) = 0; - - /** Use this to get the names of available components. Index does not correlate to a tracked device index, but - * is only used for iterating over all available components. If the index is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetComponentName( const char *pchRenderModelName, uint32_t unComponentIndex, VR_OUT_STRING( ) char *pchComponentName, uint32_t unComponentNameLen ) = 0; - - /** Get the button mask for all buttons associated with this component - * If no buttons (or axes) are associated with this component, return 0 - * Note: multiple components may be associated with the same button. Ex: two grip buttons on a single controller. - * Note: A single component may be associated with multiple buttons. Ex: A trackpad which also provides "D-pad" functionality */ - virtual uint64_t GetComponentButtonMask( const char *pchRenderModelName, const char *pchComponentName ) = 0; - - /** Use this to get the render model name for the specified rendermode/component combination, to be passed to LoadRenderModel. - * If the component name is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetComponentRenderModelName( const char *pchRenderModelName, const char *pchComponentName, VR_OUT_STRING( ) char *pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen ) = 0; - - /** Use this to query information about the component, as a function of the controller state. - * - * For dynamic controller components (ex: trigger) values will reflect component motions - * For static components this will return a consistent value independent of the VRControllerState_t - * - * If the pchRenderModelName or pchComponentName is invalid, this will return false (and transforms will be set to identity). - * Otherwise, return true - * Note: For dynamic objects, visibility may be dynamic. (I.e., true/false will be returned based on controller state and controller mode state ) */ - virtual bool GetComponentState( const char *pchRenderModelName, const char *pchComponentName, const vr::VRControllerState_t *pControllerState, const RenderModel_ControllerMode_State_t *pState, RenderModel_ComponentState_t *pComponentState ) = 0; - - /** Returns true if the render model has a component with the specified name */ - virtual bool RenderModelHasComponent( const char *pchRenderModelName, const char *pchComponentName ) = 0; - - /** Returns the URL of the thumbnail image for this rendermodel */ - virtual uint32_t GetRenderModelThumbnailURL( const char *pchRenderModelName, VR_OUT_STRING() char *pchThumbnailURL, uint32_t unThumbnailURLLen, vr::EVRRenderModelError *peError ) = 0; - - /** Provides a render model path that will load the unskinned model if the model name provided has been replace by the user. If the model - * hasn't been replaced the path value will still be a valid path to load the model. Pass this to LoadRenderModel_Async, etc. to load the - * model. */ - virtual uint32_t GetRenderModelOriginalPath( const char *pchRenderModelName, VR_OUT_STRING() char *pchOriginalPath, uint32_t unOriginalPathLen, vr::EVRRenderModelError *peError ) = 0; - - /** Returns a string for a render model error */ - virtual const char *GetRenderModelErrorNameFromEnum( vr::EVRRenderModelError error ) = 0; -}; - -static const char * const IVRRenderModels_Version = "IVRRenderModels_005"; - -} - - -// ivrextendeddisplay.h -namespace vr -{ - - /** NOTE: Use of this interface is not recommended in production applications. It will not work for displays which use - * direct-to-display mode. It is also incompatible with the VR compositor and is not available when the compositor is running. */ - class IVRExtendedDisplay - { - public: - - /** Size and position that the window needs to be on the VR display. */ - virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Gets the viewport in the frame buffer to draw the output of the distortion into */ - virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** [D3D10/11 Only] - * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs - * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. - */ - virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex ) = 0; - - }; - - static const char * const IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; - -} - - -// ivrtrackedcamera.h -namespace vr -{ - -class IVRTrackedCamera -{ -public: - /** Returns a string for an error */ - virtual const char *GetCameraErrorNameFromEnum( vr::EVRTrackedCameraError eCameraError ) = 0; - - /** For convenience, same as tracked property request Prop_HasCamera_Bool */ - virtual vr::EVRTrackedCameraError HasCamera( vr::TrackedDeviceIndex_t nDeviceIndex, bool *pHasCamera ) = 0; - - /** Gets size of the image frame. */ - virtual vr::EVRTrackedCameraError GetCameraFrameSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pnWidth, uint32_t *pnHeight, uint32_t *pnFrameBufferSize ) = 0; - - virtual vr::EVRTrackedCameraError GetCameraIntrinisics( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0; - - virtual vr::EVRTrackedCameraError GetCameraProjection( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; - - /** Acquiring streaming service permits video streaming for the caller. Releasing hints the system that video services do not need to be maintained for this client. - * If the camera has not already been activated, a one time spin up may incur some auto exposure as well as initial streaming frame delays. - * The camera should be considered a global resource accessible for shared consumption but not exclusive to any caller. - * The camera may go inactive due to lack of active consumers or headset idleness. */ - virtual vr::EVRTrackedCameraError AcquireVideoStreamingService( vr::TrackedDeviceIndex_t nDeviceIndex, vr::TrackedCameraHandle_t *pHandle ) = 0; - virtual vr::EVRTrackedCameraError ReleaseVideoStreamingService( vr::TrackedCameraHandle_t hTrackedCamera ) = 0; - - /** Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. - * A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows - * the caller to determine if the frame as advanced per the frame header sequence. - * If there is no frame available yet, due to initial camera spinup or re-activation, the error will be VRTrackedCameraError_NoFrameAvailable. - * Ideally a caller should be polling at ~16ms intervals */ - virtual vr::EVRTrackedCameraError GetVideoStreamFrameBuffer( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pFrameBuffer, uint32_t nFrameBufferSize, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; -}; - -static const char * const IVRTrackedCamera_Version = "IVRTrackedCamera_003"; - -} // namespace vr - - -// ivrscreenshots.h -namespace vr -{ - -/** Errors that can occur with the VR compositor */ -enum EVRScreenshotError -{ - VRScreenshotError_None = 0, - VRScreenshotError_RequestFailed = 1, - VRScreenshotError_IncompatibleVersion = 100, - VRScreenshotError_NotFound = 101, - VRScreenshotError_BufferTooSmall = 102, - VRScreenshotError_ScreenshotAlreadyInProgress = 108, -}; - -/** Allows the application to generate screenshots */ -class IVRScreenshots -{ -public: - /** Request a screenshot of the requested type. - * A request of the VRScreenshotType_Stereo type will always - * work. Other types will depend on the underlying application - * support. - * The first file name is for the preview image and should be a - * regular screenshot (ideally from the left eye). The second - * is the VR screenshot in the correct format. They should be - * in the same aspect ratio. Formats per type: - * VRScreenshotType_Mono: the VR filename is ignored (can be - * nullptr), this is a normal flat single shot. - * VRScreenshotType_Stereo: The VR image should be a - * side-by-side with the left eye image on the left. - * VRScreenshotType_Cubemap: The VR image should be six square - * images composited horizontally. - * VRScreenshotType_StereoPanorama: above/below with left eye - * panorama being the above image. Image is typically square - * with the panorama being 2x horizontal. - * - * Note that the VR dashboard will call this function when - * the user presses the screenshot binding (currently System - * Button + Trigger). If Steam is running, the destination - * file names will be in %TEMP% and will be copied into - * Steam's screenshot library for the running application - * once SubmitScreenshot() is called. - * If Steam is not running, the paths will be in the user's - * documents folder under Documents\SteamVR\Screenshots. - * Other VR applications can call this to initate a - * screenshot outside of user control. - * The destination file names do not need an extension, - * will be replaced with the correct one for the format - * which is currently .png. */ - virtual vr::EVRScreenshotError RequestScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, vr::EVRScreenshotType type, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; - - /** Called by the running VR application to indicate that it - * wishes to be in charge of screenshots. If the - * application does not call this, the Compositor will only - * support VRScreenshotType_Stereo screenshots that will be - * captured without notification to the running app. - * Once hooked your application will receive a - * VREvent_RequestScreenshot event when the user presses the - * buttons to take a screenshot. */ - virtual vr::EVRScreenshotError HookScreenshot( VR_ARRAY_COUNT( numTypes ) const vr::EVRScreenshotType *pSupportedTypes, int numTypes ) = 0; - - /** When your application receives a - * VREvent_RequestScreenshot event, call these functions to get - * the details of the screenshot request. */ - virtual vr::EVRScreenshotType GetScreenshotPropertyType( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotError *pError ) = 0; - - /** Get the filename for the preview or vr image (see - * vr::EScreenshotPropertyFilenames). The return value is - * the size of the string. */ - virtual uint32_t GetScreenshotPropertyFilename( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotPropertyFilenames filenameType, VR_OUT_STRING() char *pchFilename, uint32_t cchFilename, vr::EVRScreenshotError *pError ) = 0; - - /** Call this if the application is taking the screen shot - * will take more than a few ms processing. This will result - * in an overlay being presented that shows a completion - * bar. */ - virtual vr::EVRScreenshotError UpdateScreenshotProgress( vr::ScreenshotHandle_t screenshotHandle, float flProgress ) = 0; - - /** Tells the compositor to take an internal screenshot of - * type VRScreenshotType_Stereo. It will take the current - * submitted scene textures of the running application and - * write them into the preview image and a side-by-side file - * for the VR image. - * This is similiar to request screenshot, but doesn't ever - * talk to the application, just takes the shot and submits. */ - virtual vr::EVRScreenshotError TakeStereoScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; - - /** Submit the completed screenshot. If Steam is running - * this will call into the Steam client and upload the - * screenshot to the screenshots section of the library for - * the running application. If Steam is not running, this - * function will display a notification to the user that the - * screenshot was taken. The paths should be full paths with - * extensions. - * File paths should be absolute including - * exntensions. - * screenshotHandle can be k_unScreenshotHandleInvalid if this - * was a new shot taking by the app to be saved and not - * initiated by a user (achievement earned or something) */ - virtual vr::EVRScreenshotError SubmitScreenshot( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotType type, const char *pchSourcePreviewFilename, const char *pchSourceVRFilename ) = 0; -}; - -static const char * const IVRScreenshots_Version = "IVRScreenshots_001"; - -} // namespace vr - - -// End - -#endif // _OPENVR_API - - -namespace vr -{ - /** Finds the active installation of the VR API and initializes it. The provided path must be absolute - * or relative to the current working directory. These are the local install versions of the equivalent - * functions in steamvr.h and will work without a local Steam install. - * - * This path is to the "root" of the VR API install. That's the directory with - * the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself. - */ - inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType ); - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - inline void VR_Shutdown(); - - /** Returns true if there is an HMD attached. This check is as lightweight as possible and - * can be called outside of VR_Init/VR_Shutdown. It should be used when an application wants - * to know if initializing VR is a possibility but isn't ready to take that step yet. - */ - VR_INTERFACE bool VR_CALLTYPE VR_IsHmdPresent(); - - /** Returns true if the OpenVR runtime is installed. */ - VR_INTERFACE bool VR_CALLTYPE VR_IsRuntimeInstalled(); - - /** Returns where the OpenVR runtime is installed. */ - VR_INTERFACE const char *VR_CALLTYPE VR_RuntimePath(); - - /** Returns the name of the enum value for an EVRInitError. This function may be called outside of VR_Init()/VR_Shutdown(). */ - VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsSymbol( EVRInitError error ); - - /** Returns an english string for an EVRInitError. Applications should call VR_GetVRInitErrorAsSymbol instead and - * use that as a key to look up their own localized error message. This function may be called outside of VR_Init()/VR_Shutdown(). */ - VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); - - /** Returns the interface of the specified version. This method must be called after VR_Init. The - * pointer returned is valid until VR_Shutdown is called. - */ - VR_INTERFACE void *VR_CALLTYPE VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); - - /** Returns whether the interface of the specified version exists. - */ - VR_INTERFACE bool VR_CALLTYPE VR_IsInterfaceVersionValid( const char *pchInterfaceVersion ); - - /** Returns a token that represents whether the VR interface handles need to be reloaded */ - VR_INTERFACE uint32_t VR_CALLTYPE VR_GetInitToken(); - - // These typedefs allow old enum names from SDK 0.9.11 to be used in applications. - // They will go away in the future. - typedef EVRInitError HmdError; - typedef EVREye Hmd_Eye; - typedef EGraphicsAPIConvention GraphicsAPIConvention; - typedef EColorSpace ColorSpace; - typedef ETrackingResult HmdTrackingResult; - typedef ETrackedDeviceClass TrackedDeviceClass; - typedef ETrackingUniverseOrigin TrackingUniverseOrigin; - typedef ETrackedDeviceProperty TrackedDeviceProperty; - typedef ETrackedPropertyError TrackedPropertyError; - typedef EVRSubmitFlags VRSubmitFlags_t; - typedef EVRState VRState_t; - typedef ECollisionBoundsStyle CollisionBoundsStyle_t; - typedef EVROverlayError VROverlayError; - typedef EVRFirmwareError VRFirmwareError; - typedef EVRCompositorError VRCompositorError; - typedef EVRScreenshotError VRScreenshotsError; - - inline uint32_t &VRToken() - { - static uint32_t token; - return token; - } - - class COpenVRContext - { - public: - COpenVRContext() { Clear(); } - void Clear(); - - inline void CheckClear() - { - if ( VRToken() != VR_GetInitToken() ) - { - Clear(); - VRToken() = VR_GetInitToken(); - } - } - - IVRSystem *VRSystem() - { - CheckClear(); - if ( m_pVRSystem == nullptr ) - { - EVRInitError eError; - m_pVRSystem = ( IVRSystem * )VR_GetGenericInterface( IVRSystem_Version, &eError ); - } - return m_pVRSystem; - } - IVRChaperone *VRChaperone() - { - CheckClear(); - if ( m_pVRChaperone == nullptr ) - { - EVRInitError eError; - m_pVRChaperone = ( IVRChaperone * )VR_GetGenericInterface( IVRChaperone_Version, &eError ); - } - return m_pVRChaperone; - } - - IVRChaperoneSetup *VRChaperoneSetup() - { - CheckClear(); - if ( m_pVRChaperoneSetup == nullptr ) - { - EVRInitError eError; - m_pVRChaperoneSetup = ( IVRChaperoneSetup * )VR_GetGenericInterface( IVRChaperoneSetup_Version, &eError ); - } - return m_pVRChaperoneSetup; - } - - IVRCompositor *VRCompositor() - { - CheckClear(); - if ( m_pVRCompositor == nullptr ) - { - EVRInitError eError; - m_pVRCompositor = ( IVRCompositor * )VR_GetGenericInterface( IVRCompositor_Version, &eError ); - } - return m_pVRCompositor; - } - - IVROverlay *VROverlay() - { - CheckClear(); - if ( m_pVROverlay == nullptr ) - { - EVRInitError eError; - m_pVROverlay = ( IVROverlay * )VR_GetGenericInterface( IVROverlay_Version, &eError ); - } - return m_pVROverlay; - } - - IVRScreenshots *VRScreenshots() - { - CheckClear(); - if ( m_pVRScreenshots == nullptr ) - { - EVRInitError eError; - m_pVRScreenshots = ( IVRScreenshots * )VR_GetGenericInterface( IVRScreenshots_Version, &eError ); - } - return m_pVRScreenshots; - } - - IVRRenderModels *VRRenderModels() - { - CheckClear(); - if ( m_pVRRenderModels == nullptr ) - { - EVRInitError eError; - m_pVRRenderModels = ( IVRRenderModels * )VR_GetGenericInterface( IVRRenderModels_Version, &eError ); - } - return m_pVRRenderModels; - } - - IVRExtendedDisplay *VRExtendedDisplay() - { - CheckClear(); - if ( m_pVRExtendedDisplay == nullptr ) - { - EVRInitError eError; - m_pVRExtendedDisplay = ( IVRExtendedDisplay * )VR_GetGenericInterface( IVRExtendedDisplay_Version, &eError ); - } - return m_pVRExtendedDisplay; - } - - IVRSettings *VRSettings() - { - CheckClear(); - if ( m_pVRSettings == nullptr ) - { - EVRInitError eError; - m_pVRSettings = ( IVRSettings * )VR_GetGenericInterface( IVRSettings_Version, &eError ); - } - return m_pVRSettings; - } - - IVRApplications *VRApplications() - { - CheckClear(); - if ( m_pVRApplications == nullptr ) - { - EVRInitError eError; - m_pVRApplications = ( IVRApplications * )VR_GetGenericInterface( IVRApplications_Version, &eError ); - } - return m_pVRApplications; - } - - IVRTrackedCamera *VRTrackedCamera() - { - CheckClear(); - if ( m_pVRTrackedCamera == nullptr ) - { - EVRInitError eError; - m_pVRTrackedCamera = ( IVRTrackedCamera * )VR_GetGenericInterface( IVRTrackedCamera_Version, &eError ); - } - return m_pVRTrackedCamera; - } - - private: - IVRSystem *m_pVRSystem; - IVRChaperone *m_pVRChaperone; - IVRChaperoneSetup *m_pVRChaperoneSetup; - IVRCompositor *m_pVRCompositor; - IVROverlay *m_pVROverlay; - IVRRenderModels *m_pVRRenderModels; - IVRExtendedDisplay *m_pVRExtendedDisplay; - IVRSettings *m_pVRSettings; - IVRApplications *m_pVRApplications; - IVRTrackedCamera *m_pVRTrackedCamera; - IVRScreenshots *m_pVRScreenshots; - }; - - inline COpenVRContext &OpenVRInternal_ModuleContext() - { - static void *ctx[ sizeof( COpenVRContext ) / sizeof( void * ) ]; - return *( COpenVRContext * )ctx; // bypass zero-init constructor - } - - inline IVRSystem *VR_CALLTYPE VRSystem() { return OpenVRInternal_ModuleContext().VRSystem(); } - inline IVRChaperone *VR_CALLTYPE VRChaperone() { return OpenVRInternal_ModuleContext().VRChaperone(); } - inline IVRChaperoneSetup *VR_CALLTYPE VRChaperoneSetup() { return OpenVRInternal_ModuleContext().VRChaperoneSetup(); } - inline IVRCompositor *VR_CALLTYPE VRCompositor() { return OpenVRInternal_ModuleContext().VRCompositor(); } - inline IVROverlay *VR_CALLTYPE VROverlay() { return OpenVRInternal_ModuleContext().VROverlay(); } - inline IVRScreenshots *VR_CALLTYPE VRScreenshots() { return OpenVRInternal_ModuleContext().VRScreenshots(); } - inline IVRRenderModels *VR_CALLTYPE VRRenderModels() { return OpenVRInternal_ModuleContext().VRRenderModels(); } - inline IVRApplications *VR_CALLTYPE VRApplications() { return OpenVRInternal_ModuleContext().VRApplications(); } - inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleContext().VRSettings(); } - inline IVRExtendedDisplay *VR_CALLTYPE VRExtendedDisplay() { return OpenVRInternal_ModuleContext().VRExtendedDisplay(); } - inline IVRTrackedCamera *VR_CALLTYPE VRTrackedCamera() { return OpenVRInternal_ModuleContext().VRTrackedCamera(); } - - inline void COpenVRContext::Clear() - { - m_pVRSystem = nullptr; - m_pVRChaperone = nullptr; - m_pVRChaperoneSetup = nullptr; - m_pVRCompositor = nullptr; - m_pVROverlay = nullptr; - m_pVRRenderModels = nullptr; - m_pVRExtendedDisplay = nullptr; - m_pVRSettings = nullptr; - m_pVRApplications = nullptr; - m_pVRTrackedCamera = nullptr; - m_pVRScreenshots = nullptr; - } - - VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal( EVRInitError *peError, EVRApplicationType eApplicationType ); - VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal(); - - /** Finds the active installation of vrclient.dll and initializes it */ - inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType ) - { - IVRSystem *pVRSystem = nullptr; - - EVRInitError eError; - VRToken() = VR_InitInternal( &eError, eApplicationType ); - COpenVRContext &ctx = OpenVRInternal_ModuleContext(); - ctx.Clear(); - - if ( eError == VRInitError_None ) - { - if ( VR_IsInterfaceVersionValid( IVRSystem_Version ) ) - { - pVRSystem = VRSystem(); - } - else - { - VR_ShutdownInternal(); - eError = VRInitError_Init_InterfaceNotFound; - } - } - - if ( peError ) - *peError = eError; - return pVRSystem; - } - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - inline void VR_Shutdown() - { - VR_ShutdownInternal(); - } -} diff --git a/openvr/headers/openvr_api.cs b/openvr/headers/openvr_api.cs deleted file mode 100644 index a4d71f8..0000000 --- a/openvr/headers/openvr_api.cs +++ /dev/null @@ -1,4187 +0,0 @@ -//======= Copyright (c) Valve Corporation, All rights reserved. =============== -// -// Purpose: This file contains C#/managed code bindings for the OpenVR interfaces -// This file is auto-generated, do not edit it. -// -//============================================================================= - -using System; -using System.Runtime.InteropServices; -using Valve.VR; - -namespace Valve.VR -{ - -[StructLayout(LayoutKind.Sequential)] -public struct IVRSystem -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetRecommendedRenderTargetSize(ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRecommendedRenderTargetSize GetRecommendedRenderTargetSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetProjectionMatrix GetProjectionMatrix; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetProjectionRaw(EVREye eEye, ref float pfLeft, ref float pfRight, ref float pfTop, ref float pfBottom); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetProjectionRaw GetProjectionRaw; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate DistortionCoordinates_t _ComputeDistortion(EVREye eEye, float fU, float fV); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ComputeDistortion ComputeDistortion; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetEyeToHeadTransform(EVREye eEye); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEyeToHeadTransform GetEyeToHeadTransform; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync, ref ulong pulFrameCounter); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTimeSinceLastVsync GetTimeSinceLastVsync; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetD3D9AdapterIndex(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetD3D9AdapterIndex GetD3D9AdapterIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDXGIOutputInfo GetDXGIOutputInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsDisplayOnDesktop(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsDisplayOnDesktop IsDisplayOnDesktop; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetDisplayVisibility(bool bIsVisibleOnDesktop); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDisplayVisibility SetDisplayVisibility; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, [In, Out] TrackedDevicePose_t[] pTrackedDevicePoseArray, uint unTrackedDevicePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDeviceToAbsoluteTrackingPose GetDeviceToAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ResetSeatedZeroPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ResetSeatedZeroPose ResetSeatedZeroPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSeatedZeroPoseToStandingAbsoluteTrackingPose GetSeatedZeroPoseToStandingAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetRawZeroPoseToStandingAbsoluteTrackingPose(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRawZeroPoseToStandingAbsoluteTrackingPose GetRawZeroPoseToStandingAbsoluteTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass, [In, Out] uint[] punTrackedDeviceIndexArray, uint unTrackedDeviceIndexArrayCount, uint unRelativeToTrackedDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSortedTrackedDeviceIndicesOfClass GetSortedTrackedDeviceIndicesOfClass; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EDeviceActivityLevel _GetTrackedDeviceActivityLevel(uint unDeviceId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceActivityLevel GetTrackedDeviceActivityLevel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ApplyTransform(ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ApplyTransform ApplyTransform; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceIndexForControllerRole GetTrackedDeviceIndexForControllerRole; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedControllerRole _GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerRoleForTrackedDeviceIndex GetControllerRoleForTrackedDeviceIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackedDeviceClass _GetTrackedDeviceClass(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackedDeviceClass GetTrackedDeviceClass; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsTrackedDeviceConnected(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsTrackedDeviceConnected IsTrackedDeviceConnected; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetBoolTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoolTrackedDeviceProperty GetBoolTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFloatTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFloatTrackedDeviceProperty GetFloatTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetInt32TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetInt32TrackedDeviceProperty GetInt32TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetUint64TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetUint64TrackedDeviceProperty GetUint64TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HmdMatrix34_t _GetMatrix34TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMatrix34TrackedDeviceProperty GetMatrix34TrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetStringTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, System.Text.StringBuilder pchValue, uint unBufferSize, ref ETrackedPropertyError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetStringTrackedDeviceProperty GetStringTrackedDeviceProperty; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetPropErrorNameFromEnum(ETrackedPropertyError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPropErrorNameFromEnum GetPropErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextEvent(ref VREvent_t pEvent, uint uncbVREvent); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextEvent PollNextEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextEventWithPose(ETrackingUniverseOrigin eOrigin, ref VREvent_t pEvent, uint uncbVREvent, ref TrackedDevicePose_t pTrackedDevicePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextEventWithPose PollNextEventWithPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetEventTypeNameFromEnum(EVREventType eType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEventTypeNameFromEnum GetEventTypeNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate HiddenAreaMesh_t _GetHiddenAreaMesh(EVREye eEye); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHiddenAreaMesh GetHiddenAreaMesh; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerState(uint unControllerDeviceIndex, ref VRControllerState_t pControllerState); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerState GetControllerState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin, uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, ref TrackedDevicePose_t pTrackedDevicePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerStateWithPose GetControllerStateWithPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _TriggerHapticPulse(uint unControllerDeviceIndex, uint unAxisId, char usDurationMicroSec); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TriggerHapticPulse TriggerHapticPulse; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetButtonIdNameFromEnum(EVRButtonId eButtonId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetButtonIdNameFromEnum GetButtonIdNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetControllerAxisTypeNameFromEnum GetControllerAxisTypeNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CaptureInputFocus(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CaptureInputFocus CaptureInputFocus; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReleaseInputFocus(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseInputFocus ReleaseInputFocus; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsInputFocusCapturedByAnotherProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsInputFocusCapturedByAnotherProcess IsInputFocusCapturedByAnotherProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _DriverDebugRequest(uint unDeviceIndex, string pchRequest, string pchResponseBuffer, uint unResponseBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _DriverDebugRequest DriverDebugRequest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRFirmwareError _PerformFirmwareUpdate(uint unDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformFirmwareUpdate PerformFirmwareUpdate; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _AcknowledgeQuit_Exiting(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcknowledgeQuit_Exiting AcknowledgeQuit_Exiting; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _AcknowledgeQuit_UserPrompt(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcknowledgeQuit_UserPrompt AcknowledgeQuit_UserPrompt; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRExtendedDisplay -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetWindowBounds(ref int pnX, ref int pnY, ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWindowBounds GetWindowBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetEyeOutputViewport(EVREye eEye, ref uint pnX, ref uint pnY, ref uint pnWidth, ref uint pnHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetEyeOutputViewport GetEyeOutputViewport; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex, ref int pnAdapterOutputIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDXGIOutputInfo GetDXGIOutputInfo; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRTrackedCamera -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraErrorNameFromEnum GetCameraErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _HasCamera(uint nDeviceIndex, ref bool pHasCamera); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HasCamera HasCamera; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraFrameSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref uint pnWidth, ref uint pnHeight, ref uint pnFrameBufferSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraFrameSize GetCameraFrameSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraIntrinisics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraIntrinisics GetCameraIntrinisics; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetCameraProjection(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, ref HmdMatrix44_t pProjection); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCameraProjection GetCameraProjection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _AcquireVideoStreamingService(uint nDeviceIndex, ref ulong pHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AcquireVideoStreamingService AcquireVideoStreamingService; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _ReleaseVideoStreamingService(ulong hTrackedCamera); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseVideoStreamingService ReleaseVideoStreamingService; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRTrackedCameraError _GetVideoStreamFrameBuffer(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pFrameBuffer, uint nFrameBufferSize, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetVideoStreamFrameBuffer GetVideoStreamFrameBuffer; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRApplications -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _AddApplicationManifest(string pchApplicationManifestFullPath, bool bTemporary); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AddApplicationManifest AddApplicationManifest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _RemoveApplicationManifest(string pchApplicationManifestFullPath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveApplicationManifest RemoveApplicationManifest; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsApplicationInstalled(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsApplicationInstalled IsApplicationInstalled; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationCount(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationCount GetApplicationCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetApplicationKeyByIndex(uint unApplicationIndex, string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationKeyByIndex GetApplicationKeyByIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetApplicationKeyByProcessId(uint unProcessId, string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationKeyByProcessId GetApplicationKeyByProcessId; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchApplication(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchApplication LaunchApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchTemplateApplication(string pchTemplateAppKey, string pchNewAppKey, [In, Out] AppOverrideKeys_t[] pKeys, uint unKeys); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchTemplateApplication LaunchTemplateApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchDashboardOverlay(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchDashboardOverlay LaunchDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CancelApplicationLaunch(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CancelApplicationLaunch CancelApplicationLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _IdentifyApplication(uint unProcessId, string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IdentifyApplication IdentifyApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationProcessId(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationProcessId GetApplicationProcessId; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetApplicationsErrorNameFromEnum(EVRApplicationError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsErrorNameFromEnum GetApplicationsErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, string pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyString GetApplicationPropertyString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationPropertyBool(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyBool GetApplicationPropertyBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetApplicationPropertyUint64(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationPropertyUint64 GetApplicationPropertyUint64; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _SetApplicationAutoLaunch(string pchAppKey, bool bAutoLaunch); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetApplicationAutoLaunch SetApplicationAutoLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetApplicationAutoLaunch(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationAutoLaunch GetApplicationAutoLaunch; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _GetStartingApplication(string pchAppKeyBuffer, uint unAppKeyBufferLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetStartingApplication GetStartingApplication; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationTransitionState _GetTransitionState(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTransitionState GetTransitionState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _PerformApplicationPrelaunchCheck(string pchAppKey); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PerformApplicationPrelaunchCheck PerformApplicationPrelaunchCheck; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetApplicationsTransitionStateNameFromEnum GetApplicationsTransitionStateNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsQuitUserPromptRequested(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsQuitUserPromptRequested IsQuitUserPromptRequested; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRApplicationError _LaunchInternalProcess(string pchBinaryPath, string pchArguments, string pchWorkingDirectory); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LaunchInternalProcess LaunchInternalProcess; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRChaperone -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ChaperoneCalibrationState _GetCalibrationState(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCalibrationState GetCalibrationState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetPlayAreaSize(ref float pSizeX, ref float pSizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPlayAreaSize GetPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetPlayAreaRect(ref HmdQuad_t rect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPlayAreaRect GetPlayAreaRect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReloadInfo(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReloadInfo ReloadInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetSceneColor(HmdColor_t color); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetSceneColor SetSceneColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetBoundsColor(ref HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, ref HmdColor_t pOutputCameraColor); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBoundsColor GetBoundsColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _AreBoundsVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _AreBoundsVisible AreBoundsVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceBoundsVisible(bool bForce); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceBoundsVisible ForceBoundsVisible; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRChaperoneSetup -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CommitWorkingCopy(EChaperoneConfigFile configFile); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CommitWorkingCopy CommitWorkingCopy; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RevertWorkingCopy(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RevertWorkingCopy RevertWorkingCopy; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingPlayAreaSize(ref float pSizeX, ref float pSizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingPlayAreaSize GetWorkingPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingPlayAreaRect(ref HmdQuad_t rect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingPlayAreaRect GetWorkingPlayAreaRect; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingCollisionBoundsInfo GetWorkingCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveCollisionBoundsInfo GetLiveCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingSeatedZeroPoseToRawTrackingPose GetWorkingSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetWorkingStandingZeroPoseToRawTrackingPose GetWorkingStandingZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingPlayAreaSize(float sizeX, float sizeZ); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingPlayAreaSize SetWorkingPlayAreaSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingCollisionBoundsInfo SetWorkingCollisionBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingSeatedZeroPoseToRawTrackingPose SetWorkingSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingStandingZeroPoseToRawTrackingPose SetWorkingStandingZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ReloadFromDisk(EChaperoneConfigFile configFile); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReloadFromDisk ReloadFromDisk; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveSeatedZeroPoseToRawTrackingPose GetLiveSeatedZeroPoseToRawTrackingPose; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetWorkingCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, uint unTagCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingCollisionBoundsTagsInfo SetWorkingCollisionBoundsTagsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLiveCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, ref uint punTagCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLiveCollisionBoundsTagsInfo GetLiveCollisionBoundsTagsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _SetWorkingPhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetWorkingPhysicalBoundsInfo SetWorkingPhysicalBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetLivePhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLivePhysicalBoundsInfo GetLivePhysicalBoundsInfo; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ExportLiveToBuffer(System.Text.StringBuilder pBuffer, ref uint pnBufferLength); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ExportLiveToBuffer ExportLiveToBuffer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ImportFromBufferToWorking(string pBuffer, uint nImportFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ImportFromBufferToWorking ImportFromBufferToWorking; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRCompositor -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetTrackingSpace(ETrackingUniverseOrigin eOrigin); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetTrackingSpace SetTrackingSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ETrackingUniverseOrigin _GetTrackingSpace(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTrackingSpace GetTrackingSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _WaitGetPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _WaitGetPoses WaitGetPoses; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetLastPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastPoses GetLastPoses; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex, ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pOutputGamePose); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastPoseForTrackedDeviceIndex GetLastPoseForTrackedDeviceIndex; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _Submit(EVREye eEye, ref Texture_t pTexture, ref VRTextureBounds_t pBounds, EVRSubmitFlags nSubmitFlags); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Submit Submit; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ClearLastSubmittedFrame(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearLastSubmittedFrame ClearLastSubmittedFrame; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _PostPresentHandoff(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PostPresentHandoff PostPresentHandoff; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetFrameTiming(ref Compositor_FrameTiming pTiming, uint unFramesAgo); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFrameTiming GetFrameTiming; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFrameTimeRemaining(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFrameTimeRemaining GetFrameTimeRemaining; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetCumulativeStats(ref Compositor_CumulativeStats pStats, uint nStatsSizeInBytes); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCumulativeStats GetCumulativeStats; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FadeToColor(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FadeToColor FadeToColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FadeGrid(float fSeconds, bool bFadeIn); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FadeGrid FadeGrid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _SetSkyboxOverride([In, Out] Texture_t[] pTextures, uint unTextureCount); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetSkyboxOverride SetSkyboxOverride; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ClearSkyboxOverride(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearSkyboxOverride ClearSkyboxOverride; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorBringToFront(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorBringToFront CompositorBringToFront; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorGoToBack(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorGoToBack CompositorGoToBack; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorQuit(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorQuit CompositorQuit; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsFullscreen(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsFullscreen IsFullscreen; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetCurrentSceneFocusProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentSceneFocusProcess GetCurrentSceneFocusProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetLastFrameRenderer(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetLastFrameRenderer GetLastFrameRenderer; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _CanRenderScene(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CanRenderScene CanRenderScene; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ShowMirrorWindow(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowMirrorWindow ShowMirrorWindow; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _HideMirrorWindow(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideMirrorWindow HideMirrorWindow; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsMirrorWindowVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsMirrorWindowVisible IsMirrorWindowVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _CompositorDumpImages(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CompositorDumpImages CompositorDumpImages; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ShouldAppRenderWithLowResources(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShouldAppRenderWithLowResources ShouldAppRenderWithLowResources; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceInterleavedReprojectionOn(bool bOverride); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceInterleavedReprojectionOn ForceInterleavedReprojectionOn; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ForceReconnectProcess(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ForceReconnectProcess ForceReconnectProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SuspendRendering(bool bSuspend); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SuspendRendering SuspendRendering; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _RequestScreenshot(EVRScreenshotType type, string pchDestinationFileName, string pchVRDestinationFileName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RequestScreenshot RequestScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotType _GetCurrentScreenshotType(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetCurrentScreenshotType GetCurrentScreenshotType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetMirrorTextureD3D11(EVREye eEye, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMirrorTextureD3D11 GetMirrorTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRCompositorError _GetMirrorTextureGL(EVREye eEye, ref uint pglTextureId, IntPtr pglSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetMirrorTextureGL GetMirrorTextureGL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ReleaseSharedGLTexture(uint glTextureId, IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseSharedGLTexture ReleaseSharedGLTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LockGLSharedTextureForAccess LockGLSharedTextureForAccess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _UnlockGLSharedTextureForAccess UnlockGLSharedTextureForAccess; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVROverlay -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _FindOverlay(string pchOverlayKey, ref ulong pOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FindOverlay FindOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _CreateOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateOverlay CreateOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _DestroyOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _DestroyOverlay DestroyOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetHighQualityOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetHighQualityOverlay SetHighQualityOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetHighQualityOverlay(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetHighQualityOverlay GetHighQualityOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayKey(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayKey GetOverlayKey; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayName(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayName GetOverlayName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayImageData(ulong ulOverlayHandle, IntPtr pvBuffer, uint unBufferSize, ref uint punWidth, ref uint punHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayImageData GetOverlayImageData; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetOverlayErrorNameFromEnum(EVROverlayError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayErrorNameFromEnum GetOverlayErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayRenderingPid(ulong ulOverlayHandle, uint unPID); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRenderingPid SetOverlayRenderingPid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetOverlayRenderingPid(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayRenderingPid GetOverlayRenderingPid; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayFlag SetOverlayFlag; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, ref bool pbEnabled); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayFlag GetOverlayFlag; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayColor(ulong ulOverlayHandle, float fRed, float fGreen, float fBlue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayColor SetOverlayColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayColor(ulong ulOverlayHandle, ref float pfRed, ref float pfGreen, ref float pfBlue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayColor GetOverlayColor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayAlpha(ulong ulOverlayHandle, float fAlpha); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayAlpha SetOverlayAlpha; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayAlpha(ulong ulOverlayHandle, ref float pfAlpha); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayAlpha GetOverlayAlpha; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayWidthInMeters(ulong ulOverlayHandle, float fWidthInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayWidthInMeters SetOverlayWidthInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayWidthInMeters(ulong ulOverlayHandle, ref float pfWidthInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayWidthInMeters GetOverlayWidthInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayAutoCurveDistanceRangeInMeters SetOverlayAutoCurveDistanceRangeInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, ref float pfMinDistanceInMeters, ref float pfMaxDistanceInMeters); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayAutoCurveDistanceRangeInMeters GetOverlayAutoCurveDistanceRangeInMeters; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTextureColorSpace SetOverlayTextureColorSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureColorSpace(ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureColorSpace GetOverlayTextureColorSpace; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTextureBounds SetOverlayTextureBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureBounds GetOverlayTextureBounds; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformType(ulong ulOverlayHandle, ref VROverlayTransformType peTransformType); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformType GetOverlayTransformType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformAbsolute(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformAbsolute SetOverlayTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformAbsolute GetOverlayTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, uint unTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformTrackedDeviceRelative SetOverlayTransformTrackedDeviceRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformTrackedDeviceRelative GetOverlayTransformTrackedDeviceRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, uint unDeviceIndex, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformTrackedDeviceComponent SetOverlayTransformTrackedDeviceComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, ref uint punDeviceIndex, string pchComponentName, uint unComponentNameSize); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformTrackedDeviceComponent GetOverlayTransformTrackedDeviceComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowOverlay ShowOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _HideOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideOverlay HideOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsOverlayVisible(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsOverlayVisible IsOverlayVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _PollNextOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pEvent, uint uncbVREvent); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _PollNextOverlayEvent PollNextOverlayEvent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayInputMethod(ulong ulOverlayHandle, ref VROverlayInputMethod peInputMethod); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayInputMethod GetOverlayInputMethod; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayInputMethod(ulong ulOverlayHandle, VROverlayInputMethod eInputMethod); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayInputMethod SetOverlayInputMethod; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayMouseScale GetOverlayMouseScale; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayMouseScale SetOverlayMouseScale; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _ComputeOverlayIntersection(ulong ulOverlayHandle, ref VROverlayIntersectionParams_t pParams, ref VROverlayIntersectionResults_t pResults); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ComputeOverlayIntersection ComputeOverlayIntersection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle, uint unControllerDeviceIndex); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HandleControllerOverlayInteractionAsMouse HandleControllerOverlayInteractionAsMouse; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsHoverTargetOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsHoverTargetOverlay IsHoverTargetOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetGamepadFocusOverlay(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetGamepadFocusOverlay GetGamepadFocusOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetGamepadFocusOverlay(ulong ulNewFocusOverlay); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetGamepadFocusOverlay SetGamepadFocusOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayNeighbor(EOverlayDirection eDirection, ulong ulFrom, ulong ulTo); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayNeighbor SetOverlayNeighbor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _MoveGamepadFocusToNeighbor(EOverlayDirection eDirection, ulong ulFrom); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _MoveGamepadFocusToNeighbor MoveGamepadFocusToNeighbor; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTexture(ulong ulOverlayHandle, ref Texture_t pTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTexture SetOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ClearOverlayTexture(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ClearOverlayTexture ClearOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayRaw(ulong ulOverlayHandle, IntPtr pvBuffer, uint unWidth, uint unHeight, uint unDepth); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayRaw SetOverlayRaw; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayFromFile(ulong ulOverlayHandle, string pchFilePath); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayFromFile SetOverlayFromFile; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref EGraphicsAPIConvention pAPI, ref EColorSpace pColorSpace); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTexture GetOverlayTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ReleaseNativeOverlayHandle(ulong ulOverlayHandle, IntPtr pNativeTextureHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ReleaseNativeOverlayHandle ReleaseNativeOverlayHandle; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTextureSize(ulong ulOverlayHandle, ref uint pWidth, ref uint pHeight); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTextureSize GetOverlayTextureSize; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _CreateDashboardOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pMainHandle, ref ulong pThumbnailHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateDashboardOverlay CreateDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsDashboardVisible(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsDashboardVisible IsDashboardVisible; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _IsActiveDashboardOverlay(ulong ulOverlayHandle); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _IsActiveDashboardOverlay IsActiveDashboardOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetDashboardOverlaySceneProcess(ulong ulOverlayHandle, uint unProcessId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetDashboardOverlaySceneProcess SetDashboardOverlaySceneProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetDashboardOverlaySceneProcess(ulong ulOverlayHandle, ref uint punProcessId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetDashboardOverlaySceneProcess GetDashboardOverlaySceneProcess; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _ShowDashboard(string pchOverlayToShow); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowDashboard ShowDashboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetPrimaryDashboardDevice(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetPrimaryDashboardDevice GetPrimaryDashboardDevice; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowKeyboard(int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowKeyboard ShowKeyboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _ShowKeyboardForOverlay(ulong ulOverlayHandle, int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _ShowKeyboardForOverlay ShowKeyboardForOverlay; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetKeyboardText(System.Text.StringBuilder pchText, uint cchText); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetKeyboardText GetKeyboardText; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _HideKeyboard(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HideKeyboard HideKeyboard; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetKeyboardTransformAbsolute SetKeyboardTransformAbsolute; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetKeyboardPositionForOverlay(ulong ulOverlayHandle, HmdRect2_t avoidRect); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetKeyboardPositionForOverlay SetKeyboardPositionForOverlay; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRRenderModels -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadRenderModel_Async(string pchRenderModelName, ref IntPtr ppRenderModel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadRenderModel_Async LoadRenderModel_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeRenderModel(IntPtr pRenderModel); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeRenderModel FreeRenderModel; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadTexture_Async(int textureId, ref IntPtr ppTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadTexture_Async LoadTexture_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeTexture(IntPtr pTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeTexture FreeTexture; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadTextureD3D11_Async(int textureId, IntPtr pD3D11Device, ref IntPtr ppD3D11Texture2D); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadTextureD3D11_Async LoadTextureD3D11_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRRenderModelError _LoadIntoTextureD3D11_Async(int textureId, IntPtr pDstTexture); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _LoadIntoTextureD3D11_Async LoadIntoTextureD3D11_Async; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _FreeTextureD3D11(IntPtr pD3D11Texture2D); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _FreeTextureD3D11 FreeTextureD3D11; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelName(uint unRenderModelIndex, System.Text.StringBuilder pchRenderModelName, uint unRenderModelNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelName GetRenderModelName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelCount(); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelCount GetRenderModelCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentCount(string pchRenderModelName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentCount GetComponentCount; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentName(string pchRenderModelName, uint unComponentIndex, System.Text.StringBuilder pchComponentName, uint unComponentNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentName GetComponentName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate ulong _GetComponentButtonMask(string pchRenderModelName, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentButtonMask GetComponentButtonMask; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetComponentRenderModelName(string pchRenderModelName, string pchComponentName, System.Text.StringBuilder pchComponentRenderModelName, uint unComponentRenderModelNameLen); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentRenderModelName GetComponentRenderModelName; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetComponentState(string pchRenderModelName, string pchComponentName, ref VRControllerState_t pControllerState, ref RenderModel_ControllerMode_State_t pState, ref RenderModel_ComponentState_t pComponentState); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetComponentState GetComponentState; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _RenderModelHasComponent(string pchRenderModelName, string pchComponentName); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RenderModelHasComponent RenderModelHasComponent; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelThumbnailURL(string pchRenderModelName, System.Text.StringBuilder pchThumbnailURL, uint unThumbnailURLLen, ref EVRRenderModelError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelThumbnailURL GetRenderModelThumbnailURL; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetRenderModelOriginalPath(string pchRenderModelName, System.Text.StringBuilder pchOriginalPath, uint unOriginalPathLen, ref EVRRenderModelError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelOriginalPath GetRenderModelOriginalPath; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetRenderModelErrorNameFromEnum(EVRRenderModelError error); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetRenderModelErrorNameFromEnum GetRenderModelErrorNameFromEnum; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRNotifications -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRNotificationError _CreateNotification(ulong ulOverlayHandle, ulong ulUserValue, EVRNotificationType type, string pchText, EVRNotificationStyle style, ref NotificationBitmap_t pImage, ref uint pNotificationId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _CreateNotification CreateNotification; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRNotificationError _RemoveNotification(uint notificationId); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveNotification RemoveNotification; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRSettings -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate IntPtr _GetSettingsErrorNameFromEnum(EVRSettingsError eError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetSettingsErrorNameFromEnum GetSettingsErrorNameFromEnum; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _Sync(bool bForce, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _Sync Sync; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate bool _GetBool(string pchSection, string pchSettingsKey, bool bDefaultValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetBool GetBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetBool(string pchSection, string pchSettingsKey, bool bValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetBool SetBool; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate int _GetInt32(string pchSection, string pchSettingsKey, int nDefaultValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetInt32 GetInt32; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetInt32(string pchSection, string pchSettingsKey, int nValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetInt32 SetInt32; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate float _GetFloat(string pchSection, string pchSettingsKey, float flDefaultValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetFloat GetFloat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetFloat(string pchSection, string pchSettingsKey, float flValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetFloat SetFloat; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _GetString(string pchSection, string pchSettingsKey, string pchValue, uint unValueLen, string pchDefaultValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetString GetString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _SetString(string pchSection, string pchSettingsKey, string pchValue, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetString SetString; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RemoveSection(string pchSection, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveSection RemoveSection; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate void _RemoveKeyInSection(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RemoveKeyInSection RemoveKeyInSection; - -} - -[StructLayout(LayoutKind.Sequential)] -public struct IVRScreenshots -{ - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _RequestScreenshot(ref uint pOutScreenshotHandle, EVRScreenshotType type, string pchPreviewFilename, string pchVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _RequestScreenshot RequestScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _HookScreenshot([In, Out] EVRScreenshotType[] pSupportedTypes, int numTypes); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _HookScreenshot HookScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotType _GetScreenshotPropertyType(uint screenshotHandle, ref EVRScreenshotError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetScreenshotPropertyType GetScreenshotPropertyType; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate uint _GetScreenshotPropertyFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames filenameType, System.Text.StringBuilder pchFilename, uint cchFilename, ref EVRScreenshotError pError); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetScreenshotPropertyFilename GetScreenshotPropertyFilename; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _UpdateScreenshotProgress(uint screenshotHandle, float flProgress); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _UpdateScreenshotProgress UpdateScreenshotProgress; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _TakeStereoScreenshot(ref uint pOutScreenshotHandle, string pchPreviewFilename, string pchVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _TakeStereoScreenshot TakeStereoScreenshot; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVRScreenshotError _SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, string pchSourcePreviewFilename, string pchSourceVRFilename); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SubmitScreenshot SubmitScreenshot; - -} - - -public class CVRSystem -{ - IVRSystem FnTable; - internal CVRSystem(IntPtr pInterface) - { - FnTable = (IVRSystem)Marshal.PtrToStructure(pInterface, typeof(IVRSystem)); - } - public void GetRecommendedRenderTargetSize(ref uint pnWidth,ref uint pnHeight) - { - pnWidth = 0; - pnHeight = 0; - FnTable.GetRecommendedRenderTargetSize(ref pnWidth,ref pnHeight); - } - public HmdMatrix44_t GetProjectionMatrix(EVREye eEye,float fNearZ,float fFarZ,EGraphicsAPIConvention eProjType) - { - HmdMatrix44_t result = FnTable.GetProjectionMatrix(eEye,fNearZ,fFarZ,eProjType); - return result; - } - public void GetProjectionRaw(EVREye eEye,ref float pfLeft,ref float pfRight,ref float pfTop,ref float pfBottom) - { - pfLeft = 0; - pfRight = 0; - pfTop = 0; - pfBottom = 0; - FnTable.GetProjectionRaw(eEye,ref pfLeft,ref pfRight,ref pfTop,ref pfBottom); - } - public DistortionCoordinates_t ComputeDistortion(EVREye eEye,float fU,float fV) - { - DistortionCoordinates_t result = FnTable.ComputeDistortion(eEye,fU,fV); - return result; - } - public HmdMatrix34_t GetEyeToHeadTransform(EVREye eEye) - { - HmdMatrix34_t result = FnTable.GetEyeToHeadTransform(eEye); - return result; - } - public bool GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync,ref ulong pulFrameCounter) - { - pfSecondsSinceLastVsync = 0; - pulFrameCounter = 0; - bool result = FnTable.GetTimeSinceLastVsync(ref pfSecondsSinceLastVsync,ref pulFrameCounter); - return result; - } - public int GetD3D9AdapterIndex() - { - int result = FnTable.GetD3D9AdapterIndex(); - return result; - } - public void GetDXGIOutputInfo(ref int pnAdapterIndex) - { - pnAdapterIndex = 0; - FnTable.GetDXGIOutputInfo(ref pnAdapterIndex); - } - public bool IsDisplayOnDesktop() - { - bool result = FnTable.IsDisplayOnDesktop(); - return result; - } - public bool SetDisplayVisibility(bool bIsVisibleOnDesktop) - { - bool result = FnTable.SetDisplayVisibility(bIsVisibleOnDesktop); - return result; - } - public void GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin,float fPredictedSecondsToPhotonsFromNow,TrackedDevicePose_t [] pTrackedDevicePoseArray) - { - FnTable.GetDeviceToAbsoluteTrackingPose(eOrigin,fPredictedSecondsToPhotonsFromNow,pTrackedDevicePoseArray,(uint) pTrackedDevicePoseArray.Length); - } - public void ResetSeatedZeroPose() - { - FnTable.ResetSeatedZeroPose(); - } - public HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() - { - HmdMatrix34_t result = FnTable.GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); - return result; - } - public HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() - { - HmdMatrix34_t result = FnTable.GetRawZeroPoseToStandingAbsoluteTrackingPose(); - return result; - } - public uint GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass,uint [] punTrackedDeviceIndexArray,uint unRelativeToTrackedDeviceIndex) - { - uint result = FnTable.GetSortedTrackedDeviceIndicesOfClass(eTrackedDeviceClass,punTrackedDeviceIndexArray,(uint) punTrackedDeviceIndexArray.Length,unRelativeToTrackedDeviceIndex); - return result; - } - public EDeviceActivityLevel GetTrackedDeviceActivityLevel(uint unDeviceId) - { - EDeviceActivityLevel result = FnTable.GetTrackedDeviceActivityLevel(unDeviceId); - return result; - } - public void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform) - { - FnTable.ApplyTransform(ref pOutputPose,ref pTrackedDevicePose,ref pTransform); - } - public uint GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType) - { - uint result = FnTable.GetTrackedDeviceIndexForControllerRole(unDeviceType); - return result; - } - public ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex) - { - ETrackedControllerRole result = FnTable.GetControllerRoleForTrackedDeviceIndex(unDeviceIndex); - return result; - } - public ETrackedDeviceClass GetTrackedDeviceClass(uint unDeviceIndex) - { - ETrackedDeviceClass result = FnTable.GetTrackedDeviceClass(unDeviceIndex); - return result; - } - public bool IsTrackedDeviceConnected(uint unDeviceIndex) - { - bool result = FnTable.IsTrackedDeviceConnected(unDeviceIndex); - return result; - } - public bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - bool result = FnTable.GetBoolTrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - float result = FnTable.GetFloatTrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public int GetInt32TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - int result = FnTable.GetInt32TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - ulong result = FnTable.GetUint64TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public HmdMatrix34_t GetMatrix34TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) - { - HmdMatrix34_t result = FnTable.GetMatrix34TrackedDeviceProperty(unDeviceIndex,prop,ref pError); - return result; - } - public uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError) - { - uint result = FnTable.GetStringTrackedDeviceProperty(unDeviceIndex,prop,pchValue,unBufferSize,ref pError); - return result; - } - public string GetPropErrorNameFromEnum(ETrackedPropertyError error) - { - IntPtr result = FnTable.GetPropErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } - public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent) - { - bool result = FnTable.PollNextEvent(ref pEvent,uncbVREvent); - return result; - } - public bool PollNextEventWithPose(ETrackingUniverseOrigin eOrigin,ref VREvent_t pEvent,uint uncbVREvent,ref TrackedDevicePose_t pTrackedDevicePose) - { - bool result = FnTable.PollNextEventWithPose(eOrigin,ref pEvent,uncbVREvent,ref pTrackedDevicePose); - return result; - } - public string GetEventTypeNameFromEnum(EVREventType eType) - { - IntPtr result = FnTable.GetEventTypeNameFromEnum(eType); - return Marshal.PtrToStringAnsi(result); - } - public HiddenAreaMesh_t GetHiddenAreaMesh(EVREye eEye) - { - HiddenAreaMesh_t result = FnTable.GetHiddenAreaMesh(eEye); - return result; - } - public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState) - { - bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState); - return result; - } - public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,ref TrackedDevicePose_t pTrackedDevicePose) - { - bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,ref pTrackedDevicePose); - return result; - } - public void TriggerHapticPulse(uint unControllerDeviceIndex,uint unAxisId,char usDurationMicroSec) - { - FnTable.TriggerHapticPulse(unControllerDeviceIndex,unAxisId,usDurationMicroSec); - } - public string GetButtonIdNameFromEnum(EVRButtonId eButtonId) - { - IntPtr result = FnTable.GetButtonIdNameFromEnum(eButtonId); - return Marshal.PtrToStringAnsi(result); - } - public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) - { - IntPtr result = FnTable.GetControllerAxisTypeNameFromEnum(eAxisType); - return Marshal.PtrToStringAnsi(result); - } - public bool CaptureInputFocus() - { - bool result = FnTable.CaptureInputFocus(); - return result; - } - public void ReleaseInputFocus() - { - FnTable.ReleaseInputFocus(); - } - public bool IsInputFocusCapturedByAnotherProcess() - { - bool result = FnTable.IsInputFocusCapturedByAnotherProcess(); - return result; - } - public uint DriverDebugRequest(uint unDeviceIndex,string pchRequest,string pchResponseBuffer,uint unResponseBufferSize) - { - uint result = FnTable.DriverDebugRequest(unDeviceIndex,pchRequest,pchResponseBuffer,unResponseBufferSize); - return result; - } - public EVRFirmwareError PerformFirmwareUpdate(uint unDeviceIndex) - { - EVRFirmwareError result = FnTable.PerformFirmwareUpdate(unDeviceIndex); - return result; - } - public void AcknowledgeQuit_Exiting() - { - FnTable.AcknowledgeQuit_Exiting(); - } - public void AcknowledgeQuit_UserPrompt() - { - FnTable.AcknowledgeQuit_UserPrompt(); - } -} - - -public class CVRExtendedDisplay -{ - IVRExtendedDisplay FnTable; - internal CVRExtendedDisplay(IntPtr pInterface) - { - FnTable = (IVRExtendedDisplay)Marshal.PtrToStructure(pInterface, typeof(IVRExtendedDisplay)); - } - public void GetWindowBounds(ref int pnX,ref int pnY,ref uint pnWidth,ref uint pnHeight) - { - pnX = 0; - pnY = 0; - pnWidth = 0; - pnHeight = 0; - FnTable.GetWindowBounds(ref pnX,ref pnY,ref pnWidth,ref pnHeight); - } - public void GetEyeOutputViewport(EVREye eEye,ref uint pnX,ref uint pnY,ref uint pnWidth,ref uint pnHeight) - { - pnX = 0; - pnY = 0; - pnWidth = 0; - pnHeight = 0; - FnTable.GetEyeOutputViewport(eEye,ref pnX,ref pnY,ref pnWidth,ref pnHeight); - } - public void GetDXGIOutputInfo(ref int pnAdapterIndex,ref int pnAdapterOutputIndex) - { - pnAdapterIndex = 0; - pnAdapterOutputIndex = 0; - FnTable.GetDXGIOutputInfo(ref pnAdapterIndex,ref pnAdapterOutputIndex); - } -} - - -public class CVRTrackedCamera -{ - IVRTrackedCamera FnTable; - internal CVRTrackedCamera(IntPtr pInterface) - { - FnTable = (IVRTrackedCamera)Marshal.PtrToStructure(pInterface, typeof(IVRTrackedCamera)); - } - public string GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError) - { - IntPtr result = FnTable.GetCameraErrorNameFromEnum(eCameraError); - return Marshal.PtrToStringAnsi(result); - } - public EVRTrackedCameraError HasCamera(uint nDeviceIndex,ref bool pHasCamera) - { - pHasCamera = false; - EVRTrackedCameraError result = FnTable.HasCamera(nDeviceIndex,ref pHasCamera); - return result; - } - public EVRTrackedCameraError GetCameraFrameSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref uint pnWidth,ref uint pnHeight,ref uint pnFrameBufferSize) - { - pnWidth = 0; - pnHeight = 0; - pnFrameBufferSize = 0; - EVRTrackedCameraError result = FnTable.GetCameraFrameSize(nDeviceIndex,eFrameType,ref pnWidth,ref pnHeight,ref pnFrameBufferSize); - return result; - } - public EVRTrackedCameraError GetCameraIntrinisics(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter) - { - EVRTrackedCameraError result = FnTable.GetCameraIntrinisics(nDeviceIndex,eFrameType,ref pFocalLength,ref pCenter); - return result; - } - public EVRTrackedCameraError GetCameraProjection(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,float flZNear,float flZFar,ref HmdMatrix44_t pProjection) - { - EVRTrackedCameraError result = FnTable.GetCameraProjection(nDeviceIndex,eFrameType,flZNear,flZFar,ref pProjection); - return result; - } - public EVRTrackedCameraError AcquireVideoStreamingService(uint nDeviceIndex,ref ulong pHandle) - { - pHandle = 0; - EVRTrackedCameraError result = FnTable.AcquireVideoStreamingService(nDeviceIndex,ref pHandle); - return result; - } - public EVRTrackedCameraError ReleaseVideoStreamingService(ulong hTrackedCamera) - { - EVRTrackedCameraError result = FnTable.ReleaseVideoStreamingService(hTrackedCamera); - return result; - } - public EVRTrackedCameraError GetVideoStreamFrameBuffer(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pFrameBuffer,uint nFrameBufferSize,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize) - { - EVRTrackedCameraError result = FnTable.GetVideoStreamFrameBuffer(hTrackedCamera,eFrameType,pFrameBuffer,nFrameBufferSize,ref pFrameHeader,nFrameHeaderSize); - return result; - } -} - - -public class CVRApplications -{ - IVRApplications FnTable; - internal CVRApplications(IntPtr pInterface) - { - FnTable = (IVRApplications)Marshal.PtrToStructure(pInterface, typeof(IVRApplications)); - } - public EVRApplicationError AddApplicationManifest(string pchApplicationManifestFullPath,bool bTemporary) - { - EVRApplicationError result = FnTable.AddApplicationManifest(pchApplicationManifestFullPath,bTemporary); - return result; - } - public EVRApplicationError RemoveApplicationManifest(string pchApplicationManifestFullPath) - { - EVRApplicationError result = FnTable.RemoveApplicationManifest(pchApplicationManifestFullPath); - return result; - } - public bool IsApplicationInstalled(string pchAppKey) - { - bool result = FnTable.IsApplicationInstalled(pchAppKey); - return result; - } - public uint GetApplicationCount() - { - uint result = FnTable.GetApplicationCount(); - return result; - } - public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex,string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetApplicationKeyByIndex(unApplicationIndex,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationError GetApplicationKeyByProcessId(uint unProcessId,string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetApplicationKeyByProcessId(unProcessId,pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationError LaunchApplication(string pchAppKey) - { - EVRApplicationError result = FnTable.LaunchApplication(pchAppKey); - return result; - } - public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey,string pchNewAppKey,AppOverrideKeys_t [] pKeys) - { - EVRApplicationError result = FnTable.LaunchTemplateApplication(pchTemplateAppKey,pchNewAppKey,pKeys,(uint) pKeys.Length); - return result; - } - public EVRApplicationError LaunchDashboardOverlay(string pchAppKey) - { - EVRApplicationError result = FnTable.LaunchDashboardOverlay(pchAppKey); - return result; - } - public bool CancelApplicationLaunch(string pchAppKey) - { - bool result = FnTable.CancelApplicationLaunch(pchAppKey); - return result; - } - public EVRApplicationError IdentifyApplication(uint unProcessId,string pchAppKey) - { - EVRApplicationError result = FnTable.IdentifyApplication(unProcessId,pchAppKey); - return result; - } - public uint GetApplicationProcessId(string pchAppKey) - { - uint result = FnTable.GetApplicationProcessId(pchAppKey); - return result; - } - public string GetApplicationsErrorNameFromEnum(EVRApplicationError error) - { - IntPtr result = FnTable.GetApplicationsErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } - public uint GetApplicationPropertyString(string pchAppKey,EVRApplicationProperty eProperty,string pchPropertyValueBuffer,uint unPropertyValueBufferLen,ref EVRApplicationError peError) - { - uint result = FnTable.GetApplicationPropertyString(pchAppKey,eProperty,pchPropertyValueBuffer,unPropertyValueBufferLen,ref peError); - return result; - } - public bool GetApplicationPropertyBool(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) - { - bool result = FnTable.GetApplicationPropertyBool(pchAppKey,eProperty,ref peError); - return result; - } - public ulong GetApplicationPropertyUint64(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) - { - ulong result = FnTable.GetApplicationPropertyUint64(pchAppKey,eProperty,ref peError); - return result; - } - public EVRApplicationError SetApplicationAutoLaunch(string pchAppKey,bool bAutoLaunch) - { - EVRApplicationError result = FnTable.SetApplicationAutoLaunch(pchAppKey,bAutoLaunch); - return result; - } - public bool GetApplicationAutoLaunch(string pchAppKey) - { - bool result = FnTable.GetApplicationAutoLaunch(pchAppKey); - return result; - } - public EVRApplicationError GetStartingApplication(string pchAppKeyBuffer,uint unAppKeyBufferLen) - { - EVRApplicationError result = FnTable.GetStartingApplication(pchAppKeyBuffer,unAppKeyBufferLen); - return result; - } - public EVRApplicationTransitionState GetTransitionState() - { - EVRApplicationTransitionState result = FnTable.GetTransitionState(); - return result; - } - public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey) - { - EVRApplicationError result = FnTable.PerformApplicationPrelaunchCheck(pchAppKey); - return result; - } - public string GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state) - { - IntPtr result = FnTable.GetApplicationsTransitionStateNameFromEnum(state); - return Marshal.PtrToStringAnsi(result); - } - public bool IsQuitUserPromptRequested() - { - bool result = FnTable.IsQuitUserPromptRequested(); - return result; - } - public EVRApplicationError LaunchInternalProcess(string pchBinaryPath,string pchArguments,string pchWorkingDirectory) - { - EVRApplicationError result = FnTable.LaunchInternalProcess(pchBinaryPath,pchArguments,pchWorkingDirectory); - return result; - } -} - - -public class CVRChaperone -{ - IVRChaperone FnTable; - internal CVRChaperone(IntPtr pInterface) - { - FnTable = (IVRChaperone)Marshal.PtrToStructure(pInterface, typeof(IVRChaperone)); - } - public ChaperoneCalibrationState GetCalibrationState() - { - ChaperoneCalibrationState result = FnTable.GetCalibrationState(); - return result; - } - public bool GetPlayAreaSize(ref float pSizeX,ref float pSizeZ) - { - pSizeX = 0; - pSizeZ = 0; - bool result = FnTable.GetPlayAreaSize(ref pSizeX,ref pSizeZ); - return result; - } - public bool GetPlayAreaRect(ref HmdQuad_t rect) - { - bool result = FnTable.GetPlayAreaRect(ref rect); - return result; - } - public void ReloadInfo() - { - FnTable.ReloadInfo(); - } - public void SetSceneColor(HmdColor_t color) - { - FnTable.SetSceneColor(color); - } - public void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors,float flCollisionBoundsFadeDistance,ref HmdColor_t pOutputCameraColor) - { - FnTable.GetBoundsColor(ref pOutputColorArray,nNumOutputColors,flCollisionBoundsFadeDistance,ref pOutputCameraColor); - } - public bool AreBoundsVisible() - { - bool result = FnTable.AreBoundsVisible(); - return result; - } - public void ForceBoundsVisible(bool bForce) - { - FnTable.ForceBoundsVisible(bForce); - } -} - - -public class CVRChaperoneSetup -{ - IVRChaperoneSetup FnTable; - internal CVRChaperoneSetup(IntPtr pInterface) - { - FnTable = (IVRChaperoneSetup)Marshal.PtrToStructure(pInterface, typeof(IVRChaperoneSetup)); - } - public bool CommitWorkingCopy(EChaperoneConfigFile configFile) - { - bool result = FnTable.CommitWorkingCopy(configFile); - return result; - } - public void RevertWorkingCopy() - { - FnTable.RevertWorkingCopy(); - } - public bool GetWorkingPlayAreaSize(ref float pSizeX,ref float pSizeZ) - { - pSizeX = 0; - pSizeZ = 0; - bool result = FnTable.GetWorkingPlayAreaSize(ref pSizeX,ref pSizeZ); - return result; - } - public bool GetWorkingPlayAreaRect(ref HmdQuad_t rect) - { - bool result = FnTable.GetWorkingPlayAreaRect(ref rect); - return result; - } - public bool GetWorkingCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetWorkingCollisionBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetWorkingCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool GetLiveCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetLiveCollisionBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetLiveCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetWorkingSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); - return result; - } - public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose); - return result; - } - public void SetWorkingPlayAreaSize(float sizeX,float sizeZ) - { - FnTable.SetWorkingPlayAreaSize(sizeX,sizeZ); - } - public void SetWorkingCollisionBoundsInfo(HmdQuad_t [] pQuadsBuffer) - { - FnTable.SetWorkingCollisionBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length); - } - public void SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose) - { - FnTable.SetWorkingSeatedZeroPoseToRawTrackingPose(ref pMatSeatedZeroPoseToRawTrackingPose); - } - public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose) - { - FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose); - } - public void ReloadFromDisk(EChaperoneConfigFile configFile) - { - FnTable.ReloadFromDisk(configFile); - } - public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) - { - bool result = FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); - return result; - } - public void SetWorkingCollisionBoundsTagsInfo(byte [] pTagsBuffer) - { - FnTable.SetWorkingCollisionBoundsTagsInfo(pTagsBuffer,(uint) pTagsBuffer.Length); - } - public bool GetLiveCollisionBoundsTagsInfo(out byte [] pTagsBuffer) - { - uint punTagCount = 0; - bool result = FnTable.GetLiveCollisionBoundsTagsInfo(null,ref punTagCount); - pTagsBuffer= new byte[punTagCount]; - result = FnTable.GetLiveCollisionBoundsTagsInfo(pTagsBuffer,ref punTagCount); - return result; - } - public bool SetWorkingPhysicalBoundsInfo(HmdQuad_t [] pQuadsBuffer) - { - bool result = FnTable.SetWorkingPhysicalBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length); - return result; - } - public bool GetLivePhysicalBoundsInfo(out HmdQuad_t [] pQuadsBuffer) - { - uint punQuadsCount = 0; - bool result = FnTable.GetLivePhysicalBoundsInfo(null,ref punQuadsCount); - pQuadsBuffer= new HmdQuad_t[punQuadsCount]; - result = FnTable.GetLivePhysicalBoundsInfo(pQuadsBuffer,ref punQuadsCount); - return result; - } - public bool ExportLiveToBuffer(System.Text.StringBuilder pBuffer,ref uint pnBufferLength) - { - pnBufferLength = 0; - bool result = FnTable.ExportLiveToBuffer(pBuffer,ref pnBufferLength); - return result; - } - public bool ImportFromBufferToWorking(string pBuffer,uint nImportFlags) - { - bool result = FnTable.ImportFromBufferToWorking(pBuffer,nImportFlags); - return result; - } -} - - -public class CVRCompositor -{ - IVRCompositor FnTable; - internal CVRCompositor(IntPtr pInterface) - { - FnTable = (IVRCompositor)Marshal.PtrToStructure(pInterface, typeof(IVRCompositor)); - } - public void SetTrackingSpace(ETrackingUniverseOrigin eOrigin) - { - FnTable.SetTrackingSpace(eOrigin); - } - public ETrackingUniverseOrigin GetTrackingSpace() - { - ETrackingUniverseOrigin result = FnTable.GetTrackingSpace(); - return result; - } - public EVRCompositorError WaitGetPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray) - { - EVRCompositorError result = FnTable.WaitGetPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length); - return result; - } - public EVRCompositorError GetLastPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray) - { - EVRCompositorError result = FnTable.GetLastPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length); - return result; - } - public EVRCompositorError GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex,ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pOutputGamePose) - { - EVRCompositorError result = FnTable.GetLastPoseForTrackedDeviceIndex(unDeviceIndex,ref pOutputPose,ref pOutputGamePose); - return result; - } - public EVRCompositorError Submit(EVREye eEye,ref Texture_t pTexture,ref VRTextureBounds_t pBounds,EVRSubmitFlags nSubmitFlags) - { - EVRCompositorError result = FnTable.Submit(eEye,ref pTexture,ref pBounds,nSubmitFlags); - return result; - } - public void ClearLastSubmittedFrame() - { - FnTable.ClearLastSubmittedFrame(); - } - public void PostPresentHandoff() - { - FnTable.PostPresentHandoff(); - } - public bool GetFrameTiming(ref Compositor_FrameTiming pTiming,uint unFramesAgo) - { - bool result = FnTable.GetFrameTiming(ref pTiming,unFramesAgo); - return result; - } - public float GetFrameTimeRemaining() - { - float result = FnTable.GetFrameTimeRemaining(); - return result; - } - public void GetCumulativeStats(ref Compositor_CumulativeStats pStats,uint nStatsSizeInBytes) - { - FnTable.GetCumulativeStats(ref pStats,nStatsSizeInBytes); - } - public void FadeToColor(float fSeconds,float fRed,float fGreen,float fBlue,float fAlpha,bool bBackground) - { - FnTable.FadeToColor(fSeconds,fRed,fGreen,fBlue,fAlpha,bBackground); - } - public void FadeGrid(float fSeconds,bool bFadeIn) - { - FnTable.FadeGrid(fSeconds,bFadeIn); - } - public EVRCompositorError SetSkyboxOverride(Texture_t [] pTextures) - { - EVRCompositorError result = FnTable.SetSkyboxOverride(pTextures,(uint) pTextures.Length); - return result; - } - public void ClearSkyboxOverride() - { - FnTable.ClearSkyboxOverride(); - } - public void CompositorBringToFront() - { - FnTable.CompositorBringToFront(); - } - public void CompositorGoToBack() - { - FnTable.CompositorGoToBack(); - } - public void CompositorQuit() - { - FnTable.CompositorQuit(); - } - public bool IsFullscreen() - { - bool result = FnTable.IsFullscreen(); - return result; - } - public uint GetCurrentSceneFocusProcess() - { - uint result = FnTable.GetCurrentSceneFocusProcess(); - return result; - } - public uint GetLastFrameRenderer() - { - uint result = FnTable.GetLastFrameRenderer(); - return result; - } - public bool CanRenderScene() - { - bool result = FnTable.CanRenderScene(); - return result; - } - public void ShowMirrorWindow() - { - FnTable.ShowMirrorWindow(); - } - public void HideMirrorWindow() - { - FnTable.HideMirrorWindow(); - } - public bool IsMirrorWindowVisible() - { - bool result = FnTable.IsMirrorWindowVisible(); - return result; - } - public void CompositorDumpImages() - { - FnTable.CompositorDumpImages(); - } - public bool ShouldAppRenderWithLowResources() - { - bool result = FnTable.ShouldAppRenderWithLowResources(); - return result; - } - public void ForceInterleavedReprojectionOn(bool bOverride) - { - FnTable.ForceInterleavedReprojectionOn(bOverride); - } - public void ForceReconnectProcess() - { - FnTable.ForceReconnectProcess(); - } - public void SuspendRendering(bool bSuspend) - { - FnTable.SuspendRendering(bSuspend); - } - public EVRCompositorError RequestScreenshot(EVRScreenshotType type,string pchDestinationFileName,string pchVRDestinationFileName) - { - EVRCompositorError result = FnTable.RequestScreenshot(type,pchDestinationFileName,pchVRDestinationFileName); - return result; - } - public EVRScreenshotType GetCurrentScreenshotType() - { - EVRScreenshotType result = FnTable.GetCurrentScreenshotType(); - return result; - } - public EVRCompositorError GetMirrorTextureD3D11(EVREye eEye,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView) - { - EVRCompositorError result = FnTable.GetMirrorTextureD3D11(eEye,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView); - return result; - } - public EVRCompositorError GetMirrorTextureGL(EVREye eEye,ref uint pglTextureId,IntPtr pglSharedTextureHandle) - { - pglTextureId = 0; - EVRCompositorError result = FnTable.GetMirrorTextureGL(eEye,ref pglTextureId,pglSharedTextureHandle); - return result; - } - public bool ReleaseSharedGLTexture(uint glTextureId,IntPtr glSharedTextureHandle) - { - bool result = FnTable.ReleaseSharedGLTexture(glTextureId,glSharedTextureHandle); - return result; - } - public void LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle) - { - FnTable.LockGLSharedTextureForAccess(glSharedTextureHandle); - } - public void UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle) - { - FnTable.UnlockGLSharedTextureForAccess(glSharedTextureHandle); - } -} - - -public class CVROverlay -{ - IVROverlay FnTable; - internal CVROverlay(IntPtr pInterface) - { - FnTable = (IVROverlay)Marshal.PtrToStructure(pInterface, typeof(IVROverlay)); - } - public EVROverlayError FindOverlay(string pchOverlayKey,ref ulong pOverlayHandle) - { - pOverlayHandle = 0; - EVROverlayError result = FnTable.FindOverlay(pchOverlayKey,ref pOverlayHandle); - return result; - } - public EVROverlayError CreateOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pOverlayHandle) - { - pOverlayHandle = 0; - EVROverlayError result = FnTable.CreateOverlay(pchOverlayKey,pchOverlayFriendlyName,ref pOverlayHandle); - return result; - } - public EVROverlayError DestroyOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.DestroyOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError SetHighQualityOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.SetHighQualityOverlay(ulOverlayHandle); - return result; - } - public ulong GetHighQualityOverlay() - { - ulong result = FnTable.GetHighQualityOverlay(); - return result; - } - public uint GetOverlayKey(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError) - { - uint result = FnTable.GetOverlayKey(ulOverlayHandle,pchValue,unBufferSize,ref pError); - return result; - } - public uint GetOverlayName(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError) - { - uint result = FnTable.GetOverlayName(ulOverlayHandle,pchValue,unBufferSize,ref pError); - return result; - } - public EVROverlayError GetOverlayImageData(ulong ulOverlayHandle,IntPtr pvBuffer,uint unBufferSize,ref uint punWidth,ref uint punHeight) - { - punWidth = 0; - punHeight = 0; - EVROverlayError result = FnTable.GetOverlayImageData(ulOverlayHandle,pvBuffer,unBufferSize,ref punWidth,ref punHeight); - return result; - } - public string GetOverlayErrorNameFromEnum(EVROverlayError error) - { - IntPtr result = FnTable.GetOverlayErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } - public EVROverlayError SetOverlayRenderingPid(ulong ulOverlayHandle,uint unPID) - { - EVROverlayError result = FnTable.SetOverlayRenderingPid(ulOverlayHandle,unPID); - return result; - } - public uint GetOverlayRenderingPid(ulong ulOverlayHandle) - { - uint result = FnTable.GetOverlayRenderingPid(ulOverlayHandle); - return result; - } - public EVROverlayError SetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,bool bEnabled) - { - EVROverlayError result = FnTable.SetOverlayFlag(ulOverlayHandle,eOverlayFlag,bEnabled); - return result; - } - public EVROverlayError GetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,ref bool pbEnabled) - { - pbEnabled = false; - EVROverlayError result = FnTable.GetOverlayFlag(ulOverlayHandle,eOverlayFlag,ref pbEnabled); - return result; - } - public EVROverlayError SetOverlayColor(ulong ulOverlayHandle,float fRed,float fGreen,float fBlue) - { - EVROverlayError result = FnTable.SetOverlayColor(ulOverlayHandle,fRed,fGreen,fBlue); - return result; - } - public EVROverlayError GetOverlayColor(ulong ulOverlayHandle,ref float pfRed,ref float pfGreen,ref float pfBlue) - { - pfRed = 0; - pfGreen = 0; - pfBlue = 0; - EVROverlayError result = FnTable.GetOverlayColor(ulOverlayHandle,ref pfRed,ref pfGreen,ref pfBlue); - return result; - } - public EVROverlayError SetOverlayAlpha(ulong ulOverlayHandle,float fAlpha) - { - EVROverlayError result = FnTable.SetOverlayAlpha(ulOverlayHandle,fAlpha); - return result; - } - public EVROverlayError GetOverlayAlpha(ulong ulOverlayHandle,ref float pfAlpha) - { - pfAlpha = 0; - EVROverlayError result = FnTable.GetOverlayAlpha(ulOverlayHandle,ref pfAlpha); - return result; - } - public EVROverlayError SetOverlayWidthInMeters(ulong ulOverlayHandle,float fWidthInMeters) - { - EVROverlayError result = FnTable.SetOverlayWidthInMeters(ulOverlayHandle,fWidthInMeters); - return result; - } - public EVROverlayError GetOverlayWidthInMeters(ulong ulOverlayHandle,ref float pfWidthInMeters) - { - pfWidthInMeters = 0; - EVROverlayError result = FnTable.GetOverlayWidthInMeters(ulOverlayHandle,ref pfWidthInMeters); - return result; - } - public EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,float fMinDistanceInMeters,float fMaxDistanceInMeters) - { - EVROverlayError result = FnTable.SetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,fMinDistanceInMeters,fMaxDistanceInMeters); - return result; - } - public EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,ref float pfMinDistanceInMeters,ref float pfMaxDistanceInMeters) - { - pfMinDistanceInMeters = 0; - pfMaxDistanceInMeters = 0; - EVROverlayError result = FnTable.GetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,ref pfMinDistanceInMeters,ref pfMaxDistanceInMeters); - return result; - } - public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace) - { - EVROverlayError result = FnTable.SetOverlayTextureColorSpace(ulOverlayHandle,eTextureColorSpace); - return result; - } - public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle,ref EColorSpace peTextureColorSpace) - { - EVROverlayError result = FnTable.GetOverlayTextureColorSpace(ulOverlayHandle,ref peTextureColorSpace); - return result; - } - public EVROverlayError SetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds) - { - EVROverlayError result = FnTable.SetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds); - return result; - } - public EVROverlayError GetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds) - { - EVROverlayError result = FnTable.GetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds); - return result; - } - public EVROverlayError GetOverlayTransformType(ulong ulOverlayHandle,ref VROverlayTransformType peTransformType) - { - EVROverlayError result = FnTable.GetOverlayTransformType(ulOverlayHandle,ref peTransformType); - return result; - } - public EVROverlayError SetOverlayTransformAbsolute(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformAbsolute(ulOverlayHandle,eTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); - return result; - } - public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) - { - EVROverlayError result = FnTable.GetOverlayTransformAbsolute(ulOverlayHandle,ref peTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,uint unTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,unTrackedDevice,ref pmatTrackedDeviceToOverlayTransform); - return result; - } - public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,ref uint punTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) - { - punTrackedDevice = 0; - EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,ref punTrackedDevice,ref pmatTrackedDeviceToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,uint unDeviceIndex,string pchComponentName) - { - EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,unDeviceIndex,pchComponentName); - return result; - } - public EVROverlayError GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,ref uint punDeviceIndex,string pchComponentName,uint unComponentNameSize) - { - punDeviceIndex = 0; - EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,ref punDeviceIndex,pchComponentName,unComponentNameSize); - return result; - } - public EVROverlayError ShowOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.ShowOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError HideOverlay(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.HideOverlay(ulOverlayHandle); - return result; - } - public bool IsOverlayVisible(ulong ulOverlayHandle) - { - bool result = FnTable.IsOverlayVisible(ulOverlayHandle); - return result; - } - public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,HmdVector2_t coordinatesInOverlay,ref HmdMatrix34_t pmatTransform) - { - EVROverlayError result = FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle,eTrackingOrigin,coordinatesInOverlay,ref pmatTransform); - return result; - } - public bool PollNextOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pEvent,uint uncbVREvent) - { - bool result = FnTable.PollNextOverlayEvent(ulOverlayHandle,ref pEvent,uncbVREvent); - return result; - } - public EVROverlayError GetOverlayInputMethod(ulong ulOverlayHandle,ref VROverlayInputMethod peInputMethod) - { - EVROverlayError result = FnTable.GetOverlayInputMethod(ulOverlayHandle,ref peInputMethod); - return result; - } - public EVROverlayError SetOverlayInputMethod(ulong ulOverlayHandle,VROverlayInputMethod eInputMethod) - { - EVROverlayError result = FnTable.SetOverlayInputMethod(ulOverlayHandle,eInputMethod); - return result; - } - public EVROverlayError GetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale) - { - EVROverlayError result = FnTable.GetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale); - return result; - } - public EVROverlayError SetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale) - { - EVROverlayError result = FnTable.SetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale); - return result; - } - public bool ComputeOverlayIntersection(ulong ulOverlayHandle,ref VROverlayIntersectionParams_t pParams,ref VROverlayIntersectionResults_t pResults) - { - bool result = FnTable.ComputeOverlayIntersection(ulOverlayHandle,ref pParams,ref pResults); - return result; - } - public bool HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle,uint unControllerDeviceIndex) - { - bool result = FnTable.HandleControllerOverlayInteractionAsMouse(ulOverlayHandle,unControllerDeviceIndex); - return result; - } - public bool IsHoverTargetOverlay(ulong ulOverlayHandle) - { - bool result = FnTable.IsHoverTargetOverlay(ulOverlayHandle); - return result; - } - public ulong GetGamepadFocusOverlay() - { - ulong result = FnTable.GetGamepadFocusOverlay(); - return result; - } - public EVROverlayError SetGamepadFocusOverlay(ulong ulNewFocusOverlay) - { - EVROverlayError result = FnTable.SetGamepadFocusOverlay(ulNewFocusOverlay); - return result; - } - public EVROverlayError SetOverlayNeighbor(EOverlayDirection eDirection,ulong ulFrom,ulong ulTo) - { - EVROverlayError result = FnTable.SetOverlayNeighbor(eDirection,ulFrom,ulTo); - return result; - } - public EVROverlayError MoveGamepadFocusToNeighbor(EOverlayDirection eDirection,ulong ulFrom) - { - EVROverlayError result = FnTable.MoveGamepadFocusToNeighbor(eDirection,ulFrom); - return result; - } - public EVROverlayError SetOverlayTexture(ulong ulOverlayHandle,ref Texture_t pTexture) - { - EVROverlayError result = FnTable.SetOverlayTexture(ulOverlayHandle,ref pTexture); - return result; - } - public EVROverlayError ClearOverlayTexture(ulong ulOverlayHandle) - { - EVROverlayError result = FnTable.ClearOverlayTexture(ulOverlayHandle); - return result; - } - public EVROverlayError SetOverlayRaw(ulong ulOverlayHandle,IntPtr pvBuffer,uint unWidth,uint unHeight,uint unDepth) - { - EVROverlayError result = FnTable.SetOverlayRaw(ulOverlayHandle,pvBuffer,unWidth,unHeight,unDepth); - return result; - } - public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle,string pchFilePath) - { - EVROverlayError result = FnTable.SetOverlayFromFile(ulOverlayHandle,pchFilePath); - return result; - } - public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref EGraphicsAPIConvention pAPI,ref EColorSpace pColorSpace) - { - pWidth = 0; - pHeight = 0; - pNativeFormat = 0; - EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPI,ref pColorSpace); - return result; - } - public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr pNativeTextureHandle) - { - EVROverlayError result = FnTable.ReleaseNativeOverlayHandle(ulOverlayHandle,pNativeTextureHandle); - return result; - } - public EVROverlayError GetOverlayTextureSize(ulong ulOverlayHandle,ref uint pWidth,ref uint pHeight) - { - pWidth = 0; - pHeight = 0; - EVROverlayError result = FnTable.GetOverlayTextureSize(ulOverlayHandle,ref pWidth,ref pHeight); - return result; - } - public EVROverlayError CreateDashboardOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pMainHandle,ref ulong pThumbnailHandle) - { - pMainHandle = 0; - pThumbnailHandle = 0; - EVROverlayError result = FnTable.CreateDashboardOverlay(pchOverlayKey,pchOverlayFriendlyName,ref pMainHandle,ref pThumbnailHandle); - return result; - } - public bool IsDashboardVisible() - { - bool result = FnTable.IsDashboardVisible(); - return result; - } - public bool IsActiveDashboardOverlay(ulong ulOverlayHandle) - { - bool result = FnTable.IsActiveDashboardOverlay(ulOverlayHandle); - return result; - } - public EVROverlayError SetDashboardOverlaySceneProcess(ulong ulOverlayHandle,uint unProcessId) - { - EVROverlayError result = FnTable.SetDashboardOverlaySceneProcess(ulOverlayHandle,unProcessId); - return result; - } - public EVROverlayError GetDashboardOverlaySceneProcess(ulong ulOverlayHandle,ref uint punProcessId) - { - punProcessId = 0; - EVROverlayError result = FnTable.GetDashboardOverlaySceneProcess(ulOverlayHandle,ref punProcessId); - return result; - } - public void ShowDashboard(string pchOverlayToShow) - { - FnTable.ShowDashboard(pchOverlayToShow); - } - public uint GetPrimaryDashboardDevice() - { - uint result = FnTable.GetPrimaryDashboardDevice(); - return result; - } - public EVROverlayError ShowKeyboard(int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue) - { - EVROverlayError result = FnTable.ShowKeyboard(eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue); - return result; - } - public EVROverlayError ShowKeyboardForOverlay(ulong ulOverlayHandle,int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue) - { - EVROverlayError result = FnTable.ShowKeyboardForOverlay(ulOverlayHandle,eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue); - return result; - } - public uint GetKeyboardText(System.Text.StringBuilder pchText,uint cchText) - { - uint result = FnTable.GetKeyboardText(pchText,cchText); - return result; - } - public void HideKeyboard() - { - FnTable.HideKeyboard(); - } - public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform) - { - FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin,ref pmatTrackingOriginToKeyboardTransform); - } - public void SetKeyboardPositionForOverlay(ulong ulOverlayHandle,HmdRect2_t avoidRect) - { - FnTable.SetKeyboardPositionForOverlay(ulOverlayHandle,avoidRect); - } -} - - -public class CVRRenderModels -{ - IVRRenderModels FnTable; - internal CVRRenderModels(IntPtr pInterface) - { - FnTable = (IVRRenderModels)Marshal.PtrToStructure(pInterface, typeof(IVRRenderModels)); - } - public EVRRenderModelError LoadRenderModel_Async(string pchRenderModelName,ref IntPtr ppRenderModel) - { - EVRRenderModelError result = FnTable.LoadRenderModel_Async(pchRenderModelName,ref ppRenderModel); - return result; - } - public void FreeRenderModel(IntPtr pRenderModel) - { - FnTable.FreeRenderModel(pRenderModel); - } - public EVRRenderModelError LoadTexture_Async(int textureId,ref IntPtr ppTexture) - { - EVRRenderModelError result = FnTable.LoadTexture_Async(textureId,ref ppTexture); - return result; - } - public void FreeTexture(IntPtr pTexture) - { - FnTable.FreeTexture(pTexture); - } - public EVRRenderModelError LoadTextureD3D11_Async(int textureId,IntPtr pD3D11Device,ref IntPtr ppD3D11Texture2D) - { - EVRRenderModelError result = FnTable.LoadTextureD3D11_Async(textureId,pD3D11Device,ref ppD3D11Texture2D); - return result; - } - public EVRRenderModelError LoadIntoTextureD3D11_Async(int textureId,IntPtr pDstTexture) - { - EVRRenderModelError result = FnTable.LoadIntoTextureD3D11_Async(textureId,pDstTexture); - return result; - } - public void FreeTextureD3D11(IntPtr pD3D11Texture2D) - { - FnTable.FreeTextureD3D11(pD3D11Texture2D); - } - public uint GetRenderModelName(uint unRenderModelIndex,System.Text.StringBuilder pchRenderModelName,uint unRenderModelNameLen) - { - uint result = FnTable.GetRenderModelName(unRenderModelIndex,pchRenderModelName,unRenderModelNameLen); - return result; - } - public uint GetRenderModelCount() - { - uint result = FnTable.GetRenderModelCount(); - return result; - } - public uint GetComponentCount(string pchRenderModelName) - { - uint result = FnTable.GetComponentCount(pchRenderModelName); - return result; - } - public uint GetComponentName(string pchRenderModelName,uint unComponentIndex,System.Text.StringBuilder pchComponentName,uint unComponentNameLen) - { - uint result = FnTable.GetComponentName(pchRenderModelName,unComponentIndex,pchComponentName,unComponentNameLen); - return result; - } - public ulong GetComponentButtonMask(string pchRenderModelName,string pchComponentName) - { - ulong result = FnTable.GetComponentButtonMask(pchRenderModelName,pchComponentName); - return result; - } - public uint GetComponentRenderModelName(string pchRenderModelName,string pchComponentName,System.Text.StringBuilder pchComponentRenderModelName,uint unComponentRenderModelNameLen) - { - uint result = FnTable.GetComponentRenderModelName(pchRenderModelName,pchComponentName,pchComponentRenderModelName,unComponentRenderModelNameLen); - return result; - } - public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState) - { - bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState); - return result; - } - public bool RenderModelHasComponent(string pchRenderModelName,string pchComponentName) - { - bool result = FnTable.RenderModelHasComponent(pchRenderModelName,pchComponentName); - return result; - } - public uint GetRenderModelThumbnailURL(string pchRenderModelName,System.Text.StringBuilder pchThumbnailURL,uint unThumbnailURLLen,ref EVRRenderModelError peError) - { - uint result = FnTable.GetRenderModelThumbnailURL(pchRenderModelName,pchThumbnailURL,unThumbnailURLLen,ref peError); - return result; - } - public uint GetRenderModelOriginalPath(string pchRenderModelName,System.Text.StringBuilder pchOriginalPath,uint unOriginalPathLen,ref EVRRenderModelError peError) - { - uint result = FnTable.GetRenderModelOriginalPath(pchRenderModelName,pchOriginalPath,unOriginalPathLen,ref peError); - return result; - } - public string GetRenderModelErrorNameFromEnum(EVRRenderModelError error) - { - IntPtr result = FnTable.GetRenderModelErrorNameFromEnum(error); - return Marshal.PtrToStringAnsi(result); - } -} - - -public class CVRNotifications -{ - IVRNotifications FnTable; - internal CVRNotifications(IntPtr pInterface) - { - FnTable = (IVRNotifications)Marshal.PtrToStructure(pInterface, typeof(IVRNotifications)); - } - public EVRNotificationError CreateNotification(ulong ulOverlayHandle,ulong ulUserValue,EVRNotificationType type,string pchText,EVRNotificationStyle style,ref NotificationBitmap_t pImage,ref uint pNotificationId) - { - pNotificationId = 0; - EVRNotificationError result = FnTable.CreateNotification(ulOverlayHandle,ulUserValue,type,pchText,style,ref pImage,ref pNotificationId); - return result; - } - public EVRNotificationError RemoveNotification(uint notificationId) - { - EVRNotificationError result = FnTable.RemoveNotification(notificationId); - return result; - } -} - - -public class CVRSettings -{ - IVRSettings FnTable; - internal CVRSettings(IntPtr pInterface) - { - FnTable = (IVRSettings)Marshal.PtrToStructure(pInterface, typeof(IVRSettings)); - } - public string GetSettingsErrorNameFromEnum(EVRSettingsError eError) - { - IntPtr result = FnTable.GetSettingsErrorNameFromEnum(eError); - return Marshal.PtrToStringAnsi(result); - } - public bool Sync(bool bForce,ref EVRSettingsError peError) - { - bool result = FnTable.Sync(bForce,ref peError); - return result; - } - public bool GetBool(string pchSection,string pchSettingsKey,bool bDefaultValue,ref EVRSettingsError peError) - { - bool result = FnTable.GetBool(pchSection,pchSettingsKey,bDefaultValue,ref peError); - return result; - } - public void SetBool(string pchSection,string pchSettingsKey,bool bValue,ref EVRSettingsError peError) - { - FnTable.SetBool(pchSection,pchSettingsKey,bValue,ref peError); - } - public int GetInt32(string pchSection,string pchSettingsKey,int nDefaultValue,ref EVRSettingsError peError) - { - int result = FnTable.GetInt32(pchSection,pchSettingsKey,nDefaultValue,ref peError); - return result; - } - public void SetInt32(string pchSection,string pchSettingsKey,int nValue,ref EVRSettingsError peError) - { - FnTable.SetInt32(pchSection,pchSettingsKey,nValue,ref peError); - } - public float GetFloat(string pchSection,string pchSettingsKey,float flDefaultValue,ref EVRSettingsError peError) - { - float result = FnTable.GetFloat(pchSection,pchSettingsKey,flDefaultValue,ref peError); - return result; - } - public void SetFloat(string pchSection,string pchSettingsKey,float flValue,ref EVRSettingsError peError) - { - FnTable.SetFloat(pchSection,pchSettingsKey,flValue,ref peError); - } - public void GetString(string pchSection,string pchSettingsKey,string pchValue,uint unValueLen,string pchDefaultValue,ref EVRSettingsError peError) - { - FnTable.GetString(pchSection,pchSettingsKey,pchValue,unValueLen,pchDefaultValue,ref peError); - } - public void SetString(string pchSection,string pchSettingsKey,string pchValue,ref EVRSettingsError peError) - { - FnTable.SetString(pchSection,pchSettingsKey,pchValue,ref peError); - } - public void RemoveSection(string pchSection,ref EVRSettingsError peError) - { - FnTable.RemoveSection(pchSection,ref peError); - } - public void RemoveKeyInSection(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) - { - FnTable.RemoveKeyInSection(pchSection,pchSettingsKey,ref peError); - } -} - - -public class CVRScreenshots -{ - IVRScreenshots FnTable; - internal CVRScreenshots(IntPtr pInterface) - { - FnTable = (IVRScreenshots)Marshal.PtrToStructure(pInterface, typeof(IVRScreenshots)); - } - public EVRScreenshotError RequestScreenshot(ref uint pOutScreenshotHandle,EVRScreenshotType type,string pchPreviewFilename,string pchVRFilename) - { - pOutScreenshotHandle = 0; - EVRScreenshotError result = FnTable.RequestScreenshot(ref pOutScreenshotHandle,type,pchPreviewFilename,pchVRFilename); - return result; - } - public EVRScreenshotError HookScreenshot(EVRScreenshotType [] pSupportedTypes) - { - EVRScreenshotError result = FnTable.HookScreenshot(pSupportedTypes,(int) pSupportedTypes.Length); - return result; - } - public EVRScreenshotType GetScreenshotPropertyType(uint screenshotHandle,ref EVRScreenshotError pError) - { - EVRScreenshotType result = FnTable.GetScreenshotPropertyType(screenshotHandle,ref pError); - return result; - } - public uint GetScreenshotPropertyFilename(uint screenshotHandle,EVRScreenshotPropertyFilenames filenameType,System.Text.StringBuilder pchFilename,uint cchFilename,ref EVRScreenshotError pError) - { - uint result = FnTable.GetScreenshotPropertyFilename(screenshotHandle,filenameType,pchFilename,cchFilename,ref pError); - return result; - } - public EVRScreenshotError UpdateScreenshotProgress(uint screenshotHandle,float flProgress) - { - EVRScreenshotError result = FnTable.UpdateScreenshotProgress(screenshotHandle,flProgress); - return result; - } - public EVRScreenshotError TakeStereoScreenshot(ref uint pOutScreenshotHandle,string pchPreviewFilename,string pchVRFilename) - { - pOutScreenshotHandle = 0; - EVRScreenshotError result = FnTable.TakeStereoScreenshot(ref pOutScreenshotHandle,pchPreviewFilename,pchVRFilename); - return result; - } - public EVRScreenshotError SubmitScreenshot(uint screenshotHandle,EVRScreenshotType type,string pchSourcePreviewFilename,string pchSourceVRFilename) - { - EVRScreenshotError result = FnTable.SubmitScreenshot(screenshotHandle,type,pchSourcePreviewFilename,pchSourceVRFilename); - return result; - } -} - - -public class OpenVRInterop -{ - [DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal")] - internal static extern uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType); - [DllImportAttribute("openvr_api", EntryPoint = "VR_ShutdownInternal")] - internal static extern void ShutdownInternal(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsHmdPresent")] - internal static extern bool IsHmdPresent(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsRuntimeInstalled")] - internal static extern bool IsRuntimeInstalled(); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetStringForHmdError")] - internal static extern IntPtr GetStringForHmdError(EVRInitError error); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetGenericInterface")] - internal static extern IntPtr GetGenericInterface([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion, ref EVRInitError peError); - [DllImportAttribute("openvr_api", EntryPoint = "VR_IsInterfaceVersionValid")] - internal static extern bool IsInterfaceVersionValid([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion); - [DllImportAttribute("openvr_api", EntryPoint = "VR_GetInitToken")] - internal static extern uint GetInitToken(); -} - - -public enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1, -} -public enum EGraphicsAPIConvention -{ - API_DirectX = 0, - API_OpenGL = 1, -} -public enum EColorSpace -{ - Auto = 0, - Gamma = 1, - Linear = 2, -} -public enum ETrackingResult -{ - Uninitialized = 1, - Calibrating_InProgress = 100, - Calibrating_OutOfRange = 101, - Running_OK = 200, - Running_OutOfRange = 201, -} -public enum ETrackedDeviceClass -{ - Invalid = 0, - HMD = 1, - Controller = 2, - TrackingReference = 4, - Other = 1000, -} -public enum ETrackedControllerRole -{ - Invalid = 0, - LeftHand = 1, - RightHand = 2, -} -public enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, - TrackingUniverseStanding = 1, - TrackingUniverseRawAndUncalibrated = 2, -} -public enum ETrackedDeviceProperty -{ - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, - Prop_Axis1Type_Int32 = 3003, - Prop_Axis2Type_Int32 = 3004, - Prop_Axis3Type_Int32 = 3005, - Prop_Axis4Type_Int32 = 3006, - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -} -public enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, -} -public enum EVRSubmitFlags -{ - Submit_Default = 0, - Submit_LensDistortionAlreadyApplied = 1, - Submit_GlRenderBuffer = 2, -} -public enum EVRState -{ - Undefined = -1, - Off = 0, - Searching = 1, - Searching_Alert = 2, - Ready = 3, - Ready_Alert = 4, - NotReady = 5, - Standby = 6, -} -public enum EVREventType -{ - VREvent_None = 0, - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - VREvent_ButtonPress = 200, - VREvent_ButtonUnpress = 201, - VREvent_ButtonTouch = 202, - VREvent_ButtonUntouch = 203, - VREvent_MouseMove = 300, - VREvent_MouseButtonDown = 301, - VREvent_MouseButtonUp = 302, - VREvent_FocusEnter = 303, - VREvent_FocusLeave = 304, - VREvent_Scroll = 305, - VREvent_TouchPadMove = 306, - VREvent_InputFocusCaptured = 400, - VREvent_InputFocusReleased = 401, - VREvent_SceneFocusLost = 402, - VREvent_SceneFocusGained = 403, - VREvent_SceneApplicationChanged = 404, - VREvent_SceneFocusChanged = 405, - VREvent_InputFocusChanged = 406, - VREvent_SceneApplicationSecondaryRenderingStarted = 407, - VREvent_HideRenderModels = 410, - VREvent_ShowRenderModels = 411, - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, - VREvent_DashboardRequested = 505, - VREvent_ResetDashboard = 506, - VREvent_RenderToast = 507, - VREvent_ImageLoaded = 508, - VREvent_ShowKeyboard = 509, - VREvent_HideKeyboard = 510, - VREvent_OverlayGamepadFocusGained = 511, - VREvent_OverlayGamepadFocusLost = 512, - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, - VREvent_ImageFailed = 517, - VREvent_RequestScreenshot = 520, - VREvent_ScreenshotTaken = 521, - VREvent_ScreenshotFailed = 522, - VREvent_SubmitScreenshotToDashboard = 523, - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - VREvent_Quit = 700, - VREvent_ProcessQuit = 701, - VREvent_QuitAborted_UserPrompt = 702, - VREvent_QuitAcknowledged = 703, - VREvent_DriverRequestedQuit = 704, - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - VREvent_AudioSettingsHaveChanged = 820, - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - VREvent_StatusUpdate = 900, - VREvent_MCImageUpdated = 1000, - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -} -public enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, - k_EDeviceActivityLevel_UserInteraction = 1, - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - k_EDeviceActivityLevel_Standby = 3, -} -public enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - k_EButton_SteamVR_Touchpad = 32, - k_EButton_SteamVR_Trigger = 33, - k_EButton_Dashboard_Back = 2, - k_EButton_Max = 64, -} -public enum EVRMouseButton -{ - Left = 1, - Right = 2, - Middle = 4, -} -public enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, -} -public enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -} -public enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, - COLLISION_BOUNDS_STYLE_SQUARES = 2, - COLLISION_BOUNDS_STYLE_ADVANCED = 3, - COLLISION_BOUNDS_STYLE_NONE = 4, - COLLISION_BOUNDS_STYLE_COUNT = 5, -} -public enum EVROverlayError -{ - None = 0, - UnknownOverlay = 10, - InvalidHandle = 11, - PermissionDenied = 12, - OverlayLimitExceeded = 13, - WrongVisibilityType = 14, - KeyTooLong = 15, - NameTooLong = 16, - KeyInUse = 17, - WrongTransformType = 18, - InvalidTrackedDevice = 19, - InvalidParameter = 20, - ThumbnailCantBeDestroyed = 21, - ArrayTooSmall = 22, - RequestFailed = 23, - InvalidTexture = 24, - UnableToLoadFile = 25, - VROVerlayError_KeyboardAlreadyInUse = 26, - NoNeighbor = 27, -} -public enum EVRApplicationType -{ - VRApplication_Other = 0, - VRApplication_Scene = 1, - VRApplication_Overlay = 2, - VRApplication_Background = 3, - VRApplication_Utility = 4, - VRApplication_VRMonitor = 5, -} -public enum EVRFirmwareError -{ - None = 0, - Success = 1, - Fail = 2, -} -public enum EVRNotificationError -{ - OK = 0, - InvalidNotificationId = 100, - NotificationQueueFull = 101, - InvalidOverlayHandle = 102, - SystemWithUserValueAlreadyExists = 103, -} -public enum EVRInitError -{ - None = 0, - Unknown = 1, - Init_InstallationNotFound = 100, - Init_InstallationCorrupt = 101, - Init_VRClientDLLNotFound = 102, - Init_FileNotFound = 103, - Init_FactoryNotFound = 104, - Init_InterfaceNotFound = 105, - Init_InvalidInterface = 106, - Init_UserConfigDirectoryInvalid = 107, - Init_HmdNotFound = 108, - Init_NotInitialized = 109, - Init_PathRegistryNotFound = 110, - Init_NoConfigPath = 111, - Init_NoLogPath = 112, - Init_PathRegistryNotWritable = 113, - Init_AppInfoInitFailed = 114, - Init_Retry = 115, - Init_InitCanceledByUser = 116, - Init_AnotherAppLaunching = 117, - Init_SettingsInitFailed = 118, - Init_ShuttingDown = 119, - Init_TooManyObjects = 120, - Init_NoServerForBackgroundApp = 121, - Init_NotSupportedWithCompositor = 122, - Init_NotAvailableToUtilityApps = 123, - Init_Internal = 124, - Driver_Failed = 200, - Driver_Unknown = 201, - Driver_HmdUnknown = 202, - Driver_NotLoaded = 203, - Driver_RuntimeOutOfDate = 204, - Driver_HmdInUse = 205, - Driver_NotCalibrated = 206, - Driver_CalibrationInvalid = 207, - Driver_HmdDisplayNotFound = 208, - IPC_ServerInitFailed = 300, - IPC_ConnectFailed = 301, - IPC_SharedStateInitFailed = 302, - IPC_CompositorInitFailed = 303, - IPC_MutexInitFailed = 304, - IPC_Failed = 305, - Compositor_Failed = 400, - Compositor_D3D11HardwareRequired = 401, - Compositor_FirmwareRequiresUpdate = 402, - Compositor_OverlayInitFailed = 403, - Compositor_ScreenshotsInitFailed = 404, - VendorSpecific_UnableToConnectToOculusRuntime = 1000, - VendorSpecific_HmdFound_CantOpenDevice = 1101, - VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VendorSpecific_HmdFound_NoStoredConfig = 1103, - VendorSpecific_HmdFound_ConfigTooBig = 1104, - VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VendorSpecific_HmdFound_UserDataError = 1112, - VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - Steam_SteamInstallationNotFound = 2000, -} -public enum EVRScreenshotType -{ - None = 0, - Mono = 1, - Stereo = 2, - Cubemap = 3, - MonoPanorama = 4, - StereoPanorama = 5, -} -public enum EVRScreenshotPropertyFilenames -{ - Preview = 0, - VR = 1, -} -public enum EVRTrackedCameraError -{ - None = 0, - OperationFailed = 100, - InvalidHandle = 101, - InvalidFrameHeaderVersion = 102, - OutOfHandles = 103, - IPCFailure = 104, - NotSupportedForThisDevice = 105, - SharedMemoryFailure = 106, - FrameBufferingFailure = 107, - StreamSetupFailure = 108, - InvalidGLTextureId = 109, - InvalidSharedTextureHandle = 110, - FailedToGetGLTextureId = 111, - SharedTextureFailure = 112, - NoFrameAvailable = 113, - InvalidArgument = 114, - InvalidFrameBufferSize = 115, -} -public enum EVRTrackedCameraFrameType -{ - Distorted = 0, - Undistorted = 1, - MaximumUndistorted = 2, - MAX_CAMERA_FRAME_TYPES = 3, -} -public enum EVRApplicationError -{ - None = 0, - AppKeyAlreadyExists = 100, - NoManifest = 101, - NoApplication = 102, - InvalidIndex = 103, - UnknownApplication = 104, - IPCFailed = 105, - ApplicationAlreadyRunning = 106, - InvalidManifest = 107, - InvalidApplication = 108, - LaunchFailed = 109, - ApplicationAlreadyStarting = 110, - LaunchInProgress = 111, - OldApplicationQuitting = 112, - TransitionAborted = 113, - IsTemplate = 114, - BufferTooSmall = 200, - PropertyNotSet = 201, - UnknownProperty = 202, - InvalidParameter = 203, -} -public enum EVRApplicationProperty -{ - Name_String = 0, - LaunchType_String = 11, - WorkingDirectory_String = 12, - BinaryPath_String = 13, - Arguments_String = 14, - URL_String = 15, - Description_String = 50, - NewsURL_String = 51, - ImagePath_String = 52, - Source_String = 53, - IsDashboardOverlay_Bool = 60, - IsTemplate_Bool = 61, - IsInstanced_Bool = 62, - LastLaunchTime_Uint64 = 70, -} -public enum EVRApplicationTransitionState -{ - VRApplicationTransition_None = 0, - VRApplicationTransition_OldAppQuitSent = 10, - VRApplicationTransition_WaitingForExternalLaunch = 11, - VRApplicationTransition_NewAppLaunched = 20, -} -public enum ChaperoneCalibrationState -{ - OK = 1, - Warning = 100, - Warning_BaseStationMayHaveMoved = 101, - Warning_BaseStationRemoved = 102, - Warning_SeatedBoundsInvalid = 103, - Error = 200, - Error_BaseStationUninitalized = 201, - Error_BaseStationConflict = 202, - Error_PlayAreaInvalid = 203, - Error_CollisionBoundsInvalid = 204, -} -public enum EChaperoneConfigFile -{ - Live = 1, - Temp = 2, -} -public enum EChaperoneImportFlags -{ - EChaperoneImport_BoundsOnly = 1, -} -public enum EVRCompositorError -{ - None = 0, - RequestFailed = 1, - IncompatibleVersion = 100, - DoNotHaveFocus = 101, - InvalidTexture = 102, - IsNotSceneApplication = 103, - TextureIsOnWrongDevice = 104, - TextureUsesUnsupportedFormat = 105, - SharedTexturesNotSupported = 106, - IndexOutOfRange = 107, -} -public enum VROverlayInputMethod -{ - None = 0, - Mouse = 1, -} -public enum VROverlayTransformType -{ - VROverlayTransform_Absolute = 0, - VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, - VROverlayTransform_TrackedComponent = 3, -} -public enum VROverlayFlags -{ - None = 0, - Curved = 1, - RGSS4X = 2, - NoDashboardTab = 3, - AcceptsGamepadEvents = 4, - ShowGamepadFocus = 5, - SendVRScrollEvents = 6, - SendVRTouchpadEvents = 7, - ShowTouchPadScrollWheel = 8, - TransferOwnershipToInternalProcess = 9, - SideBySide_Parallel = 10, - SideBySide_Crossed = 11, - Panorama = 12, - StereoPanorama = 13, -} -public enum EGamepadTextInputMode -{ - k_EGamepadTextInputModeNormal = 0, - k_EGamepadTextInputModePassword = 1, - k_EGamepadTextInputModeSubmit = 2, -} -public enum EGamepadTextInputLineMode -{ - k_EGamepadTextInputLineModeSingleLine = 0, - k_EGamepadTextInputLineModeMultipleLines = 1, -} -public enum EOverlayDirection -{ - Up = 0, - Down = 1, - Left = 2, - Right = 3, - Count = 4, -} -public enum EVRRenderModelError -{ - None = 0, - Loading = 100, - NotSupported = 200, - InvalidArg = 300, - InvalidModel = 301, - NoShapes = 302, - MultipleShapes = 303, - TooManyVertices = 304, - MultipleTextures = 305, - BufferTooSmall = 306, - NotEnoughNormals = 307, - NotEnoughTexCoords = 308, - InvalidTexture = 400, -} -public enum EVRComponentProperty -{ - IsStatic = 1, - IsVisible = 2, - IsTouched = 4, - IsPressed = 8, - IsScrolled = 16, -} -public enum EVRNotificationType -{ - Transient = 0, - Persistent = 1, - Transient_SystemWithUserValue = 2, -} -public enum EVRNotificationStyle -{ - None = 0, - Application = 100, - Contact_Disabled = 200, - Contact_Enabled = 201, - Contact_Active = 202, -} -public enum EVRSettingsError -{ - None = 0, - IPCFailed = 1, - WriteFailed = 2, - ReadFailed = 3, -} -public enum EVRScreenshotError -{ - None = 0, - RequestFailed = 1, - IncompatibleVersion = 100, - NotFound = 101, - BufferTooSmall = 102, - ScreenshotAlreadyInProgress = 108, -} - -[StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t -{ - [FieldOffset(0)] public VREvent_Reserved_t reserved; - [FieldOffset(0)] public VREvent_Controller_t controller; - [FieldOffset(0)] public VREvent_Mouse_t mouse; - [FieldOffset(0)] public VREvent_Scroll_t scroll; - [FieldOffset(0)] public VREvent_Process_t process; - [FieldOffset(0)] public VREvent_Notification_t notification; - [FieldOffset(0)] public VREvent_Overlay_t overlay; - [FieldOffset(0)] public VREvent_Status_t status; - [FieldOffset(0)] public VREvent_Ipd_t ipd; - [FieldOffset(0)] public VREvent_Chaperone_t chaperone; - [FieldOffset(0)] public VREvent_PerformanceTest_t performanceTest; - [FieldOffset(0)] public VREvent_TouchPadMove_t touchPadMove; - [FieldOffset(0)] public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - [FieldOffset(0)] public VREvent_Screenshot_t screenshot; - [FieldOffset(0)] public VREvent_Keyboard_t keyboard; // This has to be at the end due to a mono bug -} - -[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix34_t -{ - public float m0; //float[3][4] - public float m1; - public float m2; - public float m3; - public float m4; - public float m5; - public float m6; - public float m7; - public float m8; - public float m9; - public float m10; - public float m11; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix44_t -{ - public float m0; //float[4][4] - public float m1; - public float m2; - public float m3; - public float m4; - public float m5; - public float m6; - public float m7; - public float m8; - public float m9; - public float m10; - public float m11; - public float m12; - public float m13; - public float m14; - public float m15; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector3_t -{ - public float v0; //float[3] - public float v1; - public float v2; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector4_t -{ - public float v0; //float[4] - public float v1; - public float v2; - public float v3; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector3d_t -{ - public double v0; //double[3] - public double v1; - public double v2; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdVector2_t -{ - public float v0; //float[2] - public float v1; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdQuaternion_t -{ - public double w; - public double x; - public double y; - public double z; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdColor_t -{ - public float r; - public float g; - public float b; - public float a; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdQuad_t -{ - public HmdVector3_t vCorners0; //HmdVector3_t[4] - public HmdVector3_t vCorners1; - public HmdVector3_t vCorners2; - public HmdVector3_t vCorners3; -} -[StructLayout(LayoutKind.Sequential)] public struct HmdRect2_t -{ - public HmdVector2_t vTopLeft; - public HmdVector2_t vBottomRight; -} -[StructLayout(LayoutKind.Sequential)] public struct DistortionCoordinates_t -{ - public float rfRed0; //float[2] - public float rfRed1; - public float rfGreen0; //float[2] - public float rfGreen1; - public float rfBlue0; //float[2] - public float rfBlue1; -} -[StructLayout(LayoutKind.Sequential)] public struct Texture_t -{ - public IntPtr handle; // void * - public EGraphicsAPIConvention eType; - public EColorSpace eColorSpace; -} -[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t -{ - public HmdMatrix34_t mDeviceToAbsoluteTracking; - public HmdVector3_t vVelocity; - public HmdVector3_t vAngularVelocity; - public ETrackingResult eTrackingResult; - [MarshalAs(UnmanagedType.I1)] - public bool bPoseIsValid; - [MarshalAs(UnmanagedType.I1)] - public bool bDeviceIsConnected; -} -[StructLayout(LayoutKind.Sequential)] public struct VRTextureBounds_t -{ - public float uMin; - public float vMin; - public float uMax; - public float vMax; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Controller_t -{ - public uint button; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Mouse_t -{ - public float x; - public float y; - public uint button; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Scroll_t -{ - public float xdelta; - public float ydelta; - public uint repeatCount; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_TouchPadMove_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bFingerDown; - public float flSecondsFingerDown; - public float fValueXFirst; - public float fValueYFirst; - public float fValueXRaw; - public float fValueYRaw; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Notification_t -{ - public ulong ulUserValue; - public uint notificationId; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Process_t -{ - public uint pid; - public uint oldPid; - [MarshalAs(UnmanagedType.I1)] - public bool bForced; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Overlay_t -{ - public ulong overlayHandle; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Status_t -{ - public uint statusState; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Keyboard_t -{ - public byte cNewInput0,cNewInput1,cNewInput2,cNewInput3,cNewInput4,cNewInput5,cNewInput6,cNewInput7; - public ulong uUserValue; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Ipd_t -{ - public float ipdMeters; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Chaperone_t -{ - public ulong m_nPreviousUniverse; - public ulong m_nCurrentUniverse; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Reserved_t -{ - public ulong reserved0; - public ulong reserved1; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_PerformanceTest_t -{ - public uint m_nFidelityLevel; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_SeatedZeroPoseReset_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bResetBySystemMenu; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_Screenshot_t -{ - public uint handle; - public uint type; -} -[StructLayout(LayoutKind.Sequential)] public struct VREvent_t -{ - public uint eventType; - public uint trackedDeviceIndex; - public float eventAgeSeconds; - public VREvent_Data_t data; -} -[StructLayout(LayoutKind.Sequential)] public struct HiddenAreaMesh_t -{ - public IntPtr pVertexData; // const struct vr::HmdVector2_t * - public uint unTriangleCount; -} -[StructLayout(LayoutKind.Sequential)] public struct VRControllerAxis_t -{ - public float x; - public float y; -} -[StructLayout(LayoutKind.Sequential)] public struct VRControllerState_t -{ - public uint unPacketNum; - public ulong ulButtonPressed; - public ulong ulButtonTouched; - public VRControllerAxis_t rAxis0; //VRControllerAxis_t[5] - public VRControllerAxis_t rAxis1; - public VRControllerAxis_t rAxis2; - public VRControllerAxis_t rAxis3; - public VRControllerAxis_t rAxis4; -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_OverlaySettings -{ - public uint size; - [MarshalAs(UnmanagedType.I1)] - public bool curved; - [MarshalAs(UnmanagedType.I1)] - public bool antialias; - public float scale; - public float distance; - public float alpha; - public float uOffset; - public float vOffset; - public float uScale; - public float vScale; - public float gridDivs; - public float gridWidth; - public float gridScale; - public HmdMatrix44_t transform; -} -[StructLayout(LayoutKind.Sequential)] public struct CameraVideoStreamFrameHeader_t -{ - public EVRTrackedCameraFrameType eFrameType; - public uint nWidth; - public uint nHeight; - public uint nBytesPerPixel; - public uint nFrameSequence; - public TrackedDevicePose_t standingTrackedDevicePose; -} -[StructLayout(LayoutKind.Sequential)] public struct AppOverrideKeys_t -{ - public IntPtr pchKey; // const char * - public IntPtr pchValue; // const char * -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_FrameTiming -{ - public uint m_nSize; - public uint m_nFrameIndex; - public uint m_nNumFramePresents; - public uint m_nNumDroppedFrames; - public double m_flSystemTimeInSeconds; - public float m_flSceneRenderGpuMs; - public float m_flTotalRenderGpuMs; - public float m_flCompositorRenderGpuMs; - public float m_flCompositorRenderCpuMs; - public float m_flCompositorIdleCpuMs; - public float m_flClientFrameIntervalMs; - public float m_flPresentCallCpuMs; - public float m_flWaitForPresentCpuMs; - public float m_flSubmitFrameMs; - public float m_flWaitGetPosesCalledMs; - public float m_flNewPosesReadyMs; - public float m_flNewFrameReadyMs; - public float m_flCompositorUpdateStartMs; - public float m_flCompositorUpdateEndMs; - public float m_flCompositorRenderStartMs; - public TrackedDevicePose_t m_HmdPose; - public int m_nFidelityLevel; - public uint m_nReprojectionFlags; -} -[StructLayout(LayoutKind.Sequential)] public struct Compositor_CumulativeStats -{ - public uint m_nPid; - public uint m_nNumFramePresents; - public uint m_nNumDroppedFrames; - public uint m_nNumReprojectedFrames; - public uint m_nNumFramePresentsOnStartup; - public uint m_nNumDroppedFramesOnStartup; - public uint m_nNumReprojectedFramesOnStartup; - public uint m_nNumLoading; - public uint m_nNumFramePresentsLoading; - public uint m_nNumDroppedFramesLoading; - public uint m_nNumReprojectedFramesLoading; - public uint m_nNumTimedOut; - public uint m_nNumFramePresentsTimedOut; - public uint m_nNumDroppedFramesTimedOut; - public uint m_nNumReprojectedFramesTimedOut; -} -[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionParams_t -{ - public HmdVector3_t vSource; - public HmdVector3_t vDirection; - public ETrackingUniverseOrigin eOrigin; -} -[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionResults_t -{ - public HmdVector3_t vPoint; - public HmdVector3_t vNormal; - public HmdVector2_t vUVs; - public float fDistance; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ComponentState_t -{ - public HmdMatrix34_t mTrackingToComponentRenderModel; - public HmdMatrix34_t mTrackingToComponentLocal; - public uint uProperties; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_Vertex_t -{ - public HmdVector3_t vPosition; - public HmdVector3_t vNormal; - public float rfTextureCoord0; //float[2] - public float rfTextureCoord1; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_TextureMap_t -{ - public char unWidth; - public char unHeight; - public IntPtr rubTextureMapData; // const uint8_t * -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_t -{ - public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t * - public uint unVertexCount; - public IntPtr rIndexData; // const uint16_t * - public uint unTriangleCount; - public int diffuseTextureId; -} -[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ControllerMode_State_t -{ - [MarshalAs(UnmanagedType.I1)] - public bool bScrollWheelVisible; -} -[StructLayout(LayoutKind.Sequential)] public struct NotificationBitmap_t -{ - public IntPtr m_pImageData; // void * - public int m_nWidth; - public int m_nHeight; - public int m_nBytesPerPixel; -} -[StructLayout(LayoutKind.Sequential)] public struct COpenVRContext -{ - public IntPtr m_pVRSystem; // class vr::IVRSystem * - public IntPtr m_pVRChaperone; // class vr::IVRChaperone * - public IntPtr m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup * - public IntPtr m_pVRCompositor; // class vr::IVRCompositor * - public IntPtr m_pVROverlay; // class vr::IVROverlay * - public IntPtr m_pVRRenderModels; // class vr::IVRRenderModels * - public IntPtr m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay * - public IntPtr m_pVRSettings; // class vr::IVRSettings * - public IntPtr m_pVRApplications; // class vr::IVRApplications * - public IntPtr m_pVRTrackedCamera; // class vr::IVRTrackedCamera * - public IntPtr m_pVRScreenshots; // class vr::IVRScreenshots * -} - -public class OpenVR -{ - - public static uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType) - { - return OpenVRInterop.InitInternal(ref peError, eApplicationType); - } - - public static void ShutdownInternal() - { - OpenVRInterop.ShutdownInternal(); - } - - public static bool IsHmdPresent() - { - return OpenVRInterop.IsHmdPresent(); - } - - public static bool IsRuntimeInstalled() - { - return OpenVRInterop.IsRuntimeInstalled(); - } - - public static string GetStringForHmdError(EVRInitError error) - { - return Marshal.PtrToStringAnsi(OpenVRInterop.GetStringForHmdError(error)); - } - - public static IntPtr GetGenericInterface(string pchInterfaceVersion, ref EVRInitError peError) - { - return OpenVRInterop.GetGenericInterface(pchInterfaceVersion, ref peError); - } - - public static bool IsInterfaceVersionValid(string pchInterfaceVersion) - { - return OpenVRInterop.IsInterfaceVersionValid(pchInterfaceVersion); - } - - public static uint GetInitToken() - { - return OpenVRInterop.GetInitToken(); - } - - public const uint k_unTrackingStringSize = 32; - public const uint k_unMaxDriverDebugResponseSize = 32768; - public const uint k_unTrackedDeviceIndex_Hmd = 0; - public const uint k_unMaxTrackedDeviceCount = 16; - public const uint k_unTrackedDeviceIndexOther = 4294967294; - public const uint k_unTrackedDeviceIndexInvalid = 4294967295; - public const uint k_unMaxPropertyStringSize = 32768; - public const uint k_unControllerStateAxisCount = 5; - public const ulong k_ulOverlayHandleInvalid = 0; - public const uint k_unScreenshotHandleInvalid = 0; - public const string IVRSystem_Version = "IVRSystem_012"; - public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; - public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003"; - public const uint k_unMaxApplicationKeyLength = 128; - public const string IVRApplications_Version = "IVRApplications_005"; - public const string IVRChaperone_Version = "IVRChaperone_003"; - public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; - public const string IVRCompositor_Version = "IVRCompositor_015"; - public const uint k_unVROverlayMaxKeyLength = 128; - public const uint k_unVROverlayMaxNameLength = 128; - public const uint k_unMaxOverlayCount = 32; - public const string IVROverlay_Version = "IVROverlay_012"; - public const string k_pch_Controller_Component_GDC2015 = "gdc2015"; - public const string k_pch_Controller_Component_Base = "base"; - public const string k_pch_Controller_Component_Tip = "tip"; - public const string k_pch_Controller_Component_HandGrip = "handgrip"; - public const string k_pch_Controller_Component_Status = "status"; - public const string IVRRenderModels_Version = "IVRRenderModels_005"; - public const uint k_unNotificationTextMaxSize = 256; - public const string IVRNotifications_Version = "IVRNotifications_002"; - public const uint k_unMaxSettingsKeyLength = 128; - public const string IVRSettings_Version = "IVRSettings_001"; - public const string k_pch_SteamVR_Section = "steamvr"; - public const string k_pch_SteamVR_RequireHmd_String = "requireHmd"; - public const string k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - public const string k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - public const string k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - public const string k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - public const string k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; - public const string k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - public const string k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - public const string k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps"; - public const string k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - public const string k_pch_SteamVR_IPD_Float = "ipd"; - public const string k_pch_SteamVR_Background_String = "background"; - public const string k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - public const string k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - public const string k_pch_SteamVR_Environment_String = "environment"; - public const string k_pch_SteamVR_GridColor_String = "gridColor"; - public const string k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - public const string k_pch_SteamVR_ShowStage_Bool = "showStage"; - public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - public const string k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; - public const string k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; - public const string k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; - public const string k_pch_SteamVR_DirectMode_Bool = "directMode"; - public const string k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - public const string k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - public const string k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - public const string k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - public const string k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - public const string k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - public const string k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; - public const string k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; - public const string k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - public const string k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - public const string k_pch_Lighthouse_Section = "driver_lighthouse"; - public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - public const string k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - public const string k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - public const string k_pch_Lighthouse_LighthouseName_String = "lighthousename"; - public const string k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; - public const string k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; - public const string k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - public const string k_pch_Null_Section = "driver_null"; - public const string k_pch_Null_EnableNullDriver_Bool = "enable"; - public const string k_pch_Null_SerialNumber_String = "serialNumber"; - public const string k_pch_Null_ModelNumber_String = "modelNumber"; - public const string k_pch_Null_WindowX_Int32 = "windowX"; - public const string k_pch_Null_WindowY_Int32 = "windowY"; - public const string k_pch_Null_WindowWidth_Int32 = "windowWidth"; - public const string k_pch_Null_WindowHeight_Int32 = "windowHeight"; - public const string k_pch_Null_RenderWidth_Int32 = "renderWidth"; - public const string k_pch_Null_RenderHeight_Int32 = "renderHeight"; - public const string k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - public const string k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - public const string k_pch_UserInterface_Section = "userinterface"; - public const string k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - public const string k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots"; - public const string k_pch_Notifications_Section = "notifications"; - public const string k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - public const string k_pch_Keyboard_Section = "keyboard"; - public const string k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - public const string k_pch_Keyboard_ScaleX = "ScaleX"; - public const string k_pch_Keyboard_ScaleY = "ScaleY"; - public const string k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - public const string k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - public const string k_pch_Keyboard_OffsetY = "OffsetY"; - public const string k_pch_Keyboard_Smoothing = "Smoothing"; - public const string k_pch_Perf_Section = "perfcheck"; - public const string k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - public const string k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - public const string k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - public const string k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - public const string k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - public const string k_pch_Perf_TestData_Float = "perfTestData"; - public const string k_pch_CollisionBounds_Section = "collisionBounds"; - public const string k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - public const string k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - public const string k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - public const string k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - public const string k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - public const string k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - public const string k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - public const string k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - public const string k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - public const string k_pch_Camera_Section = "camera"; - public const string k_pch_Camera_EnableCamera_Bool = "enableCamera"; - public const string k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - public const string k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - public const string k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - public const string k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - public const string k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - public const string k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - public const string k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - public const string k_pch_audio_Section = "audio"; - public const string k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - public const string k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - public const string k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - public const string k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - public const string k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - public const string k_pch_modelskin_Section = "modelskins"; - public const string IVRScreenshots_Version = "IVRScreenshots_001"; - - static uint VRToken { get; set; } - - const string FnTable_Prefix = "FnTable:"; - - class COpenVRContext - { - public COpenVRContext() { Clear(); } - - public void Clear() - { - m_pVRSystem = null; - m_pVRChaperone = null; - m_pVRChaperoneSetup = null; - m_pVRCompositor = null; - m_pVROverlay = null; - m_pVRRenderModels = null; - m_pVRExtendedDisplay = null; - m_pVRSettings = null; - m_pVRApplications = null; - m_pVRScreenshots = null; - } - - void CheckClear() - { - if (VRToken != GetInitToken()) - { - Clear(); - VRToken = GetInitToken(); - } - } - - public CVRSystem VRSystem() - { - CheckClear(); - if (m_pVRSystem == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSystem_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRSystem = new CVRSystem(pInterface); - } - return m_pVRSystem; - } - - public CVRChaperone VRChaperone() - { - CheckClear(); - if (m_pVRChaperone == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperone_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRChaperone = new CVRChaperone(pInterface); - } - return m_pVRChaperone; - } - - public CVRChaperoneSetup VRChaperoneSetup() - { - CheckClear(); - if (m_pVRChaperoneSetup == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperoneSetup_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRChaperoneSetup = new CVRChaperoneSetup(pInterface); - } - return m_pVRChaperoneSetup; - } - - public CVRCompositor VRCompositor() - { - CheckClear(); - if (m_pVRCompositor == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRCompositor_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRCompositor = new CVRCompositor(pInterface); - } - return m_pVRCompositor; - } - - public CVROverlay VROverlay() - { - CheckClear(); - if (m_pVROverlay == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVROverlay_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVROverlay = new CVROverlay(pInterface); - } - return m_pVROverlay; - } - - public CVRRenderModels VRRenderModels() - { - CheckClear(); - if (m_pVRRenderModels == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRRenderModels_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRRenderModels = new CVRRenderModels(pInterface); - } - return m_pVRRenderModels; - } - - public CVRExtendedDisplay VRExtendedDisplay() - { - CheckClear(); - if (m_pVRExtendedDisplay == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRExtendedDisplay_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRExtendedDisplay = new CVRExtendedDisplay(pInterface); - } - return m_pVRExtendedDisplay; - } - - public CVRSettings VRSettings() - { - CheckClear(); - if (m_pVRSettings == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSettings_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRSettings = new CVRSettings(pInterface); - } - return m_pVRSettings; - } - - public CVRApplications VRApplications() - { - CheckClear(); - if (m_pVRApplications == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRApplications_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRApplications = new CVRApplications(pInterface); - } - return m_pVRApplications; - } - - public CVRScreenshots VRScreenshots() - { - CheckClear(); - if (m_pVRScreenshots == null) - { - var eError = EVRInitError.None; - var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRScreenshots_Version, ref eError); - if (pInterface != IntPtr.Zero && eError == EVRInitError.None) - m_pVRScreenshots = new CVRScreenshots(pInterface); - } - return m_pVRScreenshots; - } - - private CVRSystem m_pVRSystem; - private CVRChaperone m_pVRChaperone; - private CVRChaperoneSetup m_pVRChaperoneSetup; - private CVRCompositor m_pVRCompositor; - private CVROverlay m_pVROverlay; - private CVRRenderModels m_pVRRenderModels; - private CVRExtendedDisplay m_pVRExtendedDisplay; - private CVRSettings m_pVRSettings; - private CVRApplications m_pVRApplications; - private CVRScreenshots m_pVRScreenshots; - }; - - private static COpenVRContext _OpenVRInternal_ModuleContext = null; - static COpenVRContext OpenVRInternal_ModuleContext - { - get - { - if (_OpenVRInternal_ModuleContext == null) - _OpenVRInternal_ModuleContext = new COpenVRContext(); - return _OpenVRInternal_ModuleContext; - } - } - - public static CVRSystem System { get { return OpenVRInternal_ModuleContext.VRSystem(); } } - public static CVRChaperone Chaperone { get { return OpenVRInternal_ModuleContext.VRChaperone(); } } - public static CVRChaperoneSetup ChaperoneSetup { get { return OpenVRInternal_ModuleContext.VRChaperoneSetup(); } } - public static CVRCompositor Compositor { get { return OpenVRInternal_ModuleContext.VRCompositor(); } } - public static CVROverlay Overlay { get { return OpenVRInternal_ModuleContext.VROverlay(); } } - public static CVRRenderModels RenderModels { get { return OpenVRInternal_ModuleContext.VRRenderModels(); } } - public static CVRApplications Applications { get { return OpenVRInternal_ModuleContext.VRApplications(); } } - public static CVRSettings Settings { get { return OpenVRInternal_ModuleContext.VRSettings(); } } - public static CVRExtendedDisplay ExtendedDisplay { get { return OpenVRInternal_ModuleContext.VRExtendedDisplay(); } } - public static CVRScreenshots Screenshots { get { return OpenVRInternal_ModuleContext.VRScreenshots(); } } - - /** Finds the active installation of vrclient.dll and initializes it */ - public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene) - { - VRToken = InitInternal(ref peError, eApplicationType); - OpenVRInternal_ModuleContext.Clear(); - - if (peError != EVRInitError.None) - return null; - - bool bInterfaceValid = IsInterfaceVersionValid(IVRSystem_Version); - if (!bInterfaceValid) - { - ShutdownInternal(); - peError = EVRInitError.Init_InterfaceNotFound; - return null; - } - - return OpenVR.System; - } - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - public static void Shutdown() - { - ShutdownInternal(); - } - -} - - - -} - diff --git a/openvr/headers/openvr_api.json b/openvr/headers/openvr_api.json deleted file mode 100644 index c72b2c4..0000000 --- a/openvr/headers/openvr_api.json +++ /dev/null @@ -1,3347 +0,0 @@ -{"typedefs":[{"typedef": "vr::glSharedTextureHandle_t","type": "void *"} -,{"typedef": "vr::glInt_t","type": "int32_t"} -,{"typedef": "vr::glUInt_t","type": "uint32_t"} -,{"typedef": "vr::TrackedDeviceIndex_t","type": "uint32_t"} -,{"typedef": "vr::VREvent_Data_t","type": "union VREvent_Data_t"} -,{"typedef": "vr::VRControllerState_t","type": "struct vr::VRControllerState001_t"} -,{"typedef": "vr::VROverlayHandle_t","type": "uint64_t"} -,{"typedef": "vr::TrackedCameraHandle_t","type": "uint64_t"} -,{"typedef": "vr::ScreenshotHandle_t","type": "uint32_t"} -,{"typedef": "vr::VRComponentProperties","type": "uint32_t"} -,{"typedef": "vr::TextureID_t","type": "int32_t"} -,{"typedef": "vr::VRNotificationId","type": "uint32_t"} -,{"typedef": "vr::HmdError","type": "enum vr::EVRInitError"} -,{"typedef": "vr::Hmd_Eye","type": "enum vr::EVREye"} -,{"typedef": "vr::GraphicsAPIConvention","type": "enum vr::EGraphicsAPIConvention"} -,{"typedef": "vr::ColorSpace","type": "enum vr::EColorSpace"} -,{"typedef": "vr::HmdTrackingResult","type": "enum vr::ETrackingResult"} -,{"typedef": "vr::TrackedDeviceClass","type": "enum vr::ETrackedDeviceClass"} -,{"typedef": "vr::TrackingUniverseOrigin","type": "enum vr::ETrackingUniverseOrigin"} -,{"typedef": "vr::TrackedDeviceProperty","type": "enum vr::ETrackedDeviceProperty"} -,{"typedef": "vr::TrackedPropertyError","type": "enum vr::ETrackedPropertyError"} -,{"typedef": "vr::VRSubmitFlags_t","type": "enum vr::EVRSubmitFlags"} -,{"typedef": "vr::VRState_t","type": "enum vr::EVRState"} -,{"typedef": "vr::CollisionBoundsStyle_t","type": "enum vr::ECollisionBoundsStyle"} -,{"typedef": "vr::VROverlayError","type": "enum vr::EVROverlayError"} -,{"typedef": "vr::VRFirmwareError","type": "enum vr::EVRFirmwareError"} -,{"typedef": "vr::VRCompositorError","type": "enum vr::EVRCompositorError"} -,{"typedef": "vr::VRScreenshotsError","type": "enum vr::EVRScreenshotError"} -], -"enums":[ - {"enumname": "vr::EVREye","values": [ - {"name": "Eye_Left","value": "0"} - ,{"name": "Eye_Right","value": "1"} -]} -, {"enumname": "vr::EGraphicsAPIConvention","values": [ - {"name": "API_DirectX","value": "0"} - ,{"name": "API_OpenGL","value": "1"} -]} -, {"enumname": "vr::EColorSpace","values": [ - {"name": "ColorSpace_Auto","value": "0"} - ,{"name": "ColorSpace_Gamma","value": "1"} - ,{"name": "ColorSpace_Linear","value": "2"} -]} -, {"enumname": "vr::ETrackingResult","values": [ - {"name": "TrackingResult_Uninitialized","value": "1"} - ,{"name": "TrackingResult_Calibrating_InProgress","value": "100"} - ,{"name": "TrackingResult_Calibrating_OutOfRange","value": "101"} - ,{"name": "TrackingResult_Running_OK","value": "200"} - ,{"name": "TrackingResult_Running_OutOfRange","value": "201"} -]} -, {"enumname": "vr::ETrackedDeviceClass","values": [ - {"name": "TrackedDeviceClass_Invalid","value": "0"} - ,{"name": "TrackedDeviceClass_HMD","value": "1"} - ,{"name": "TrackedDeviceClass_Controller","value": "2"} - ,{"name": "TrackedDeviceClass_TrackingReference","value": "4"} - ,{"name": "TrackedDeviceClass_Other","value": "1000"} -]} -, {"enumname": "vr::ETrackedControllerRole","values": [ - {"name": "TrackedControllerRole_Invalid","value": "0"} - ,{"name": "TrackedControllerRole_LeftHand","value": "1"} - ,{"name": "TrackedControllerRole_RightHand","value": "2"} -]} -, {"enumname": "vr::ETrackingUniverseOrigin","values": [ - {"name": "TrackingUniverseSeated","value": "0"} - ,{"name": "TrackingUniverseStanding","value": "1"} - ,{"name": "TrackingUniverseRawAndUncalibrated","value": "2"} -]} -, {"enumname": "vr::ETrackedDeviceProperty","values": [ - {"name": "Prop_TrackingSystemName_String","value": "1000"} - ,{"name": "Prop_ModelNumber_String","value": "1001"} - ,{"name": "Prop_SerialNumber_String","value": "1002"} - ,{"name": "Prop_RenderModelName_String","value": "1003"} - ,{"name": "Prop_WillDriftInYaw_Bool","value": "1004"} - ,{"name": "Prop_ManufacturerName_String","value": "1005"} - ,{"name": "Prop_TrackingFirmwareVersion_String","value": "1006"} - ,{"name": "Prop_HardwareRevision_String","value": "1007"} - ,{"name": "Prop_AllWirelessDongleDescriptions_String","value": "1008"} - ,{"name": "Prop_ConnectedWirelessDongle_String","value": "1009"} - ,{"name": "Prop_DeviceIsWireless_Bool","value": "1010"} - ,{"name": "Prop_DeviceIsCharging_Bool","value": "1011"} - ,{"name": "Prop_DeviceBatteryPercentage_Float","value": "1012"} - ,{"name": "Prop_StatusDisplayTransform_Matrix34","value": "1013"} - ,{"name": "Prop_Firmware_UpdateAvailable_Bool","value": "1014"} - ,{"name": "Prop_Firmware_ManualUpdate_Bool","value": "1015"} - ,{"name": "Prop_Firmware_ManualUpdateURL_String","value": "1016"} - ,{"name": "Prop_HardwareRevision_Uint64","value": "1017"} - ,{"name": "Prop_FirmwareVersion_Uint64","value": "1018"} - ,{"name": "Prop_FPGAVersion_Uint64","value": "1019"} - ,{"name": "Prop_VRCVersion_Uint64","value": "1020"} - ,{"name": "Prop_RadioVersion_Uint64","value": "1021"} - ,{"name": "Prop_DongleVersion_Uint64","value": "1022"} - ,{"name": "Prop_BlockServerShutdown_Bool","value": "1023"} - ,{"name": "Prop_CanUnifyCoordinateSystemWithHmd_Bool","value": "1024"} - ,{"name": "Prop_ContainsProximitySensor_Bool","value": "1025"} - ,{"name": "Prop_DeviceProvidesBatteryStatus_Bool","value": "1026"} - ,{"name": "Prop_DeviceCanPowerOff_Bool","value": "1027"} - ,{"name": "Prop_Firmware_ProgrammingTarget_String","value": "1028"} - ,{"name": "Prop_DeviceClass_Int32","value": "1029"} - ,{"name": "Prop_HasCamera_Bool","value": "1030"} - ,{"name": "Prop_DriverVersion_String","value": "1031"} - ,{"name": "Prop_Firmware_ForceUpdateRequired_Bool","value": "1032"} - ,{"name": "Prop_ReportsTimeSinceVSync_Bool","value": "2000"} - ,{"name": "Prop_SecondsFromVsyncToPhotons_Float","value": "2001"} - ,{"name": "Prop_DisplayFrequency_Float","value": "2002"} - ,{"name": "Prop_UserIpdMeters_Float","value": "2003"} - ,{"name": "Prop_CurrentUniverseId_Uint64","value": "2004"} - ,{"name": "Prop_PreviousUniverseId_Uint64","value": "2005"} - ,{"name": "Prop_DisplayFirmwareVersion_Uint64","value": "2006"} - ,{"name": "Prop_IsOnDesktop_Bool","value": "2007"} - ,{"name": "Prop_DisplayMCType_Int32","value": "2008"} - ,{"name": "Prop_DisplayMCOffset_Float","value": "2009"} - ,{"name": "Prop_DisplayMCScale_Float","value": "2010"} - ,{"name": "Prop_EdidVendorID_Int32","value": "2011"} - ,{"name": "Prop_DisplayMCImageLeft_String","value": "2012"} - ,{"name": "Prop_DisplayMCImageRight_String","value": "2013"} - ,{"name": "Prop_DisplayGCBlackClamp_Float","value": "2014"} - ,{"name": "Prop_EdidProductID_Int32","value": "2015"} - ,{"name": "Prop_CameraToHeadTransform_Matrix34","value": "2016"} - ,{"name": "Prop_DisplayGCType_Int32","value": "2017"} - ,{"name": "Prop_DisplayGCOffset_Float","value": "2018"} - ,{"name": "Prop_DisplayGCScale_Float","value": "2019"} - ,{"name": "Prop_DisplayGCPrescale_Float","value": "2020"} - ,{"name": "Prop_DisplayGCImage_String","value": "2021"} - ,{"name": "Prop_LensCenterLeftU_Float","value": "2022"} - ,{"name": "Prop_LensCenterLeftV_Float","value": "2023"} - ,{"name": "Prop_LensCenterRightU_Float","value": "2024"} - ,{"name": "Prop_LensCenterRightV_Float","value": "2025"} - ,{"name": "Prop_UserHeadToEyeDepthMeters_Float","value": "2026"} - ,{"name": "Prop_CameraFirmwareVersion_Uint64","value": "2027"} - ,{"name": "Prop_CameraFirmwareDescription_String","value": "2028"} - ,{"name": "Prop_DisplayFPGAVersion_Uint64","value": "2029"} - ,{"name": "Prop_DisplayBootloaderVersion_Uint64","value": "2030"} - ,{"name": "Prop_DisplayHardwareVersion_Uint64","value": "2031"} - ,{"name": "Prop_AudioFirmwareVersion_Uint64","value": "2032"} - ,{"name": "Prop_CameraCompatibilityMode_Int32","value": "2033"} - ,{"name": "Prop_ScreenshotHorizontalFieldOfViewDegrees_Float","value": "2034"} - ,{"name": "Prop_ScreenshotVerticalFieldOfViewDegrees_Float","value": "2035"} - ,{"name": "Prop_DisplaySuppressed_Bool","value": "2036"} - ,{"name": "Prop_AttachedDeviceId_String","value": "3000"} - ,{"name": "Prop_SupportedButtons_Uint64","value": "3001"} - ,{"name": "Prop_Axis0Type_Int32","value": "3002"} - ,{"name": "Prop_Axis1Type_Int32","value": "3003"} - ,{"name": "Prop_Axis2Type_Int32","value": "3004"} - ,{"name": "Prop_Axis3Type_Int32","value": "3005"} - ,{"name": "Prop_Axis4Type_Int32","value": "3006"} - ,{"name": "Prop_FieldOfViewLeftDegrees_Float","value": "4000"} - ,{"name": "Prop_FieldOfViewRightDegrees_Float","value": "4001"} - ,{"name": "Prop_FieldOfViewTopDegrees_Float","value": "4002"} - ,{"name": "Prop_FieldOfViewBottomDegrees_Float","value": "4003"} - ,{"name": "Prop_TrackingRangeMinimumMeters_Float","value": "4004"} - ,{"name": "Prop_TrackingRangeMaximumMeters_Float","value": "4005"} - ,{"name": "Prop_ModeLabel_String","value": "4006"} - ,{"name": "Prop_VendorSpecific_Reserved_Start","value": "10000"} - ,{"name": "Prop_VendorSpecific_Reserved_End","value": "10999"} -]} -, {"enumname": "vr::ETrackedPropertyError","values": [ - {"name": "TrackedProp_Success","value": "0"} - ,{"name": "TrackedProp_WrongDataType","value": "1"} - ,{"name": "TrackedProp_WrongDeviceClass","value": "2"} - ,{"name": "TrackedProp_BufferTooSmall","value": "3"} - ,{"name": "TrackedProp_UnknownProperty","value": "4"} - ,{"name": "TrackedProp_InvalidDevice","value": "5"} - ,{"name": "TrackedProp_CouldNotContactServer","value": "6"} - ,{"name": "TrackedProp_ValueNotProvidedByDevice","value": "7"} - ,{"name": "TrackedProp_StringExceedsMaximumLength","value": "8"} - ,{"name": "TrackedProp_NotYetAvailable","value": "9"} -]} -, {"enumname": "vr::EVRSubmitFlags","values": [ - {"name": "Submit_Default","value": "0"} - ,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"} - ,{"name": "Submit_GlRenderBuffer","value": "2"} -]} -, {"enumname": "vr::EVRState","values": [ - {"name": "VRState_Undefined","value": "-1"} - ,{"name": "VRState_Off","value": "0"} - ,{"name": "VRState_Searching","value": "1"} - ,{"name": "VRState_Searching_Alert","value": "2"} - ,{"name": "VRState_Ready","value": "3"} - ,{"name": "VRState_Ready_Alert","value": "4"} - ,{"name": "VRState_NotReady","value": "5"} - ,{"name": "VRState_Standby","value": "6"} -]} -, {"enumname": "vr::EVREventType","values": [ - {"name": "VREvent_None","value": "0"} - ,{"name": "VREvent_TrackedDeviceActivated","value": "100"} - ,{"name": "VREvent_TrackedDeviceDeactivated","value": "101"} - ,{"name": "VREvent_TrackedDeviceUpdated","value": "102"} - ,{"name": "VREvent_TrackedDeviceUserInteractionStarted","value": "103"} - ,{"name": "VREvent_TrackedDeviceUserInteractionEnded","value": "104"} - ,{"name": "VREvent_IpdChanged","value": "105"} - ,{"name": "VREvent_EnterStandbyMode","value": "106"} - ,{"name": "VREvent_LeaveStandbyMode","value": "107"} - ,{"name": "VREvent_TrackedDeviceRoleChanged","value": "108"} - ,{"name": "VREvent_ButtonPress","value": "200"} - ,{"name": "VREvent_ButtonUnpress","value": "201"} - ,{"name": "VREvent_ButtonTouch","value": "202"} - ,{"name": "VREvent_ButtonUntouch","value": "203"} - ,{"name": "VREvent_MouseMove","value": "300"} - ,{"name": "VREvent_MouseButtonDown","value": "301"} - ,{"name": "VREvent_MouseButtonUp","value": "302"} - ,{"name": "VREvent_FocusEnter","value": "303"} - ,{"name": "VREvent_FocusLeave","value": "304"} - ,{"name": "VREvent_Scroll","value": "305"} - ,{"name": "VREvent_TouchPadMove","value": "306"} - ,{"name": "VREvent_InputFocusCaptured","value": "400"} - ,{"name": "VREvent_InputFocusReleased","value": "401"} - ,{"name": "VREvent_SceneFocusLost","value": "402"} - ,{"name": "VREvent_SceneFocusGained","value": "403"} - ,{"name": "VREvent_SceneApplicationChanged","value": "404"} - ,{"name": "VREvent_SceneFocusChanged","value": "405"} - ,{"name": "VREvent_InputFocusChanged","value": "406"} - ,{"name": "VREvent_SceneApplicationSecondaryRenderingStarted","value": "407"} - ,{"name": "VREvent_HideRenderModels","value": "410"} - ,{"name": "VREvent_ShowRenderModels","value": "411"} - ,{"name": "VREvent_OverlayShown","value": "500"} - ,{"name": "VREvent_OverlayHidden","value": "501"} - ,{"name": "VREvent_DashboardActivated","value": "502"} - ,{"name": "VREvent_DashboardDeactivated","value": "503"} - ,{"name": "VREvent_DashboardThumbSelected","value": "504"} - ,{"name": "VREvent_DashboardRequested","value": "505"} - ,{"name": "VREvent_ResetDashboard","value": "506"} - ,{"name": "VREvent_RenderToast","value": "507"} - ,{"name": "VREvent_ImageLoaded","value": "508"} - ,{"name": "VREvent_ShowKeyboard","value": "509"} - ,{"name": "VREvent_HideKeyboard","value": "510"} - ,{"name": "VREvent_OverlayGamepadFocusGained","value": "511"} - ,{"name": "VREvent_OverlayGamepadFocusLost","value": "512"} - ,{"name": "VREvent_OverlaySharedTextureChanged","value": "513"} - ,{"name": "VREvent_DashboardGuideButtonDown","value": "514"} - ,{"name": "VREvent_DashboardGuideButtonUp","value": "515"} - ,{"name": "VREvent_ScreenshotTriggered","value": "516"} - ,{"name": "VREvent_ImageFailed","value": "517"} - ,{"name": "VREvent_RequestScreenshot","value": "520"} - ,{"name": "VREvent_ScreenshotTaken","value": "521"} - ,{"name": "VREvent_ScreenshotFailed","value": "522"} - ,{"name": "VREvent_SubmitScreenshotToDashboard","value": "523"} - ,{"name": "VREvent_Notification_Shown","value": "600"} - ,{"name": "VREvent_Notification_Hidden","value": "601"} - ,{"name": "VREvent_Notification_BeginInteraction","value": "602"} - ,{"name": "VREvent_Notification_Destroyed","value": "603"} - ,{"name": "VREvent_Quit","value": "700"} - ,{"name": "VREvent_ProcessQuit","value": "701"} - ,{"name": "VREvent_QuitAborted_UserPrompt","value": "702"} - ,{"name": "VREvent_QuitAcknowledged","value": "703"} - ,{"name": "VREvent_DriverRequestedQuit","value": "704"} - ,{"name": "VREvent_ChaperoneDataHasChanged","value": "800"} - ,{"name": "VREvent_ChaperoneUniverseHasChanged","value": "801"} - ,{"name": "VREvent_ChaperoneTempDataHasChanged","value": "802"} - ,{"name": "VREvent_ChaperoneSettingsHaveChanged","value": "803"} - ,{"name": "VREvent_SeatedZeroPoseReset","value": "804"} - ,{"name": "VREvent_AudioSettingsHaveChanged","value": "820"} - ,{"name": "VREvent_BackgroundSettingHasChanged","value": "850"} - ,{"name": "VREvent_CameraSettingsHaveChanged","value": "851"} - ,{"name": "VREvent_ReprojectionSettingHasChanged","value": "852"} - ,{"name": "VREvent_ModelSkinSettingsHaveChanged","value": "853"} - ,{"name": "VREvent_EnvironmentSettingsHaveChanged","value": "854"} - ,{"name": "VREvent_StatusUpdate","value": "900"} - ,{"name": "VREvent_MCImageUpdated","value": "1000"} - ,{"name": "VREvent_FirmwareUpdateStarted","value": "1100"} - ,{"name": "VREvent_FirmwareUpdateFinished","value": "1101"} - ,{"name": "VREvent_KeyboardClosed","value": "1200"} - ,{"name": "VREvent_KeyboardCharInput","value": "1201"} - ,{"name": "VREvent_KeyboardDone","value": "1202"} - ,{"name": "VREvent_ApplicationTransitionStarted","value": "1300"} - ,{"name": "VREvent_ApplicationTransitionAborted","value": "1301"} - ,{"name": "VREvent_ApplicationTransitionNewAppStarted","value": "1302"} - ,{"name": "VREvent_ApplicationListUpdated","value": "1303"} - ,{"name": "VREvent_Compositor_MirrorWindowShown","value": "1400"} - ,{"name": "VREvent_Compositor_MirrorWindowHidden","value": "1401"} - ,{"name": "VREvent_Compositor_ChaperoneBoundsShown","value": "1410"} - ,{"name": "VREvent_Compositor_ChaperoneBoundsHidden","value": "1411"} - ,{"name": "VREvent_TrackedCamera_StartVideoStream","value": "1500"} - ,{"name": "VREvent_TrackedCamera_StopVideoStream","value": "1501"} - ,{"name": "VREvent_TrackedCamera_PauseVideoStream","value": "1502"} - ,{"name": "VREvent_TrackedCamera_ResumeVideoStream","value": "1503"} - ,{"name": "VREvent_PerformanceTest_EnableCapture","value": "1600"} - ,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"} - ,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"} - ,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"} - ,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"} -]} -, {"enumname": "vr::EDeviceActivityLevel","values": [ - {"name": "k_EDeviceActivityLevel_Unknown","value": "-1"} - ,{"name": "k_EDeviceActivityLevel_Idle","value": "0"} - ,{"name": "k_EDeviceActivityLevel_UserInteraction","value": "1"} - ,{"name": "k_EDeviceActivityLevel_UserInteraction_Timeout","value": "2"} - ,{"name": "k_EDeviceActivityLevel_Standby","value": "3"} -]} -, {"enumname": "vr::EVRButtonId","values": [ - {"name": "k_EButton_System","value": "0"} - ,{"name": "k_EButton_ApplicationMenu","value": "1"} - ,{"name": "k_EButton_Grip","value": "2"} - ,{"name": "k_EButton_DPad_Left","value": "3"} - ,{"name": "k_EButton_DPad_Up","value": "4"} - ,{"name": "k_EButton_DPad_Right","value": "5"} - ,{"name": "k_EButton_DPad_Down","value": "6"} - ,{"name": "k_EButton_A","value": "7"} - ,{"name": "k_EButton_Axis0","value": "32"} - ,{"name": "k_EButton_Axis1","value": "33"} - ,{"name": "k_EButton_Axis2","value": "34"} - ,{"name": "k_EButton_Axis3","value": "35"} - ,{"name": "k_EButton_Axis4","value": "36"} - ,{"name": "k_EButton_SteamVR_Touchpad","value": "32"} - ,{"name": "k_EButton_SteamVR_Trigger","value": "33"} - ,{"name": "k_EButton_Dashboard_Back","value": "2"} - ,{"name": "k_EButton_Max","value": "64"} -]} -, {"enumname": "vr::EVRMouseButton","values": [ - {"name": "VRMouseButton_Left","value": "1"} - ,{"name": "VRMouseButton_Right","value": "2"} - ,{"name": "VRMouseButton_Middle","value": "4"} -]} -, {"enumname": "vr::EVRControllerAxisType","values": [ - {"name": "k_eControllerAxis_None","value": "0"} - ,{"name": "k_eControllerAxis_TrackPad","value": "1"} - ,{"name": "k_eControllerAxis_Joystick","value": "2"} - ,{"name": "k_eControllerAxis_Trigger","value": "3"} -]} -, {"enumname": "vr::EVRControllerEventOutputType","values": [ - {"name": "ControllerEventOutput_OSEvents","value": "0"} - ,{"name": "ControllerEventOutput_VREvents","value": "1"} -]} -, {"enumname": "vr::ECollisionBoundsStyle","values": [ - {"name": "COLLISION_BOUNDS_STYLE_BEGINNER","value": "0"} - ,{"name": "COLLISION_BOUNDS_STYLE_INTERMEDIATE","value": "1"} - ,{"name": "COLLISION_BOUNDS_STYLE_SQUARES","value": "2"} - ,{"name": "COLLISION_BOUNDS_STYLE_ADVANCED","value": "3"} - ,{"name": "COLLISION_BOUNDS_STYLE_NONE","value": "4"} - ,{"name": "COLLISION_BOUNDS_STYLE_COUNT","value": "5"} -]} -, {"enumname": "vr::EVROverlayError","values": [ - {"name": "VROverlayError_None","value": "0"} - ,{"name": "VROverlayError_UnknownOverlay","value": "10"} - ,{"name": "VROverlayError_InvalidHandle","value": "11"} - ,{"name": "VROverlayError_PermissionDenied","value": "12"} - ,{"name": "VROverlayError_OverlayLimitExceeded","value": "13"} - ,{"name": "VROverlayError_WrongVisibilityType","value": "14"} - ,{"name": "VROverlayError_KeyTooLong","value": "15"} - ,{"name": "VROverlayError_NameTooLong","value": "16"} - ,{"name": "VROverlayError_KeyInUse","value": "17"} - ,{"name": "VROverlayError_WrongTransformType","value": "18"} - ,{"name": "VROverlayError_InvalidTrackedDevice","value": "19"} - ,{"name": "VROverlayError_InvalidParameter","value": "20"} - ,{"name": "VROverlayError_ThumbnailCantBeDestroyed","value": "21"} - ,{"name": "VROverlayError_ArrayTooSmall","value": "22"} - ,{"name": "VROverlayError_RequestFailed","value": "23"} - ,{"name": "VROverlayError_InvalidTexture","value": "24"} - ,{"name": "VROverlayError_UnableToLoadFile","value": "25"} - ,{"name": "VROVerlayError_KeyboardAlreadyInUse","value": "26"} - ,{"name": "VROverlayError_NoNeighbor","value": "27"} -]} -, {"enumname": "vr::EVRApplicationType","values": [ - {"name": "VRApplication_Other","value": "0"} - ,{"name": "VRApplication_Scene","value": "1"} - ,{"name": "VRApplication_Overlay","value": "2"} - ,{"name": "VRApplication_Background","value": "3"} - ,{"name": "VRApplication_Utility","value": "4"} - ,{"name": "VRApplication_VRMonitor","value": "5"} -]} -, {"enumname": "vr::EVRFirmwareError","values": [ - {"name": "VRFirmwareError_None","value": "0"} - ,{"name": "VRFirmwareError_Success","value": "1"} - ,{"name": "VRFirmwareError_Fail","value": "2"} -]} -, {"enumname": "vr::EVRNotificationError","values": [ - {"name": "VRNotificationError_OK","value": "0"} - ,{"name": "VRNotificationError_InvalidNotificationId","value": "100"} - ,{"name": "VRNotificationError_NotificationQueueFull","value": "101"} - ,{"name": "VRNotificationError_InvalidOverlayHandle","value": "102"} - ,{"name": "VRNotificationError_SystemWithUserValueAlreadyExists","value": "103"} -]} -, {"enumname": "vr::EVRInitError","values": [ - {"name": "VRInitError_None","value": "0"} - ,{"name": "VRInitError_Unknown","value": "1"} - ,{"name": "VRInitError_Init_InstallationNotFound","value": "100"} - ,{"name": "VRInitError_Init_InstallationCorrupt","value": "101"} - ,{"name": "VRInitError_Init_VRClientDLLNotFound","value": "102"} - ,{"name": "VRInitError_Init_FileNotFound","value": "103"} - ,{"name": "VRInitError_Init_FactoryNotFound","value": "104"} - ,{"name": "VRInitError_Init_InterfaceNotFound","value": "105"} - ,{"name": "VRInitError_Init_InvalidInterface","value": "106"} - ,{"name": "VRInitError_Init_UserConfigDirectoryInvalid","value": "107"} - ,{"name": "VRInitError_Init_HmdNotFound","value": "108"} - ,{"name": "VRInitError_Init_NotInitialized","value": "109"} - ,{"name": "VRInitError_Init_PathRegistryNotFound","value": "110"} - ,{"name": "VRInitError_Init_NoConfigPath","value": "111"} - ,{"name": "VRInitError_Init_NoLogPath","value": "112"} - ,{"name": "VRInitError_Init_PathRegistryNotWritable","value": "113"} - ,{"name": "VRInitError_Init_AppInfoInitFailed","value": "114"} - ,{"name": "VRInitError_Init_Retry","value": "115"} - ,{"name": "VRInitError_Init_InitCanceledByUser","value": "116"} - ,{"name": "VRInitError_Init_AnotherAppLaunching","value": "117"} - ,{"name": "VRInitError_Init_SettingsInitFailed","value": "118"} - ,{"name": "VRInitError_Init_ShuttingDown","value": "119"} - ,{"name": "VRInitError_Init_TooManyObjects","value": "120"} - ,{"name": "VRInitError_Init_NoServerForBackgroundApp","value": "121"} - ,{"name": "VRInitError_Init_NotSupportedWithCompositor","value": "122"} - ,{"name": "VRInitError_Init_NotAvailableToUtilityApps","value": "123"} - ,{"name": "VRInitError_Init_Internal","value": "124"} - ,{"name": "VRInitError_Driver_Failed","value": "200"} - ,{"name": "VRInitError_Driver_Unknown","value": "201"} - ,{"name": "VRInitError_Driver_HmdUnknown","value": "202"} - ,{"name": "VRInitError_Driver_NotLoaded","value": "203"} - ,{"name": "VRInitError_Driver_RuntimeOutOfDate","value": "204"} - ,{"name": "VRInitError_Driver_HmdInUse","value": "205"} - ,{"name": "VRInitError_Driver_NotCalibrated","value": "206"} - ,{"name": "VRInitError_Driver_CalibrationInvalid","value": "207"} - ,{"name": "VRInitError_Driver_HmdDisplayNotFound","value": "208"} - ,{"name": "VRInitError_IPC_ServerInitFailed","value": "300"} - ,{"name": "VRInitError_IPC_ConnectFailed","value": "301"} - ,{"name": "VRInitError_IPC_SharedStateInitFailed","value": "302"} - ,{"name": "VRInitError_IPC_CompositorInitFailed","value": "303"} - ,{"name": "VRInitError_IPC_MutexInitFailed","value": "304"} - ,{"name": "VRInitError_IPC_Failed","value": "305"} - ,{"name": "VRInitError_Compositor_Failed","value": "400"} - ,{"name": "VRInitError_Compositor_D3D11HardwareRequired","value": "401"} - ,{"name": "VRInitError_Compositor_FirmwareRequiresUpdate","value": "402"} - ,{"name": "VRInitError_Compositor_OverlayInitFailed","value": "403"} - ,{"name": "VRInitError_Compositor_ScreenshotsInitFailed","value": "404"} - ,{"name": "VRInitError_VendorSpecific_UnableToConnectToOculusRuntime","value": "1000"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_CantOpenDevice","value": "1101"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart","value": "1102"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_NoStoredConfig","value": "1103"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigTooBig","value": "1104"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigTooSmall","value": "1105"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToInitZLib","value": "1106"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion","value": "1107"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart","value": "1108"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart","value": "1109"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext","value": "1110"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataAddressRange","value": "1111"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataError","value": "1112"} - ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck","value": "1113"} - ,{"name": "VRInitError_Steam_SteamInstallationNotFound","value": "2000"} -]} -, {"enumname": "vr::EVRScreenshotType","values": [ - {"name": "VRScreenshotType_None","value": "0"} - ,{"name": "VRScreenshotType_Mono","value": "1"} - ,{"name": "VRScreenshotType_Stereo","value": "2"} - ,{"name": "VRScreenshotType_Cubemap","value": "3"} - ,{"name": "VRScreenshotType_MonoPanorama","value": "4"} - ,{"name": "VRScreenshotType_StereoPanorama","value": "5"} -]} -, {"enumname": "vr::EVRScreenshotPropertyFilenames","values": [ - {"name": "VRScreenshotPropertyFilenames_Preview","value": "0"} - ,{"name": "VRScreenshotPropertyFilenames_VR","value": "1"} -]} -, {"enumname": "vr::EVRTrackedCameraError","values": [ - {"name": "VRTrackedCameraError_None","value": "0"} - ,{"name": "VRTrackedCameraError_OperationFailed","value": "100"} - ,{"name": "VRTrackedCameraError_InvalidHandle","value": "101"} - ,{"name": "VRTrackedCameraError_InvalidFrameHeaderVersion","value": "102"} - ,{"name": "VRTrackedCameraError_OutOfHandles","value": "103"} - ,{"name": "VRTrackedCameraError_IPCFailure","value": "104"} - ,{"name": "VRTrackedCameraError_NotSupportedForThisDevice","value": "105"} - ,{"name": "VRTrackedCameraError_SharedMemoryFailure","value": "106"} - ,{"name": "VRTrackedCameraError_FrameBufferingFailure","value": "107"} - ,{"name": "VRTrackedCameraError_StreamSetupFailure","value": "108"} - ,{"name": "VRTrackedCameraError_InvalidGLTextureId","value": "109"} - ,{"name": "VRTrackedCameraError_InvalidSharedTextureHandle","value": "110"} - ,{"name": "VRTrackedCameraError_FailedToGetGLTextureId","value": "111"} - ,{"name": "VRTrackedCameraError_SharedTextureFailure","value": "112"} - ,{"name": "VRTrackedCameraError_NoFrameAvailable","value": "113"} - ,{"name": "VRTrackedCameraError_InvalidArgument","value": "114"} - ,{"name": "VRTrackedCameraError_InvalidFrameBufferSize","value": "115"} -]} -, {"enumname": "vr::EVRTrackedCameraFrameType","values": [ - {"name": "VRTrackedCameraFrameType_Distorted","value": "0"} - ,{"name": "VRTrackedCameraFrameType_Undistorted","value": "1"} - ,{"name": "VRTrackedCameraFrameType_MaximumUndistorted","value": "2"} - ,{"name": "MAX_CAMERA_FRAME_TYPES","value": "3"} -]} -, {"enumname": "vr::EVRApplicationError","values": [ - {"name": "VRApplicationError_None","value": "0"} - ,{"name": "VRApplicationError_AppKeyAlreadyExists","value": "100"} - ,{"name": "VRApplicationError_NoManifest","value": "101"} - ,{"name": "VRApplicationError_NoApplication","value": "102"} - ,{"name": "VRApplicationError_InvalidIndex","value": "103"} - ,{"name": "VRApplicationError_UnknownApplication","value": "104"} - ,{"name": "VRApplicationError_IPCFailed","value": "105"} - ,{"name": "VRApplicationError_ApplicationAlreadyRunning","value": "106"} - ,{"name": "VRApplicationError_InvalidManifest","value": "107"} - ,{"name": "VRApplicationError_InvalidApplication","value": "108"} - ,{"name": "VRApplicationError_LaunchFailed","value": "109"} - ,{"name": "VRApplicationError_ApplicationAlreadyStarting","value": "110"} - ,{"name": "VRApplicationError_LaunchInProgress","value": "111"} - ,{"name": "VRApplicationError_OldApplicationQuitting","value": "112"} - ,{"name": "VRApplicationError_TransitionAborted","value": "113"} - ,{"name": "VRApplicationError_IsTemplate","value": "114"} - ,{"name": "VRApplicationError_BufferTooSmall","value": "200"} - ,{"name": "VRApplicationError_PropertyNotSet","value": "201"} - ,{"name": "VRApplicationError_UnknownProperty","value": "202"} - ,{"name": "VRApplicationError_InvalidParameter","value": "203"} -]} -, {"enumname": "vr::EVRApplicationProperty","values": [ - {"name": "VRApplicationProperty_Name_String","value": "0"} - ,{"name": "VRApplicationProperty_LaunchType_String","value": "11"} - ,{"name": "VRApplicationProperty_WorkingDirectory_String","value": "12"} - ,{"name": "VRApplicationProperty_BinaryPath_String","value": "13"} - ,{"name": "VRApplicationProperty_Arguments_String","value": "14"} - ,{"name": "VRApplicationProperty_URL_String","value": "15"} - ,{"name": "VRApplicationProperty_Description_String","value": "50"} - ,{"name": "VRApplicationProperty_NewsURL_String","value": "51"} - ,{"name": "VRApplicationProperty_ImagePath_String","value": "52"} - ,{"name": "VRApplicationProperty_Source_String","value": "53"} - ,{"name": "VRApplicationProperty_IsDashboardOverlay_Bool","value": "60"} - ,{"name": "VRApplicationProperty_IsTemplate_Bool","value": "61"} - ,{"name": "VRApplicationProperty_IsInstanced_Bool","value": "62"} - ,{"name": "VRApplicationProperty_LastLaunchTime_Uint64","value": "70"} -]} -, {"enumname": "vr::EVRApplicationTransitionState","values": [ - {"name": "VRApplicationTransition_None","value": "0"} - ,{"name": "VRApplicationTransition_OldAppQuitSent","value": "10"} - ,{"name": "VRApplicationTransition_WaitingForExternalLaunch","value": "11"} - ,{"name": "VRApplicationTransition_NewAppLaunched","value": "20"} -]} -, {"enumname": "vr::ChaperoneCalibrationState","values": [ - {"name": "ChaperoneCalibrationState_OK","value": "1"} - ,{"name": "ChaperoneCalibrationState_Warning","value": "100"} - ,{"name": "ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved","value": "101"} - ,{"name": "ChaperoneCalibrationState_Warning_BaseStationRemoved","value": "102"} - ,{"name": "ChaperoneCalibrationState_Warning_SeatedBoundsInvalid","value": "103"} - ,{"name": "ChaperoneCalibrationState_Error","value": "200"} - ,{"name": "ChaperoneCalibrationState_Error_BaseStationUninitalized","value": "201"} - ,{"name": "ChaperoneCalibrationState_Error_BaseStationConflict","value": "202"} - ,{"name": "ChaperoneCalibrationState_Error_PlayAreaInvalid","value": "203"} - ,{"name": "ChaperoneCalibrationState_Error_CollisionBoundsInvalid","value": "204"} -]} -, {"enumname": "vr::EChaperoneConfigFile","values": [ - {"name": "EChaperoneConfigFile_Live","value": "1"} - ,{"name": "EChaperoneConfigFile_Temp","value": "2"} -]} -, {"enumname": "vr::EChaperoneImportFlags","values": [ - {"name": "EChaperoneImport_BoundsOnly","value": "1"} -]} -, {"enumname": "vr::EVRCompositorError","values": [ - {"name": "VRCompositorError_None","value": "0"} - ,{"name": "VRCompositorError_RequestFailed","value": "1"} - ,{"name": "VRCompositorError_IncompatibleVersion","value": "100"} - ,{"name": "VRCompositorError_DoNotHaveFocus","value": "101"} - ,{"name": "VRCompositorError_InvalidTexture","value": "102"} - ,{"name": "VRCompositorError_IsNotSceneApplication","value": "103"} - ,{"name": "VRCompositorError_TextureIsOnWrongDevice","value": "104"} - ,{"name": "VRCompositorError_TextureUsesUnsupportedFormat","value": "105"} - ,{"name": "VRCompositorError_SharedTexturesNotSupported","value": "106"} - ,{"name": "VRCompositorError_IndexOutOfRange","value": "107"} -]} -, {"enumname": "vr::VROverlayInputMethod","values": [ - {"name": "VROverlayInputMethod_None","value": "0"} - ,{"name": "VROverlayInputMethod_Mouse","value": "1"} -]} -, {"enumname": "vr::VROverlayTransformType","values": [ - {"name": "VROverlayTransform_Absolute","value": "0"} - ,{"name": "VROverlayTransform_TrackedDeviceRelative","value": "1"} - ,{"name": "VROverlayTransform_SystemOverlay","value": "2"} - ,{"name": "VROverlayTransform_TrackedComponent","value": "3"} -]} -, {"enumname": "vr::VROverlayFlags","values": [ - {"name": "VROverlayFlags_None","value": "0"} - ,{"name": "VROverlayFlags_Curved","value": "1"} - ,{"name": "VROverlayFlags_RGSS4X","value": "2"} - ,{"name": "VROverlayFlags_NoDashboardTab","value": "3"} - ,{"name": "VROverlayFlags_AcceptsGamepadEvents","value": "4"} - ,{"name": "VROverlayFlags_ShowGamepadFocus","value": "5"} - ,{"name": "VROverlayFlags_SendVRScrollEvents","value": "6"} - ,{"name": "VROverlayFlags_SendVRTouchpadEvents","value": "7"} - ,{"name": "VROverlayFlags_ShowTouchPadScrollWheel","value": "8"} - ,{"name": "VROverlayFlags_TransferOwnershipToInternalProcess","value": "9"} - ,{"name": "VROverlayFlags_SideBySide_Parallel","value": "10"} - ,{"name": "VROverlayFlags_SideBySide_Crossed","value": "11"} - ,{"name": "VROverlayFlags_Panorama","value": "12"} - ,{"name": "VROverlayFlags_StereoPanorama","value": "13"} -]} -, {"enumname": "vr::EGamepadTextInputMode","values": [ - {"name": "k_EGamepadTextInputModeNormal","value": "0"} - ,{"name": "k_EGamepadTextInputModePassword","value": "1"} - ,{"name": "k_EGamepadTextInputModeSubmit","value": "2"} -]} -, {"enumname": "vr::EGamepadTextInputLineMode","values": [ - {"name": "k_EGamepadTextInputLineModeSingleLine","value": "0"} - ,{"name": "k_EGamepadTextInputLineModeMultipleLines","value": "1"} -]} -, {"enumname": "vr::EOverlayDirection","values": [ - {"name": "OverlayDirection_Up","value": "0"} - ,{"name": "OverlayDirection_Down","value": "1"} - ,{"name": "OverlayDirection_Left","value": "2"} - ,{"name": "OverlayDirection_Right","value": "3"} - ,{"name": "OverlayDirection_Count","value": "4"} -]} -, {"enumname": "vr::EVRRenderModelError","values": [ - {"name": "VRRenderModelError_None","value": "0"} - ,{"name": "VRRenderModelError_Loading","value": "100"} - ,{"name": "VRRenderModelError_NotSupported","value": "200"} - ,{"name": "VRRenderModelError_InvalidArg","value": "300"} - ,{"name": "VRRenderModelError_InvalidModel","value": "301"} - ,{"name": "VRRenderModelError_NoShapes","value": "302"} - ,{"name": "VRRenderModelError_MultipleShapes","value": "303"} - ,{"name": "VRRenderModelError_TooManyVertices","value": "304"} - ,{"name": "VRRenderModelError_MultipleTextures","value": "305"} - ,{"name": "VRRenderModelError_BufferTooSmall","value": "306"} - ,{"name": "VRRenderModelError_NotEnoughNormals","value": "307"} - ,{"name": "VRRenderModelError_NotEnoughTexCoords","value": "308"} - ,{"name": "VRRenderModelError_InvalidTexture","value": "400"} -]} -, {"enumname": "vr::EVRComponentProperty","values": [ - {"name": "VRComponentProperty_IsStatic","value": "1"} - ,{"name": "VRComponentProperty_IsVisible","value": "2"} - ,{"name": "VRComponentProperty_IsTouched","value": "4"} - ,{"name": "VRComponentProperty_IsPressed","value": "8"} - ,{"name": "VRComponentProperty_IsScrolled","value": "16"} -]} -, {"enumname": "vr::EVRNotificationType","values": [ - {"name": "EVRNotificationType_Transient","value": "0"} - ,{"name": "EVRNotificationType_Persistent","value": "1"} - ,{"name": "EVRNotificationType_Transient_SystemWithUserValue","value": "2"} -]} -, {"enumname": "vr::EVRNotificationStyle","values": [ - {"name": "EVRNotificationStyle_None","value": "0"} - ,{"name": "EVRNotificationStyle_Application","value": "100"} - ,{"name": "EVRNotificationStyle_Contact_Disabled","value": "200"} - ,{"name": "EVRNotificationStyle_Contact_Enabled","value": "201"} - ,{"name": "EVRNotificationStyle_Contact_Active","value": "202"} -]} -, {"enumname": "vr::EVRSettingsError","values": [ - {"name": "VRSettingsError_None","value": "0"} - ,{"name": "VRSettingsError_IPCFailed","value": "1"} - ,{"name": "VRSettingsError_WriteFailed","value": "2"} - ,{"name": "VRSettingsError_ReadFailed","value": "3"} -]} -, {"enumname": "vr::EVRScreenshotError","values": [ - {"name": "VRScreenshotError_None","value": "0"} - ,{"name": "VRScreenshotError_RequestFailed","value": "1"} - ,{"name": "VRScreenshotError_IncompatibleVersion","value": "100"} - ,{"name": "VRScreenshotError_NotFound","value": "101"} - ,{"name": "VRScreenshotError_BufferTooSmall","value": "102"} - ,{"name": "VRScreenshotError_ScreenshotAlreadyInProgress","value": "108"} -]} -], -"consts":[{ - "constname": "k_unTrackingStringSize","consttype": "const uint32_t", "constval": "32"} -,{ - "constname": "k_unMaxDriverDebugResponseSize","consttype": "const uint32_t", "constval": "32768"} -,{ - "constname": "k_unTrackedDeviceIndex_Hmd","consttype": "const uint32_t", "constval": "0"} -,{ - "constname": "k_unMaxTrackedDeviceCount","consttype": "const uint32_t", "constval": "16"} -,{ - "constname": "k_unTrackedDeviceIndexOther","consttype": "const uint32_t", "constval": "4294967294"} -,{ - "constname": "k_unTrackedDeviceIndexInvalid","consttype": "const uint32_t", "constval": "4294967295"} -,{ - "constname": "k_unMaxPropertyStringSize","consttype": "const uint32_t", "constval": "32768"} -,{ - "constname": "k_unControllerStateAxisCount","consttype": "const uint32_t", "constval": "5"} -,{ - "constname": "k_ulOverlayHandleInvalid","consttype": "const VROverlayHandle_t", "constval": "0"} -,{ - "constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"} -,{ - "constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_012"} -,{ - "constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"} -,{ - "constname": "IVRTrackedCamera_Version","consttype": "const char *const", "constval": "IVRTrackedCamera_003"} -,{ - "constname": "k_unMaxApplicationKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "IVRApplications_Version","consttype": "const char *const", "constval": "IVRApplications_005"} -,{ - "constname": "IVRChaperone_Version","consttype": "const char *const", "constval": "IVRChaperone_003"} -,{ - "constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"} -,{ - "constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_015"} -,{ - "constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "k_unVROverlayMaxNameLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "k_unMaxOverlayCount","consttype": "const uint32_t", "constval": "32"} -,{ - "constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_012"} -,{ - "constname": "k_pch_Controller_Component_GDC2015","consttype": "const char *const", "constval": "gdc2015"} -,{ - "constname": "k_pch_Controller_Component_Base","consttype": "const char *const", "constval": "base"} -,{ - "constname": "k_pch_Controller_Component_Tip","consttype": "const char *const", "constval": "tip"} -,{ - "constname": "k_pch_Controller_Component_HandGrip","consttype": "const char *const", "constval": "handgrip"} -,{ - "constname": "k_pch_Controller_Component_Status","consttype": "const char *const", "constval": "status"} -,{ - "constname": "IVRRenderModels_Version","consttype": "const char *const", "constval": "IVRRenderModels_005"} -,{ - "constname": "k_unNotificationTextMaxSize","consttype": "const uint32_t", "constval": "256"} -,{ - "constname": "IVRNotifications_Version","consttype": "const char *const", "constval": "IVRNotifications_002"} -,{ - "constname": "k_unMaxSettingsKeyLength","consttype": "const uint32_t", "constval": "128"} -,{ - "constname": "IVRSettings_Version","consttype": "const char *const", "constval": "IVRSettings_001"} -,{ - "constname": "k_pch_SteamVR_Section","consttype": "const char *const", "constval": "steamvr"} -,{ - "constname": "k_pch_SteamVR_RequireHmd_String","consttype": "const char *const", "constval": "requireHmd"} -,{ - "constname": "k_pch_SteamVR_ForcedDriverKey_String","consttype": "const char *const", "constval": "forcedDriver"} -,{ - "constname": "k_pch_SteamVR_ForcedHmdKey_String","consttype": "const char *const", "constval": "forcedHmd"} -,{ - "constname": "k_pch_SteamVR_DisplayDebug_Bool","consttype": "const char *const", "constval": "displayDebug"} -,{ - "constname": "k_pch_SteamVR_DebugProcessPipe_String","consttype": "const char *const", "constval": "debugProcessPipe"} -,{ - "constname": "k_pch_SteamVR_EnableDistortion_Bool","consttype": "const char *const", "constval": "enableDistortion"} -,{ - "constname": "k_pch_SteamVR_DisplayDebugX_Int32","consttype": "const char *const", "constval": "displayDebugX"} -,{ - "constname": "k_pch_SteamVR_DisplayDebugY_Int32","consttype": "const char *const", "constval": "displayDebugY"} -,{ - "constname": "k_pch_SteamVR_SendSystemButtonToAllApps_Bool","consttype": "const char *const", "constval": "sendSystemButtonToAllApps"} -,{ - "constname": "k_pch_SteamVR_LogLevel_Int32","consttype": "const char *const", "constval": "loglevel"} -,{ - "constname": "k_pch_SteamVR_IPD_Float","consttype": "const char *const", "constval": "ipd"} -,{ - "constname": "k_pch_SteamVR_Background_String","consttype": "const char *const", "constval": "background"} -,{ - "constname": "k_pch_SteamVR_BackgroundCameraHeight_Float","consttype": "const char *const", "constval": "backgroundCameraHeight"} -,{ - "constname": "k_pch_SteamVR_BackgroundDomeRadius_Float","consttype": "const char *const", "constval": "backgroundDomeRadius"} -,{ - "constname": "k_pch_SteamVR_Environment_String","consttype": "const char *const", "constval": "environment"} -,{ - "constname": "k_pch_SteamVR_GridColor_String","consttype": "const char *const", "constval": "gridColor"} -,{ - "constname": "k_pch_SteamVR_PlayAreaColor_String","consttype": "const char *const", "constval": "playAreaColor"} -,{ - "constname": "k_pch_SteamVR_ShowStage_Bool","consttype": "const char *const", "constval": "showStage"} -,{ - "constname": "k_pch_SteamVR_ActivateMultipleDrivers_Bool","consttype": "const char *const", "constval": "activateMultipleDrivers"} -,{ - "constname": "k_pch_SteamVR_PowerOffOnExit_Bool","consttype": "const char *const", "constval": "powerOffOnExit"} -,{ - "constname": "k_pch_SteamVR_StandbyAppRunningTimeout_Float","consttype": "const char *const", "constval": "standbyAppRunningTimeout"} -,{ - "constname": "k_pch_SteamVR_StandbyNoAppTimeout_Float","consttype": "const char *const", "constval": "standbyNoAppTimeout"} -,{ - "constname": "k_pch_SteamVR_DirectMode_Bool","consttype": "const char *const", "constval": "directMode"} -,{ - "constname": "k_pch_SteamVR_DirectModeEdidVid_Int32","consttype": "const char *const", "constval": "directModeEdidVid"} -,{ - "constname": "k_pch_SteamVR_DirectModeEdidPid_Int32","consttype": "const char *const", "constval": "directModeEdidPid"} -,{ - "constname": "k_pch_SteamVR_UsingSpeakers_Bool","consttype": "const char *const", "constval": "usingSpeakers"} -,{ - "constname": "k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float","consttype": "const char *const", "constval": "speakersForwardYawOffsetDegrees"} -,{ - "constname": "k_pch_SteamVR_BaseStationPowerManagement_Bool","consttype": "const char *const", "constval": "basestationPowerManagement"} -,{ - "constname": "k_pch_SteamVR_NeverKillProcesses_Bool","consttype": "const char *const", "constval": "neverKillProcesses"} -,{ - "constname": "k_pch_SteamVR_RenderTargetMultiplier_Float","consttype": "const char *const", "constval": "renderTargetMultiplier"} -,{ - "constname": "k_pch_SteamVR_AllowReprojection_Bool","consttype": "const char *const", "constval": "allowReprojection"} -,{ - "constname": "k_pch_SteamVR_ForceReprojection_Bool","consttype": "const char *const", "constval": "forceReprojection"} -,{ - "constname": "k_pch_SteamVR_ForceFadeOnBadTracking_Bool","consttype": "const char *const", "constval": "forceFadeOnBadTracking"} -,{ - "constname": "k_pch_SteamVR_DefaultMirrorView_Int32","consttype": "const char *const", "constval": "defaultMirrorView"} -,{ - "constname": "k_pch_SteamVR_ShowMirrorView_Bool","consttype": "const char *const", "constval": "showMirrorView"} -,{ - "constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"} -,{ - "constname": "k_pch_Lighthouse_DisableIMU_Bool","consttype": "const char *const", "constval": "disableimu"} -,{ - "constname": "k_pch_Lighthouse_UseDisambiguation_String","consttype": "const char *const", "constval": "usedisambiguation"} -,{ - "constname": "k_pch_Lighthouse_DisambiguationDebug_Int32","consttype": "const char *const", "constval": "disambiguationdebug"} -,{ - "constname": "k_pch_Lighthouse_PrimaryBasestation_Int32","consttype": "const char *const", "constval": "primarybasestation"} -,{ - "constname": "k_pch_Lighthouse_LighthouseName_String","consttype": "const char *const", "constval": "lighthousename"} -,{ - "constname": "k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float","consttype": "const char *const", "constval": "maxincidenceangledegrees"} -,{ - "constname": "k_pch_Lighthouse_UseLighthouseDirect_Bool","consttype": "const char *const", "constval": "uselighthousedirect"} -,{ - "constname": "k_pch_Lighthouse_DBHistory_Bool","consttype": "const char *const", "constval": "dbhistory"} -,{ - "constname": "k_pch_Null_Section","consttype": "const char *const", "constval": "driver_null"} -,{ - "constname": "k_pch_Null_EnableNullDriver_Bool","consttype": "const char *const", "constval": "enable"} -,{ - "constname": "k_pch_Null_SerialNumber_String","consttype": "const char *const", "constval": "serialNumber"} -,{ - "constname": "k_pch_Null_ModelNumber_String","consttype": "const char *const", "constval": "modelNumber"} -,{ - "constname": "k_pch_Null_WindowX_Int32","consttype": "const char *const", "constval": "windowX"} -,{ - "constname": "k_pch_Null_WindowY_Int32","consttype": "const char *const", "constval": "windowY"} -,{ - "constname": "k_pch_Null_WindowWidth_Int32","consttype": "const char *const", "constval": "windowWidth"} -,{ - "constname": "k_pch_Null_WindowHeight_Int32","consttype": "const char *const", "constval": "windowHeight"} -,{ - "constname": "k_pch_Null_RenderWidth_Int32","consttype": "const char *const", "constval": "renderWidth"} -,{ - "constname": "k_pch_Null_RenderHeight_Int32","consttype": "const char *const", "constval": "renderHeight"} -,{ - "constname": "k_pch_Null_SecondsFromVsyncToPhotons_Float","consttype": "const char *const", "constval": "secondsFromVsyncToPhotons"} -,{ - "constname": "k_pch_Null_DisplayFrequency_Float","consttype": "const char *const", "constval": "displayFrequency"} -,{ - "constname": "k_pch_UserInterface_Section","consttype": "const char *const", "constval": "userinterface"} -,{ - "constname": "k_pch_UserInterface_StatusAlwaysOnTop_Bool","consttype": "const char *const", "constval": "StatusAlwaysOnTop"} -,{ - "constname": "k_pch_UserInterface_EnableScreenshots_Bool","consttype": "const char *const", "constval": "EnableScreenshots"} -,{ - "constname": "k_pch_Notifications_Section","consttype": "const char *const", "constval": "notifications"} -,{ - "constname": "k_pch_Notifications_DoNotDisturb_Bool","consttype": "const char *const", "constval": "DoNotDisturb"} -,{ - "constname": "k_pch_Keyboard_Section","consttype": "const char *const", "constval": "keyboard"} -,{ - "constname": "k_pch_Keyboard_TutorialCompletions","consttype": "const char *const", "constval": "TutorialCompletions"} -,{ - "constname": "k_pch_Keyboard_ScaleX","consttype": "const char *const", "constval": "ScaleX"} -,{ - "constname": "k_pch_Keyboard_ScaleY","consttype": "const char *const", "constval": "ScaleY"} -,{ - "constname": "k_pch_Keyboard_OffsetLeftX","consttype": "const char *const", "constval": "OffsetLeftX"} -,{ - "constname": "k_pch_Keyboard_OffsetRightX","consttype": "const char *const", "constval": "OffsetRightX"} -,{ - "constname": "k_pch_Keyboard_OffsetY","consttype": "const char *const", "constval": "OffsetY"} -,{ - "constname": "k_pch_Keyboard_Smoothing","consttype": "const char *const", "constval": "Smoothing"} -,{ - "constname": "k_pch_Perf_Section","consttype": "const char *const", "constval": "perfcheck"} -,{ - "constname": "k_pch_Perf_HeuristicActive_Bool","consttype": "const char *const", "constval": "heuristicActive"} -,{ - "constname": "k_pch_Perf_NotifyInHMD_Bool","consttype": "const char *const", "constval": "warnInHMD"} -,{ - "constname": "k_pch_Perf_NotifyOnlyOnce_Bool","consttype": "const char *const", "constval": "warnOnlyOnce"} -,{ - "constname": "k_pch_Perf_AllowTimingStore_Bool","consttype": "const char *const", "constval": "allowTimingStore"} -,{ - "constname": "k_pch_Perf_SaveTimingsOnExit_Bool","consttype": "const char *const", "constval": "saveTimingsOnExit"} -,{ - "constname": "k_pch_Perf_TestData_Float","consttype": "const char *const", "constval": "perfTestData"} -,{ - "constname": "k_pch_CollisionBounds_Section","consttype": "const char *const", "constval": "collisionBounds"} -,{ - "constname": "k_pch_CollisionBounds_Style_Int32","consttype": "const char *const", "constval": "CollisionBoundsStyle"} -,{ - "constname": "k_pch_CollisionBounds_GroundPerimeterOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsGroundPerimeterOn"} -,{ - "constname": "k_pch_CollisionBounds_CenterMarkerOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsCenterMarkerOn"} -,{ - "constname": "k_pch_CollisionBounds_PlaySpaceOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsPlaySpaceOn"} -,{ - "constname": "k_pch_CollisionBounds_FadeDistance_Float","consttype": "const char *const", "constval": "CollisionBoundsFadeDistance"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaR_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaR"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaG_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaG"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaB_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaB"} -,{ - "constname": "k_pch_CollisionBounds_ColorGammaA_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaA"} -,{ - "constname": "k_pch_Camera_Section","consttype": "const char *const", "constval": "camera"} -,{ - "constname": "k_pch_Camera_EnableCamera_Bool","consttype": "const char *const", "constval": "enableCamera"} -,{ - "constname": "k_pch_Camera_EnableCameraInDashboard_Bool","consttype": "const char *const", "constval": "enableCameraInDashboard"} -,{ - "constname": "k_pch_Camera_EnableCameraForCollisionBounds_Bool","consttype": "const char *const", "constval": "enableCameraForCollisionBounds"} -,{ - "constname": "k_pch_Camera_EnableCameraForRoomView_Bool","consttype": "const char *const", "constval": "enableCameraForRoomView"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaR_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaR"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaG_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaG"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaB_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaB"} -,{ - "constname": "k_pch_Camera_BoundsColorGammaA_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaA"} -,{ - "constname": "k_pch_audio_Section","consttype": "const char *const", "constval": "audio"} -,{ - "constname": "k_pch_audio_OnPlaybackDevice_String","consttype": "const char *const", "constval": "onPlaybackDevice"} -,{ - "constname": "k_pch_audio_OnRecordDevice_String","consttype": "const char *const", "constval": "onRecordDevice"} -,{ - "constname": "k_pch_audio_OnPlaybackMirrorDevice_String","consttype": "const char *const", "constval": "onPlaybackMirrorDevice"} -,{ - "constname": "k_pch_audio_OffPlaybackDevice_String","consttype": "const char *const", "constval": "offPlaybackDevice"} -,{ - "constname": "k_pch_audio_OffRecordDevice_String","consttype": "const char *const", "constval": "offRecordDevice"} -,{ - "constname": "k_pch_audio_VIVEHDMIGain","consttype": "const char *const", "constval": "viveHDMIGain"} -,{ - "constname": "k_pch_modelskin_Section","consttype": "const char *const", "constval": "modelskins"} -,{ - "constname": "IVRScreenshots_Version","consttype": "const char *const", "constval": "IVRScreenshots_001"} -], -"structs":[{"struct": "vr::HmdMatrix34_t","fields": [ -{ "fieldname": "m", "fieldtype": "float [3][4]"}]} -,{"struct": "vr::HmdMatrix44_t","fields": [ -{ "fieldname": "m", "fieldtype": "float [4][4]"}]} -,{"struct": "vr::HmdVector3_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [3]"}]} -,{"struct": "vr::HmdVector4_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [4]"}]} -,{"struct": "vr::HmdVector3d_t","fields": [ -{ "fieldname": "v", "fieldtype": "double [3]"}]} -,{"struct": "vr::HmdVector2_t","fields": [ -{ "fieldname": "v", "fieldtype": "float [2]"}]} -,{"struct": "vr::HmdQuaternion_t","fields": [ -{ "fieldname": "w", "fieldtype": "double"}, -{ "fieldname": "x", "fieldtype": "double"}, -{ "fieldname": "y", "fieldtype": "double"}, -{ "fieldname": "z", "fieldtype": "double"}]} -,{"struct": "vr::HmdColor_t","fields": [ -{ "fieldname": "r", "fieldtype": "float"}, -{ "fieldname": "g", "fieldtype": "float"}, -{ "fieldname": "b", "fieldtype": "float"}, -{ "fieldname": "a", "fieldtype": "float"}]} -,{"struct": "vr::HmdQuad_t","fields": [ -{ "fieldname": "vCorners", "fieldtype": "struct vr::HmdVector3_t [4]"}]} -,{"struct": "vr::HmdRect2_t","fields": [ -{ "fieldname": "vTopLeft", "fieldtype": "struct vr::HmdVector2_t"}, -{ "fieldname": "vBottomRight", "fieldtype": "struct vr::HmdVector2_t"}]} -,{"struct": "vr::DistortionCoordinates_t","fields": [ -{ "fieldname": "rfRed", "fieldtype": "float [2]"}, -{ "fieldname": "rfGreen", "fieldtype": "float [2]"}, -{ "fieldname": "rfBlue", "fieldtype": "float [2]"}]} -,{"struct": "vr::Texture_t","fields": [ -{ "fieldname": "handle", "fieldtype": "void *"}, -{ "fieldname": "eType", "fieldtype": "enum vr::EGraphicsAPIConvention"}, -{ "fieldname": "eColorSpace", "fieldtype": "enum vr::EColorSpace"}]} -,{"struct": "vr::TrackedDevicePose_t","fields": [ -{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "vVelocity", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vAngularVelocity", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "eTrackingResult", "fieldtype": "enum vr::ETrackingResult"}, -{ "fieldname": "bPoseIsValid", "fieldtype": "_Bool"}, -{ "fieldname": "bDeviceIsConnected", "fieldtype": "_Bool"}]} -,{"struct": "vr::VRTextureBounds_t","fields": [ -{ "fieldname": "uMin", "fieldtype": "float"}, -{ "fieldname": "vMin", "fieldtype": "float"}, -{ "fieldname": "uMax", "fieldtype": "float"}, -{ "fieldname": "vMax", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_Controller_t","fields": [ -{ "fieldname": "button", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Mouse_t","fields": [ -{ "fieldname": "x", "fieldtype": "float"}, -{ "fieldname": "y", "fieldtype": "float"}, -{ "fieldname": "button", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Scroll_t","fields": [ -{ "fieldname": "xdelta", "fieldtype": "float"}, -{ "fieldname": "ydelta", "fieldtype": "float"}, -{ "fieldname": "repeatCount", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_TouchPadMove_t","fields": [ -{ "fieldname": "bFingerDown", "fieldtype": "_Bool"}, -{ "fieldname": "flSecondsFingerDown", "fieldtype": "float"}, -{ "fieldname": "fValueXFirst", "fieldtype": "float"}, -{ "fieldname": "fValueYFirst", "fieldtype": "float"}, -{ "fieldname": "fValueXRaw", "fieldtype": "float"}, -{ "fieldname": "fValueYRaw", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_Notification_t","fields": [ -{ "fieldname": "ulUserValue", "fieldtype": "uint64_t"}, -{ "fieldname": "notificationId", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Process_t","fields": [ -{ "fieldname": "pid", "fieldtype": "uint32_t"}, -{ "fieldname": "oldPid", "fieldtype": "uint32_t"}, -{ "fieldname": "bForced", "fieldtype": "_Bool"}]} -,{"struct": "vr::VREvent_Overlay_t","fields": [ -{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Status_t","fields": [ -{ "fieldname": "statusState", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_Keyboard_t","fields": [ -{ "fieldname": "cNewInput", "fieldtype": "char [8]"}, -{ "fieldname": "uUserValue", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Ipd_t","fields": [ -{ "fieldname": "ipdMeters", "fieldtype": "float"}]} -,{"struct": "vr::VREvent_Chaperone_t","fields": [ -{ "fieldname": "m_nPreviousUniverse", "fieldtype": "uint64_t"}, -{ "fieldname": "m_nCurrentUniverse", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_Reserved_t","fields": [ -{ "fieldname": "reserved0", "fieldtype": "uint64_t"}, -{ "fieldname": "reserved1", "fieldtype": "uint64_t"}]} -,{"struct": "vr::VREvent_PerformanceTest_t","fields": [ -{ "fieldname": "m_nFidelityLevel", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VREvent_SeatedZeroPoseReset_t","fields": [ -{ "fieldname": "bResetBySystemMenu", "fieldtype": "_Bool"}]} -,{"struct": "vr::VREvent_Screenshot_t","fields": [ -{ "fieldname": "handle", "fieldtype": "uint32_t"}, -{ "fieldname": "type", "fieldtype": "uint32_t"}]} -,{"struct": "vr::(anonymous)","fields": [ -{ "fieldname": "reserved", "fieldtype": "struct vr::VREvent_Reserved_t"}, -{ "fieldname": "controller", "fieldtype": "struct vr::VREvent_Controller_t"}, -{ "fieldname": "mouse", "fieldtype": "struct vr::VREvent_Mouse_t"}, -{ "fieldname": "scroll", "fieldtype": "struct vr::VREvent_Scroll_t"}, -{ "fieldname": "process", "fieldtype": "struct vr::VREvent_Process_t"}, -{ "fieldname": "notification", "fieldtype": "struct vr::VREvent_Notification_t"}, -{ "fieldname": "overlay", "fieldtype": "struct vr::VREvent_Overlay_t"}, -{ "fieldname": "status", "fieldtype": "struct vr::VREvent_Status_t"}, -{ "fieldname": "keyboard", "fieldtype": "struct vr::VREvent_Keyboard_t"}, -{ "fieldname": "ipd", "fieldtype": "struct vr::VREvent_Ipd_t"}, -{ "fieldname": "chaperone", "fieldtype": "struct vr::VREvent_Chaperone_t"}, -{ "fieldname": "performanceTest", "fieldtype": "struct vr::VREvent_PerformanceTest_t"}, -{ "fieldname": "touchPadMove", "fieldtype": "struct vr::VREvent_TouchPadMove_t"}, -{ "fieldname": "seatedZeroPoseReset", "fieldtype": "struct vr::VREvent_SeatedZeroPoseReset_t"}, -{ "fieldname": "screenshot", "fieldtype": "struct vr::VREvent_Screenshot_t"}]} -,{"struct": "vr::VREvent_t","fields": [ -{ "fieldname": "eventType", "fieldtype": "uint32_t"}, -{ "fieldname": "trackedDeviceIndex", "fieldtype": "TrackedDeviceIndex_t"}, -{ "fieldname": "eventAgeSeconds", "fieldtype": "float"}, -{ "fieldname": "data", "fieldtype": "VREvent_Data_t"}]} -,{"struct": "vr::HiddenAreaMesh_t","fields": [ -{ "fieldname": "pVertexData", "fieldtype": "const struct vr::HmdVector2_t *"}, -{ "fieldname": "unTriangleCount", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VRControllerAxis_t","fields": [ -{ "fieldname": "x", "fieldtype": "float"}, -{ "fieldname": "y", "fieldtype": "float"}]} -,{"struct": "vr::VRControllerState001_t","fields": [ -{ "fieldname": "unPacketNum", "fieldtype": "uint32_t"}, -{ "fieldname": "ulButtonPressed", "fieldtype": "uint64_t"}, -{ "fieldname": "ulButtonTouched", "fieldtype": "uint64_t"}, -{ "fieldname": "rAxis", "fieldtype": "struct vr::VRControllerAxis_t [5]"}]} -,{"struct": "vr::Compositor_OverlaySettings","fields": [ -{ "fieldname": "size", "fieldtype": "uint32_t"}, -{ "fieldname": "curved", "fieldtype": "_Bool"}, -{ "fieldname": "antialias", "fieldtype": "_Bool"}, -{ "fieldname": "scale", "fieldtype": "float"}, -{ "fieldname": "distance", "fieldtype": "float"}, -{ "fieldname": "alpha", "fieldtype": "float"}, -{ "fieldname": "uOffset", "fieldtype": "float"}, -{ "fieldname": "vOffset", "fieldtype": "float"}, -{ "fieldname": "uScale", "fieldtype": "float"}, -{ "fieldname": "vScale", "fieldtype": "float"}, -{ "fieldname": "gridDivs", "fieldtype": "float"}, -{ "fieldname": "gridWidth", "fieldtype": "float"}, -{ "fieldname": "gridScale", "fieldtype": "float"}, -{ "fieldname": "transform", "fieldtype": "struct vr::HmdMatrix44_t"}]} -,{"struct": "vr::CameraVideoStreamFrameHeader_t","fields": [ -{ "fieldname": "eFrameType", "fieldtype": "enum vr::EVRTrackedCameraFrameType"}, -{ "fieldname": "nWidth", "fieldtype": "uint32_t"}, -{ "fieldname": "nHeight", "fieldtype": "uint32_t"}, -{ "fieldname": "nBytesPerPixel", "fieldtype": "uint32_t"}, -{ "fieldname": "nFrameSequence", "fieldtype": "uint32_t"}, -{ "fieldname": "standingTrackedDevicePose", "fieldtype": "struct vr::TrackedDevicePose_t"}]} -,{"struct": "vr::AppOverrideKeys_t","fields": [ -{ "fieldname": "pchKey", "fieldtype": "const char *"}, -{ "fieldname": "pchValue", "fieldtype": "const char *"}]} -,{"struct": "vr::Compositor_FrameTiming","fields": [ -{ "fieldname": "m_nSize", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nFrameIndex", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_flSystemTimeInSeconds", "fieldtype": "double"}, -{ "fieldname": "m_flSceneRenderGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flTotalRenderGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderGpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorIdleCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flClientFrameIntervalMs", "fieldtype": "float"}, -{ "fieldname": "m_flPresentCallCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flWaitForPresentCpuMs", "fieldtype": "float"}, -{ "fieldname": "m_flSubmitFrameMs", "fieldtype": "float"}, -{ "fieldname": "m_flWaitGetPosesCalledMs", "fieldtype": "float"}, -{ "fieldname": "m_flNewPosesReadyMs", "fieldtype": "float"}, -{ "fieldname": "m_flNewFrameReadyMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorUpdateStartMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorUpdateEndMs", "fieldtype": "float"}, -{ "fieldname": "m_flCompositorRenderStartMs", "fieldtype": "float"}, -{ "fieldname": "m_HmdPose", "fieldtype": "vr::TrackedDevicePose_t"}, -{ "fieldname": "m_nFidelityLevel", "fieldtype": "int32_t"}, -{ "fieldname": "m_nReprojectionFlags", "fieldtype": "uint32_t"}]} -,{"struct": "vr::Compositor_CumulativeStats","fields": [ -{ "fieldname": "m_nPid", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFrames", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesOnStartup", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesLoading", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumFramePresentsTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumDroppedFramesTimedOut", "fieldtype": "uint32_t"}, -{ "fieldname": "m_nNumReprojectedFramesTimedOut", "fieldtype": "uint32_t"}]} -,{"struct": "vr::VROverlayIntersectionParams_t","fields": [ -{ "fieldname": "vSource", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vDirection", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "eOrigin", "fieldtype": "enum vr::ETrackingUniverseOrigin"}]} -,{"struct": "vr::VROverlayIntersectionResults_t","fields": [ -{ "fieldname": "vPoint", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vUVs", "fieldtype": "struct vr::HmdVector2_t"}, -{ "fieldname": "fDistance", "fieldtype": "float"}]} -,{"struct": "vr::RenderModel_ComponentState_t","fields": [ -{ "fieldname": "mTrackingToComponentRenderModel", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "mTrackingToComponentLocal", "fieldtype": "struct vr::HmdMatrix34_t"}, -{ "fieldname": "uProperties", "fieldtype": "VRComponentProperties"}]} -,{"struct": "vr::RenderModel_Vertex_t","fields": [ -{ "fieldname": "vPosition", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"}, -{ "fieldname": "rfTextureCoord", "fieldtype": "float [2]"}]} -,{"struct": "vr::RenderModel_TextureMap_t","fields": [ -{ "fieldname": "unWidth", "fieldtype": "uint16_t"}, -{ "fieldname": "unHeight", "fieldtype": "uint16_t"}, -{ "fieldname": "rubTextureMapData", "fieldtype": "const uint8_t *"}]} -,{"struct": "vr::RenderModel_t","fields": [ -{ "fieldname": "rVertexData", "fieldtype": "const struct vr::RenderModel_Vertex_t *"}, -{ "fieldname": "unVertexCount", "fieldtype": "uint32_t"}, -{ "fieldname": "rIndexData", "fieldtype": "const uint16_t *"}, -{ "fieldname": "unTriangleCount", "fieldtype": "uint32_t"}, -{ "fieldname": "diffuseTextureId", "fieldtype": "TextureID_t"}]} -,{"struct": "vr::RenderModel_ControllerMode_State_t","fields": [ -{ "fieldname": "bScrollWheelVisible", "fieldtype": "_Bool"}]} -,{"struct": "vr::NotificationBitmap_t","fields": [ -{ "fieldname": "m_pImageData", "fieldtype": "void *"}, -{ "fieldname": "m_nWidth", "fieldtype": "int32_t"}, -{ "fieldname": "m_nHeight", "fieldtype": "int32_t"}, -{ "fieldname": "m_nBytesPerPixel", "fieldtype": "int32_t"}]} -,{"struct": "vr::COpenVRContext","fields": [ -{ "fieldname": "m_pVRSystem", "fieldtype": "class vr::IVRSystem *"}, -{ "fieldname": "m_pVRChaperone", "fieldtype": "class vr::IVRChaperone *"}, -{ "fieldname": "m_pVRChaperoneSetup", "fieldtype": "class vr::IVRChaperoneSetup *"}, -{ "fieldname": "m_pVRCompositor", "fieldtype": "class vr::IVRCompositor *"}, -{ "fieldname": "m_pVROverlay", "fieldtype": "class vr::IVROverlay *"}, -{ "fieldname": "m_pVRRenderModels", "fieldtype": "class vr::IVRRenderModels *"}, -{ "fieldname": "m_pVRExtendedDisplay", "fieldtype": "class vr::IVRExtendedDisplay *"}, -{ "fieldname": "m_pVRSettings", "fieldtype": "class vr::IVRSettings *"}, -{ "fieldname": "m_pVRApplications", "fieldtype": "class vr::IVRApplications *"}, -{ "fieldname": "m_pVRTrackedCamera", "fieldtype": "class vr::IVRTrackedCamera *"}, -{ "fieldname": "m_pVRScreenshots", "fieldtype": "class vr::IVRScreenshots *"}]} -], -"methods":[{ - "classname": "vr::IVRSystem", - "methodname": "GetRecommendedRenderTargetSize", - "returntype": "void", - "params": [ -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetProjectionMatrix", - "returntype": "struct vr::HmdMatrix44_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "fNearZ" ,"paramtype": "float"}, -{ "paramname": "fFarZ" ,"paramtype": "float"}, -{ "paramname": "eProjType" ,"paramtype": "vr::EGraphicsAPIConvention"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetProjectionRaw", - "returntype": "void", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pfLeft" ,"paramtype": "float *"}, -{ "paramname": "pfRight" ,"paramtype": "float *"}, -{ "paramname": "pfTop" ,"paramtype": "float *"}, -{ "paramname": "pfBottom" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ComputeDistortion", - "returntype": "struct vr::DistortionCoordinates_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "fU" ,"paramtype": "float"}, -{ "paramname": "fV" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetEyeToHeadTransform", - "returntype": "struct vr::HmdMatrix34_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTimeSinceLastVsync", - "returntype": "bool", - "params": [ -{ "paramname": "pfSecondsSinceLastVsync" ,"paramtype": "float *"}, -{ "paramname": "pulFrameCounter" ,"paramtype": "uint64_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetD3D9AdapterIndex", - "returntype": "int32_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetDXGIOutputInfo", - "returntype": "void", - "params": [ -{ "paramname": "pnAdapterIndex" ,"paramtype": "int32_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsDisplayOnDesktop", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "SetDisplayVisibility", - "returntype": "bool", - "params": [ -{ "paramname": "bIsVisibleOnDesktop" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetDeviceToAbsoluteTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "fPredictedSecondsToPhotonsFromNow" ,"paramtype": "float"}, -{ "paramname": "pTrackedDevicePoseArray" ,"array_count": "unTrackedDevicePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unTrackedDevicePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ResetSeatedZeroPose", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetSeatedZeroPoseToStandingAbsoluteTrackingPose", - "returntype": "struct vr::HmdMatrix34_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetRawZeroPoseToStandingAbsoluteTrackingPose", - "returntype": "struct vr::HmdMatrix34_t" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetSortedTrackedDeviceIndicesOfClass", - "returntype": "uint32_t", - "params": [ -{ "paramname": "eTrackedDeviceClass" ,"paramtype": "vr::ETrackedDeviceClass"}, -{ "paramname": "punTrackedDeviceIndexArray" ,"array_count": "unTrackedDeviceIndexArrayCount" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "unTrackedDeviceIndexArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "unRelativeToTrackedDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceActivityLevel", - "returntype": "vr::EDeviceActivityLevel", - "params": [ -{ "paramname": "unDeviceId" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ApplyTransform", - "returntype": "void", - "params": [ -{ "paramname": "pOutputPose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "const struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceIndexForControllerRole", - "returntype": "vr::TrackedDeviceIndex_t", - "params": [ -{ "paramname": "unDeviceType" ,"paramtype": "vr::ETrackedControllerRole"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerRoleForTrackedDeviceIndex", - "returntype": "vr::ETrackedControllerRole", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetTrackedDeviceClass", - "returntype": "vr::ETrackedDeviceClass", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsTrackedDeviceConnected", - "returntype": "bool", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetBoolTrackedDeviceProperty", - "returntype": "bool", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetFloatTrackedDeviceProperty", - "returntype": "float", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetInt32TrackedDeviceProperty", - "returntype": "int32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetUint64TrackedDeviceProperty", - "returntype": "uint64_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetMatrix34TrackedDeviceProperty", - "returntype": "struct vr::HmdMatrix34_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetStringTrackedDeviceProperty", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetPropErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::ETrackedPropertyError"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PollNextEvent", - "returntype": "bool", - "params": [ -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PollNextEventWithPose", - "returntype": "bool", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetEventTypeNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eType" ,"paramtype": "vr::EVREventType"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetHiddenAreaMesh", - "returntype": "struct vr::HiddenAreaMesh_t", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerState", - "returntype": "bool", - "params": [ -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerStateWithPose", - "returntype": "bool", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"}, -{ "paramname": "pTrackedDevicePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "TriggerHapticPulse", - "returntype": "void", - "params": [ -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "unAxisId" ,"paramtype": "uint32_t"}, -{ "paramname": "usDurationMicroSec" ,"paramtype": "unsigned short"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetButtonIdNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eButtonId" ,"paramtype": "vr::EVRButtonId"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "GetControllerAxisTypeNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eAxisType" ,"paramtype": "vr::EVRControllerAxisType"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "CaptureInputFocus", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "ReleaseInputFocus", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "IsInputFocusCapturedByAnotherProcess", - "returntype": "bool" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "DriverDebugRequest", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pchRequest" ,"paramtype": "const char *"}, -{ "paramname": "pchResponseBuffer" ,"paramtype": "char *"}, -{ "paramname": "unResponseBufferSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "PerformFirmwareUpdate", - "returntype": "vr::EVRFirmwareError", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVRSystem", - "methodname": "AcknowledgeQuit_Exiting", - "returntype": "void" -} -,{ - "classname": "vr::IVRSystem", - "methodname": "AcknowledgeQuit_UserPrompt", - "returntype": "void" -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetWindowBounds", - "returntype": "void", - "params": [ -{ "paramname": "pnX" ,"paramtype": "int32_t *"}, -{ "paramname": "pnY" ,"paramtype": "int32_t *"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetEyeOutputViewport", - "returntype": "void", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pnX" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnY" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRExtendedDisplay", - "methodname": "GetDXGIOutputInfo", - "returntype": "void", - "params": [ -{ "paramname": "pnAdapterIndex" ,"paramtype": "int32_t *"}, -{ "paramname": "pnAdapterOutputIndex" ,"paramtype": "int32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eCameraError" ,"paramtype": "vr::EVRTrackedCameraError"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "HasCamera", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pHasCamera" ,"paramtype": "bool *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraFrameSize", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"}, -{ "paramname": "pnFrameBufferSize" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraIntrinisics", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pFocalLength" ,"paramtype": "vr::HmdVector2_t *"}, -{ "paramname": "pCenter" ,"paramtype": "vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetCameraProjection", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "flZNear" ,"paramtype": "float"}, -{ "paramname": "flZFar" ,"paramtype": "float"}, -{ "paramname": "pProjection" ,"paramtype": "vr::HmdMatrix44_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "AcquireVideoStreamingService", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pHandle" ,"paramtype": "vr::TrackedCameraHandle_t *"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "ReleaseVideoStreamingService", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"} - ] -} -,{ - "classname": "vr::IVRTrackedCamera", - "methodname": "GetVideoStreamFrameBuffer", - "returntype": "vr::EVRTrackedCameraError", - "params": [ -{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, -{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, -{ "paramname": "pFrameBuffer" ,"paramtype": "void *"}, -{ "paramname": "nFrameBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pFrameHeader" ,"paramtype": "vr::CameraVideoStreamFrameHeader_t *"}, -{ "paramname": "nFrameHeaderSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "AddApplicationManifest", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchApplicationManifestFullPath" ,"paramtype": "const char *"}, -{ "paramname": "bTemporary" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "RemoveApplicationManifest", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchApplicationManifestFullPath" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IsApplicationInstalled", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationCount", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationKeyByIndex", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unApplicationIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationKeyByProcessId", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchTemplateApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchTemplateAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pchNewAppKey" ,"paramtype": "const char *"}, -{ "paramname": "pKeys" ,"array_count": "unKeys" ,"paramtype": "const struct vr::AppOverrideKeys_t *"}, -{ "paramname": "unKeys" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchDashboardOverlay", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "CancelApplicationLaunch", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IdentifyApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"}, -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationProcessId", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationsErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVRApplicationError"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyString", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "pchPropertyValueBuffer" ,"paramtype": "char *"}, -{ "paramname": "unPropertyValueBufferLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyBool", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationPropertyUint64", - "returntype": "uint64_t", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "SetApplicationAutoLaunch", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, -{ "paramname": "bAutoLaunch" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationAutoLaunch", - "returntype": "bool", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetStartingApplication", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, -{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetTransitionState", - "returntype": "vr::EVRApplicationTransitionState" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "PerformApplicationPrelaunchCheck", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchAppKey" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "GetApplicationsTransitionStateNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "state" ,"paramtype": "vr::EVRApplicationTransitionState"} - ] -} -,{ - "classname": "vr::IVRApplications", - "methodname": "IsQuitUserPromptRequested", - "returntype": "bool" -} -,{ - "classname": "vr::IVRApplications", - "methodname": "LaunchInternalProcess", - "returntype": "vr::EVRApplicationError", - "params": [ -{ "paramname": "pchBinaryPath" ,"paramtype": "const char *"}, -{ "paramname": "pchArguments" ,"paramtype": "const char *"}, -{ "paramname": "pchWorkingDirectory" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetCalibrationState", - "returntype": "vr::ChaperoneCalibrationState" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetPlayAreaSize", - "returntype": "bool", - "params": [ -{ "paramname": "pSizeX" ,"paramtype": "float *"}, -{ "paramname": "pSizeZ" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetPlayAreaRect", - "returntype": "bool", - "params": [ -{ "paramname": "rect" ,"paramtype": "struct vr::HmdQuad_t *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "ReloadInfo", - "returntype": "void" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "SetSceneColor", - "returntype": "void", - "params": [ -{ "paramname": "color" ,"paramtype": "struct vr::HmdColor_t"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "GetBoundsColor", - "returntype": "void", - "params": [ -{ "paramname": "pOutputColorArray" ,"paramtype": "struct vr::HmdColor_t *"}, -{ "paramname": "nNumOutputColors" ,"paramtype": "int"}, -{ "paramname": "flCollisionBoundsFadeDistance" ,"paramtype": "float"}, -{ "paramname": "pOutputCameraColor" ,"paramtype": "struct vr::HmdColor_t *"} - ] -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "AreBoundsVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVRChaperone", - "methodname": "ForceBoundsVisible", - "returntype": "void", - "params": [ -{ "paramname": "bForce" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "CommitWorkingCopy", - "returntype": "bool", - "params": [ -{ "paramname": "configFile" ,"paramtype": "vr::EChaperoneConfigFile"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "RevertWorkingCopy", - "returntype": "void" -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingPlayAreaSize", - "returntype": "bool", - "params": [ -{ "paramname": "pSizeX" ,"paramtype": "float *"}, -{ "paramname": "pSizeZ" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingPlayAreaRect", - "returntype": "bool", - "params": [ -{ "paramname": "rect" ,"paramtype": "struct vr::HmdQuad_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingCollisionBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveCollisionBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingSeatedZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetWorkingStandingZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatStandingZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingPlayAreaSize", - "returntype": "void", - "params": [ -{ "paramname": "sizeX" ,"paramtype": "float"}, -{ "paramname": "sizeZ" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingCollisionBoundsInfo", - "returntype": "void", - "params": [ -{ "paramname": "pQuadsBuffer" ,"array_count": "unQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "unQuadsCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingSeatedZeroPoseToRawTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "pMatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingStandingZeroPoseToRawTrackingPose", - "returntype": "void", - "params": [ -{ "paramname": "pMatStandingZeroPoseToRawTrackingPose" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ReloadFromDisk", - "returntype": "void", - "params": [ -{ "paramname": "configFile" ,"paramtype": "vr::EChaperoneConfigFile"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveSeatedZeroPoseToRawTrackingPose", - "returntype": "bool", - "params": [ -{ "paramname": "pmatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingCollisionBoundsTagsInfo", - "returntype": "void", - "params": [ -{ "paramname": "pTagsBuffer" ,"array_count": "unTagCount" ,"paramtype": "uint8_t *"}, -{ "paramname": "unTagCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLiveCollisionBoundsTagsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pTagsBuffer" ,"out_array_count": "punTagCount" ,"paramtype": "uint8_t *"}, -{ "paramname": "punTagCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "SetWorkingPhysicalBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"array_count": "unQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "unQuadsCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "GetLivePhysicalBoundsInfo", - "returntype": "bool", - "params": [ -{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, -{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ExportLiveToBuffer", - "returntype": "bool", - "params": [ -{ "paramname": "pBuffer" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "pnBufferLength" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVRChaperoneSetup", - "methodname": "ImportFromBufferToWorking", - "returntype": "bool", - "params": [ -{ "paramname": "pBuffer" ,"paramtype": "const char *"}, -{ "paramname": "nImportFlags" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SetTrackingSpace", - "returntype": "void", - "params": [ -{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetTrackingSpace", - "returntype": "vr::ETrackingUniverseOrigin" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "WaitGetPoses", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pRenderPoseArray" ,"array_count": "unRenderPoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unRenderPoseArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "pGamePoseArray" ,"array_count": "unGamePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unGamePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastPoses", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pRenderPoseArray" ,"array_count": "unRenderPoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unRenderPoseArrayCount" ,"paramtype": "uint32_t"}, -{ "paramname": "pGamePoseArray" ,"array_count": "unGamePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "unGamePoseArrayCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastPoseForTrackedDeviceIndex", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pOutputPose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, -{ "paramname": "pOutputGamePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "Submit", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pTexture" ,"paramtype": "const struct vr::Texture_t *"}, -{ "paramname": "pBounds" ,"paramtype": "const struct vr::VRTextureBounds_t *"}, -{ "paramname": "nSubmitFlags" ,"paramtype": "vr::EVRSubmitFlags"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ClearLastSubmittedFrame", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "PostPresentHandoff", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetFrameTiming", - "returntype": "bool", - "params": [ -{ "paramname": "pTiming" ,"paramtype": "struct vr::Compositor_FrameTiming *"}, -{ "paramname": "unFramesAgo" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetFrameTimeRemaining", - "returntype": "float" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCumulativeStats", - "returntype": "void", - "params": [ -{ "paramname": "pStats" ,"paramtype": "struct vr::Compositor_CumulativeStats *"}, -{ "paramname": "nStatsSizeInBytes" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "FadeToColor", - "returntype": "void", - "params": [ -{ "paramname": "fSeconds" ,"paramtype": "float"}, -{ "paramname": "fRed" ,"paramtype": "float"}, -{ "paramname": "fGreen" ,"paramtype": "float"}, -{ "paramname": "fBlue" ,"paramtype": "float"}, -{ "paramname": "fAlpha" ,"paramtype": "float"}, -{ "paramname": "bBackground" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "FadeGrid", - "returntype": "void", - "params": [ -{ "paramname": "fSeconds" ,"paramtype": "float"}, -{ "paramname": "bFadeIn" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SetSkyboxOverride", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "pTextures" ,"array_count": "unTextureCount" ,"paramtype": "const struct vr::Texture_t *"}, -{ "paramname": "unTextureCount" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ClearSkyboxOverride", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorBringToFront", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorGoToBack", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorQuit", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "IsFullscreen", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCurrentSceneFocusProcess", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetLastFrameRenderer", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CanRenderScene", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ShowMirrorWindow", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "HideMirrorWindow", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "IsMirrorWindowVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "CompositorDumpImages", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ShouldAppRenderWithLowResources", - "returntype": "bool" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ForceInterleavedReprojectionOn", - "returntype": "void", - "params": [ -{ "paramname": "bOverride" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ForceReconnectProcess", - "returntype": "void" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "SuspendRendering", - "returntype": "void", - "params": [ -{ "paramname": "bSuspend" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "RequestScreenshot", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, -{ "paramname": "pchDestinationFileName" ,"paramtype": "const char *"}, -{ "paramname": "pchVRDestinationFileName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetCurrentScreenshotType", - "returntype": "vr::EVRScreenshotType" -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetMirrorTextureD3D11", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pD3D11DeviceOrResource" ,"paramtype": "void *"}, -{ "paramname": "ppD3D11ShaderResourceView" ,"paramtype": "void **"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "GetMirrorTextureGL", - "returntype": "vr::EVRCompositorError", - "params": [ -{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, -{ "paramname": "pglTextureId" ,"paramtype": "vr::glUInt_t *"}, -{ "paramname": "pglSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t *"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "ReleaseSharedGLTexture", - "returntype": "bool", - "params": [ -{ "paramname": "glTextureId" ,"paramtype": "vr::glUInt_t"}, -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "LockGLSharedTextureForAccess", - "returntype": "void", - "params": [ -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVRCompositor", - "methodname": "UnlockGLSharedTextureForAccess", - "returntype": "void", - "params": [ -{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "FindOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "CreateOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pchOverlayFriendlyName" ,"paramtype": "const char *"}, -{ "paramname": "pOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "DestroyOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetHighQualityOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetHighQualityOverlay", - "returntype": "vr::VROverlayHandle_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayKey", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayImageData", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvBuffer" ,"paramtype": "void *"}, -{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, -{ "paramname": "punWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "punHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVROverlayError"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayRenderingPid", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unPID" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayRenderingPid", - "returntype": "uint32_t", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayFlag", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eOverlayFlag" ,"paramtype": "vr::VROverlayFlags"}, -{ "paramname": "bEnabled" ,"paramtype": "bool"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayFlag", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eOverlayFlag" ,"paramtype": "vr::VROverlayFlags"}, -{ "paramname": "pbEnabled" ,"paramtype": "bool *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayColor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fRed" ,"paramtype": "float"}, -{ "paramname": "fGreen" ,"paramtype": "float"}, -{ "paramname": "fBlue" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayColor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfRed" ,"paramtype": "float *"}, -{ "paramname": "pfGreen" ,"paramtype": "float *"}, -{ "paramname": "pfBlue" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayAlpha", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fAlpha" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayAlpha", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfAlpha" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayWidthInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fWidthInMeters" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayWidthInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfWidthInMeters" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayAutoCurveDistanceRangeInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "fMinDistanceInMeters" ,"paramtype": "float"}, -{ "paramname": "fMaxDistanceInMeters" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayAutoCurveDistanceRangeInMeters", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pfMinDistanceInMeters" ,"paramtype": "float *"}, -{ "paramname": "pfMaxDistanceInMeters" ,"paramtype": "float *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTextureColorSpace", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTextureColorSpace" ,"paramtype": "vr::EColorSpace"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureColorSpace", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTextureColorSpace" ,"paramtype": "vr::EColorSpace *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTextureBounds", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pOverlayTextureBounds" ,"paramtype": "const struct vr::VRTextureBounds_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureBounds", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pOverlayTextureBounds" ,"paramtype": "struct vr::VRTextureBounds_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformType", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTransformType" ,"paramtype": "vr::VROverlayTransformType *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformAbsolute", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pmatTrackingOriginToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformAbsolute", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin *"}, -{ "paramname": "pmatTrackingOriginToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformTrackedDeviceRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unTrackedDevice" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pmatTrackedDeviceToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformTrackedDeviceRelative", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punTrackedDevice" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "pmatTrackedDeviceToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTransformTrackedDeviceComponent", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTransformTrackedDeviceComponent", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, -{ "paramname": "pchComponentName" ,"paramtype": "char *"}, -{ "paramname": "unComponentNameSize" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HideOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsOverlayVisible", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetTransformForOverlayCoordinates", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "coordinatesInOverlay" ,"paramtype": "struct vr::HmdVector2_t"}, -{ "paramname": "pmatTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "PollNextOverlayEvent", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, -{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayInputMethod", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "peInputMethod" ,"paramtype": "vr::VROverlayInputMethod *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayInputMethod", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eInputMethod" ,"paramtype": "vr::VROverlayInputMethod"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayMouseScale", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvecMouseScale" ,"paramtype": "struct vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayMouseScale", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvecMouseScale" ,"paramtype": "const struct vr::HmdVector2_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ComputeOverlayIntersection", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pParams" ,"paramtype": "const struct vr::VROverlayIntersectionParams_t *"}, -{ "paramname": "pResults" ,"paramtype": "struct vr::VROverlayIntersectionResults_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HandleControllerOverlayInteractionAsMouse", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsHoverTargetOverlay", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetGamepadFocusOverlay", - "returntype": "vr::VROverlayHandle_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetGamepadFocusOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulNewFocusOverlay" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayNeighbor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eDirection" ,"paramtype": "vr::EOverlayDirection"}, -{ "paramname": "ulFrom" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulTo" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "MoveGamepadFocusToNeighbor", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eDirection" ,"paramtype": "vr::EOverlayDirection"}, -{ "paramname": "ulFrom" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pTexture" ,"paramtype": "const struct vr::Texture_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ClearOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayRaw", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pvBuffer" ,"paramtype": "void *"}, -{ "paramname": "unWidth" ,"paramtype": "uint32_t"}, -{ "paramname": "unHeight" ,"paramtype": "uint32_t"}, -{ "paramname": "unDepth" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetOverlayFromFile", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pchFilePath" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTexture", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pNativeTextureHandle" ,"paramtype": "void **"}, -{ "paramname": "pNativeTextureRef" ,"paramtype": "void *"}, -{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pHeight" ,"paramtype": "uint32_t *"}, -{ "paramname": "pNativeFormat" ,"paramtype": "uint32_t *"}, -{ "paramname": "pAPI" ,"paramtype": "vr::EGraphicsAPIConvention *"}, -{ "paramname": "pColorSpace" ,"paramtype": "vr::EColorSpace *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ReleaseNativeOverlayHandle", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pNativeTextureHandle" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetOverlayTextureSize", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, -{ "paramname": "pHeight" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "CreateDashboardOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, -{ "paramname": "pchOverlayFriendlyName" ,"paramtype": "const char *"}, -{ "paramname": "pMainHandle" ,"paramtype": "vr::VROverlayHandle_t *"}, -{ "paramname": "pThumbnailHandle" ,"paramtype": "vr::VROverlayHandle_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsDashboardVisible", - "returntype": "bool" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "IsActiveDashboardOverlay", - "returntype": "bool", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetDashboardOverlaySceneProcess", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "unProcessId" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetDashboardOverlaySceneProcess", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "punProcessId" ,"paramtype": "uint32_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowDashboard", - "returntype": "void", - "params": [ -{ "paramname": "pchOverlayToShow" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetPrimaryDashboardDevice", - "returntype": "vr::TrackedDeviceIndex_t" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowKeyboard", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "eInputMode" ,"paramtype": "vr::EGamepadTextInputMode"}, -{ "paramname": "eLineInputMode" ,"paramtype": "vr::EGamepadTextInputLineMode"}, -{ "paramname": "pchDescription" ,"paramtype": "const char *"}, -{ "paramname": "unCharMax" ,"paramtype": "uint32_t"}, -{ "paramname": "pchExistingText" ,"paramtype": "const char *"}, -{ "paramname": "bUseMinimalMode" ,"paramtype": "bool"}, -{ "paramname": "uUserValue" ,"paramtype": "uint64_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "ShowKeyboardForOverlay", - "returntype": "vr::EVROverlayError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "eInputMode" ,"paramtype": "vr::EGamepadTextInputMode"}, -{ "paramname": "eLineInputMode" ,"paramtype": "vr::EGamepadTextInputLineMode"}, -{ "paramname": "pchDescription" ,"paramtype": "const char *"}, -{ "paramname": "unCharMax" ,"paramtype": "uint32_t"}, -{ "paramname": "pchExistingText" ,"paramtype": "const char *"}, -{ "paramname": "bUseMinimalMode" ,"paramtype": "bool"}, -{ "paramname": "uUserValue" ,"paramtype": "uint64_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "GetKeyboardText", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchText" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "cchText" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "HideKeyboard", - "returntype": "void" -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetKeyboardTransformAbsolute", - "returntype": "void", - "params": [ -{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, -{ "paramname": "pmatTrackingOriginToKeyboardTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} - ] -} -,{ - "classname": "vr::IVROverlay", - "methodname": "SetKeyboardPositionForOverlay", - "returntype": "void", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "avoidRect" ,"paramtype": "struct vr::HmdRect2_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadRenderModel_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "ppRenderModel" ,"paramtype": "struct vr::RenderModel_t **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeRenderModel", - "returntype": "void", - "params": [ -{ "paramname": "pRenderModel" ,"paramtype": "struct vr::RenderModel_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadTexture_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "ppTexture" ,"paramtype": "struct vr::RenderModel_TextureMap_t **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeTexture", - "returntype": "void", - "params": [ -{ "paramname": "pTexture" ,"paramtype": "struct vr::RenderModel_TextureMap_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadTextureD3D11_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "pD3D11Device" ,"paramtype": "void *"}, -{ "paramname": "ppD3D11Texture2D" ,"paramtype": "void **"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "LoadIntoTextureD3D11_Async", - "returntype": "vr::EVRRenderModelError", - "params": [ -{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, -{ "paramname": "pDstTexture" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "FreeTextureD3D11", - "returntype": "void", - "params": [ -{ "paramname": "pD3D11Texture2D" ,"paramtype": "void *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "unRenderModelIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchRenderModelName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unRenderModelNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelCount", - "returntype": "uint32_t" -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentCount", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "unComponentIndex" ,"paramtype": "uint32_t"}, -{ "paramname": "pchComponentName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unComponentNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentButtonMask", - "returntype": "uint64_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentRenderModelName", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentRenderModelName" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unComponentRenderModelNameLen" ,"paramtype": "uint32_t"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetComponentState", - "returntype": "bool", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"}, -{ "paramname": "pControllerState" ,"paramtype": "const vr::VRControllerState_t *"}, -{ "paramname": "pState" ,"paramtype": "const struct vr::RenderModel_ControllerMode_State_t *"}, -{ "paramname": "pComponentState" ,"paramtype": "struct vr::RenderModel_ComponentState_t *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "RenderModelHasComponent", - "returntype": "bool", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchComponentName" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelThumbnailURL", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchThumbnailURL" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unThumbnailURLLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRRenderModelError *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelOriginalPath", - "returntype": "uint32_t", - "params": [ -{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, -{ "paramname": "pchOriginalPath" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "unOriginalPathLen" ,"paramtype": "uint32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRRenderModelError *"} - ] -} -,{ - "classname": "vr::IVRRenderModels", - "methodname": "GetRenderModelErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "error" ,"paramtype": "vr::EVRRenderModelError"} - ] -} -,{ - "classname": "vr::IVRNotifications", - "methodname": "CreateNotification", - "returntype": "vr::EVRNotificationError", - "params": [ -{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, -{ "paramname": "ulUserValue" ,"paramtype": "uint64_t"}, -{ "paramname": "type" ,"paramtype": "vr::EVRNotificationType"}, -{ "paramname": "pchText" ,"paramtype": "const char *"}, -{ "paramname": "style" ,"paramtype": "vr::EVRNotificationStyle"}, -{ "paramname": "pImage" ,"paramtype": "const struct vr::NotificationBitmap_t *"}, -{ "paramname": "pNotificationId" ,"paramtype": "vr::VRNotificationId *"} - ] -} -,{ - "classname": "vr::IVRNotifications", - "methodname": "RemoveNotification", - "returntype": "vr::EVRNotificationError", - "params": [ -{ "paramname": "notificationId" ,"paramtype": "vr::VRNotificationId"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetSettingsErrorNameFromEnum", - "returntype": "const char *", - "params": [ -{ "paramname": "eError" ,"paramtype": "vr::EVRSettingsError"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "Sync", - "returntype": "bool", - "params": [ -{ "paramname": "bForce" ,"paramtype": "bool"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetBool", - "returntype": "bool", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "bDefaultValue" ,"paramtype": "bool"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetBool", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "bValue" ,"paramtype": "bool"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetInt32", - "returntype": "int32_t", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "nDefaultValue" ,"paramtype": "int32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetInt32", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "nValue" ,"paramtype": "int32_t"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetFloat", - "returntype": "float", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "flDefaultValue" ,"paramtype": "float"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetFloat", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "flValue" ,"paramtype": "float"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "GetString", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "pchValue" ,"paramtype": "char *"}, -{ "paramname": "unValueLen" ,"paramtype": "uint32_t"}, -{ "paramname": "pchDefaultValue" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "SetString", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "pchValue" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "RemoveSection", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRSettings", - "methodname": "RemoveKeyInSection", - "returntype": "void", - "params": [ -{ "paramname": "pchSection" ,"paramtype": "const char *"}, -{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, -{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "RequestScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pOutScreenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t *"}, -{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, -{ "paramname": "pchPreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "HookScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pSupportedTypes" ,"array_count": "numTypes" ,"paramtype": "const vr::EVRScreenshotType *"}, -{ "paramname": "numTypes" ,"paramtype": "int"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "GetScreenshotPropertyType", - "returntype": "vr::EVRScreenshotType", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVRScreenshotError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "GetScreenshotPropertyFilename", - "returntype": "uint32_t", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "filenameType" ,"paramtype": "vr::EVRScreenshotPropertyFilenames"}, -{ "paramname": "pchFilename" ,"out_string": " " ,"paramtype": "char *"}, -{ "paramname": "cchFilename" ,"paramtype": "uint32_t"}, -{ "paramname": "pError" ,"paramtype": "vr::EVRScreenshotError *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "UpdateScreenshotProgress", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "flProgress" ,"paramtype": "float"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "TakeStereoScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "pOutScreenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t *"}, -{ "paramname": "pchPreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} - ] -} -,{ - "classname": "vr::IVRScreenshots", - "methodname": "SubmitScreenshot", - "returntype": "vr::EVRScreenshotError", - "params": [ -{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, -{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, -{ "paramname": "pchSourcePreviewFilename" ,"paramtype": "const char *"}, -{ "paramname": "pchSourceVRFilename" ,"paramtype": "const char *"} - ] -} -] -} \ No newline at end of file diff --git a/openvr/headers/openvr_capi.h b/openvr/headers/openvr_capi.h deleted file mode 100644 index 76eafd4..0000000 --- a/openvr/headers/openvr_capi.h +++ /dev/null @@ -1,1626 +0,0 @@ -//======= Copyright (c) Valve Corporation, All rights reserved. =============== -// -// Purpose: Header for flatted SteamAPI. Use this for binding to other languages. -// This file is auto-generated, do not edit it. -// -//============================================================================= - -#ifndef __OPENVR_API_FLAT_H__ -#define __OPENVR_API_FLAT_H__ -#if defined( _WIN32 ) || defined( __clang__ ) -#pragma once -#endif - -#ifdef __cplusplus -#define EXTERN_C extern "C" -#else -#define EXTERN_C -#endif - -#define OPENVR_FNTABLE_CALLTYPE __stdcall - -// OPENVR API export macro -#if defined( _WIN32 ) && !defined( _X360 ) - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C __declspec( dllexport ) - #elif defined( OPENVR_API_NODLL ) - #define S_API EXTERN_C - #else - #define S_API extern "C" __declspec( dllimport ) - #endif // OPENVR_API_EXPORTS -#elif defined( GNUC ) - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C __attribute__ ((visibility("default"))) - #else - #define S_API EXTERN_C - #endif // OPENVR_API_EXPORTS -#else // !WIN32 - #if defined( OPENVR_API_EXPORTS ) - #define S_API EXTERN_C - #else - #define S_API EXTERN_C - #endif // OPENVR_API_EXPORTS -#endif - -#include - -#if defined( __WIN32 ) -typedef char bool; -#endif - - -// OpenVR Constants - -static const unsigned int k_unTrackingStringSize = 32; -static const unsigned int k_unMaxDriverDebugResponseSize = 32768; -static const unsigned int k_unTrackedDeviceIndex_Hmd = 0; -static const unsigned int k_unMaxTrackedDeviceCount = 16; -static const unsigned int k_unTrackedDeviceIndexOther = 4294967294; -static const unsigned int k_unTrackedDeviceIndexInvalid = 4294967295; -static const unsigned int k_unMaxPropertyStringSize = 32768; -static const unsigned int k_unControllerStateAxisCount = 5; -static const unsigned long k_ulOverlayHandleInvalid = 0; -static const unsigned int k_unScreenshotHandleInvalid = 0; -static const char * IVRSystem_Version = "IVRSystem_012"; -static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; -static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003"; -static const unsigned int k_unMaxApplicationKeyLength = 128; -static const char * IVRApplications_Version = "IVRApplications_005"; -static const char * IVRChaperone_Version = "IVRChaperone_003"; -static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; -static const char * IVRCompositor_Version = "IVRCompositor_015"; -static const unsigned int k_unVROverlayMaxKeyLength = 128; -static const unsigned int k_unVROverlayMaxNameLength = 128; -static const unsigned int k_unMaxOverlayCount = 32; -static const char * IVROverlay_Version = "IVROverlay_012"; -static const char * k_pch_Controller_Component_GDC2015 = "gdc2015"; -static const char * k_pch_Controller_Component_Base = "base"; -static const char * k_pch_Controller_Component_Tip = "tip"; -static const char * k_pch_Controller_Component_HandGrip = "handgrip"; -static const char * k_pch_Controller_Component_Status = "status"; -static const char * IVRRenderModels_Version = "IVRRenderModels_005"; -static const unsigned int k_unNotificationTextMaxSize = 256; -static const char * IVRNotifications_Version = "IVRNotifications_002"; -static const unsigned int k_unMaxSettingsKeyLength = 128; -static const char * IVRSettings_Version = "IVRSettings_001"; -static const char * k_pch_SteamVR_Section = "steamvr"; -static const char * k_pch_SteamVR_RequireHmd_String = "requireHmd"; -static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; -static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; -static const char * k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; -static const char * k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; -static const char * k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; -static const char * k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; -static const char * k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; -static const char * k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps"; -static const char * k_pch_SteamVR_LogLevel_Int32 = "loglevel"; -static const char * k_pch_SteamVR_IPD_Float = "ipd"; -static const char * k_pch_SteamVR_Background_String = "background"; -static const char * k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; -static const char * k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; -static const char * k_pch_SteamVR_Environment_String = "environment"; -static const char * k_pch_SteamVR_GridColor_String = "gridColor"; -static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; -static const char * k_pch_SteamVR_ShowStage_Bool = "showStage"; -static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; -static const char * k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; -static const char * k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; -static const char * k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; -static const char * k_pch_SteamVR_DirectMode_Bool = "directMode"; -static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; -static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; -static const char * k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; -static const char * k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; -static const char * k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; -static const char * k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; -static const char * k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; -static const char * k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; -static const char * k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; -static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; -static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; -static const char * k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; -static const char * k_pch_Lighthouse_Section = "driver_lighthouse"; -static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; -static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; -static const char * k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; -static const char * k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; -static const char * k_pch_Lighthouse_LighthouseName_String = "lighthousename"; -static const char * k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; -static const char * k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; -static const char * k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; -static const char * k_pch_Null_Section = "driver_null"; -static const char * k_pch_Null_EnableNullDriver_Bool = "enable"; -static const char * k_pch_Null_SerialNumber_String = "serialNumber"; -static const char * k_pch_Null_ModelNumber_String = "modelNumber"; -static const char * k_pch_Null_WindowX_Int32 = "windowX"; -static const char * k_pch_Null_WindowY_Int32 = "windowY"; -static const char * k_pch_Null_WindowWidth_Int32 = "windowWidth"; -static const char * k_pch_Null_WindowHeight_Int32 = "windowHeight"; -static const char * k_pch_Null_RenderWidth_Int32 = "renderWidth"; -static const char * k_pch_Null_RenderHeight_Int32 = "renderHeight"; -static const char * k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; -static const char * k_pch_Null_DisplayFrequency_Float = "displayFrequency"; -static const char * k_pch_UserInterface_Section = "userinterface"; -static const char * k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; -static const char * k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots"; -static const char * k_pch_Notifications_Section = "notifications"; -static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; -static const char * k_pch_Keyboard_Section = "keyboard"; -static const char * k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; -static const char * k_pch_Keyboard_ScaleX = "ScaleX"; -static const char * k_pch_Keyboard_ScaleY = "ScaleY"; -static const char * k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; -static const char * k_pch_Keyboard_OffsetRightX = "OffsetRightX"; -static const char * k_pch_Keyboard_OffsetY = "OffsetY"; -static const char * k_pch_Keyboard_Smoothing = "Smoothing"; -static const char * k_pch_Perf_Section = "perfcheck"; -static const char * k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; -static const char * k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; -static const char * k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; -static const char * k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; -static const char * k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; -static const char * k_pch_Perf_TestData_Float = "perfTestData"; -static const char * k_pch_CollisionBounds_Section = "collisionBounds"; -static const char * k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; -static const char * k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; -static const char * k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; -static const char * k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; -static const char * k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; -static const char * k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; -static const char * k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; -static const char * k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; -static const char * k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; -static const char * k_pch_Camera_Section = "camera"; -static const char * k_pch_Camera_EnableCamera_Bool = "enableCamera"; -static const char * k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; -static const char * k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; -static const char * k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; -static const char * k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; -static const char * k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; -static const char * k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; -static const char * k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; -static const char * k_pch_audio_Section = "audio"; -static const char * k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; -static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice"; -static const char * k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; -static const char * k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; -static const char * k_pch_audio_OffRecordDevice_String = "offRecordDevice"; -static const char * k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; -static const char * k_pch_modelskin_Section = "modelskins"; -static const char * IVRScreenshots_Version = "IVRScreenshots_001"; - -// OpenVR Enums - -typedef enum EVREye -{ - EVREye_Eye_Left = 0, - EVREye_Eye_Right = 1, -} EVREye; - -typedef enum EGraphicsAPIConvention -{ - EGraphicsAPIConvention_API_DirectX = 0, - EGraphicsAPIConvention_API_OpenGL = 1, -} EGraphicsAPIConvention; - -typedef enum EColorSpace -{ - EColorSpace_ColorSpace_Auto = 0, - EColorSpace_ColorSpace_Gamma = 1, - EColorSpace_ColorSpace_Linear = 2, -} EColorSpace; - -typedef enum ETrackingResult -{ - ETrackingResult_TrackingResult_Uninitialized = 1, - ETrackingResult_TrackingResult_Calibrating_InProgress = 100, - ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101, - ETrackingResult_TrackingResult_Running_OK = 200, - ETrackingResult_TrackingResult_Running_OutOfRange = 201, -} ETrackingResult; - -typedef enum ETrackedDeviceClass -{ - ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0, - ETrackedDeviceClass_TrackedDeviceClass_HMD = 1, - ETrackedDeviceClass_TrackedDeviceClass_Controller = 2, - ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4, - ETrackedDeviceClass_TrackedDeviceClass_Other = 1000, -} ETrackedDeviceClass; - -typedef enum ETrackedControllerRole -{ - ETrackedControllerRole_TrackedControllerRole_Invalid = 0, - ETrackedControllerRole_TrackedControllerRole_LeftHand = 1, - ETrackedControllerRole_TrackedControllerRole_RightHand = 2, -} ETrackedControllerRole; - -typedef enum ETrackingUniverseOrigin -{ - ETrackingUniverseOrigin_TrackingUniverseSeated = 0, - ETrackingUniverseOrigin_TrackingUniverseStanding = 1, - ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2, -} ETrackingUniverseOrigin; - -typedef enum ETrackedDeviceProperty -{ - ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000, - ETrackedDeviceProperty_Prop_ModelNumber_String = 1001, - ETrackedDeviceProperty_Prop_SerialNumber_String = 1002, - ETrackedDeviceProperty_Prop_RenderModelName_String = 1003, - ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004, - ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005, - ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006, - ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007, - ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008, - ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009, - ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010, - ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011, - ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012, - ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013, - ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014, - ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015, - ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016, - ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017, - ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018, - ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019, - ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020, - ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021, - ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022, - ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023, - ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025, - ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026, - ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027, - ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028, - ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029, - ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030, - ETrackedDeviceProperty_Prop_DriverVersion_String = 1031, - ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032, - ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000, - ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001, - ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002, - ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003, - ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004, - ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005, - ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006, - ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007, - ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008, - ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009, - ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010, - ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011, - ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012, - ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013, - ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014, - ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015, - ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016, - ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017, - ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018, - ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019, - ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020, - ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021, - ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022, - ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023, - ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024, - ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025, - ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026, - ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027, - ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028, - ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029, - ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030, - ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031, - ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032, - ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033, - ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036, - ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000, - ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001, - ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002, - ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003, - ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004, - ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005, - ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006, - ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000, - ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001, - ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002, - ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003, - ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004, - ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005, - ETrackedDeviceProperty_Prop_ModeLabel_String = 4006, - ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000, - ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999, -} ETrackedDeviceProperty; - -typedef enum ETrackedPropertyError -{ - ETrackedPropertyError_TrackedProp_Success = 0, - ETrackedPropertyError_TrackedProp_WrongDataType = 1, - ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2, - ETrackedPropertyError_TrackedProp_BufferTooSmall = 3, - ETrackedPropertyError_TrackedProp_UnknownProperty = 4, - ETrackedPropertyError_TrackedProp_InvalidDevice = 5, - ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6, - ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7, - ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8, - ETrackedPropertyError_TrackedProp_NotYetAvailable = 9, -} ETrackedPropertyError; - -typedef enum EVRSubmitFlags -{ - EVRSubmitFlags_Submit_Default = 0, - EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1, - EVRSubmitFlags_Submit_GlRenderBuffer = 2, -} EVRSubmitFlags; - -typedef enum EVRState -{ - EVRState_VRState_Undefined = -1, - EVRState_VRState_Off = 0, - EVRState_VRState_Searching = 1, - EVRState_VRState_Searching_Alert = 2, - EVRState_VRState_Ready = 3, - EVRState_VRState_Ready_Alert = 4, - EVRState_VRState_NotReady = 5, - EVRState_VRState_Standby = 6, -} EVRState; - -typedef enum EVREventType -{ - EVREventType_VREvent_None = 0, - EVREventType_VREvent_TrackedDeviceActivated = 100, - EVREventType_VREvent_TrackedDeviceDeactivated = 101, - EVREventType_VREvent_TrackedDeviceUpdated = 102, - EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103, - EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104, - EVREventType_VREvent_IpdChanged = 105, - EVREventType_VREvent_EnterStandbyMode = 106, - EVREventType_VREvent_LeaveStandbyMode = 107, - EVREventType_VREvent_TrackedDeviceRoleChanged = 108, - EVREventType_VREvent_ButtonPress = 200, - EVREventType_VREvent_ButtonUnpress = 201, - EVREventType_VREvent_ButtonTouch = 202, - EVREventType_VREvent_ButtonUntouch = 203, - EVREventType_VREvent_MouseMove = 300, - EVREventType_VREvent_MouseButtonDown = 301, - EVREventType_VREvent_MouseButtonUp = 302, - EVREventType_VREvent_FocusEnter = 303, - EVREventType_VREvent_FocusLeave = 304, - EVREventType_VREvent_Scroll = 305, - EVREventType_VREvent_TouchPadMove = 306, - EVREventType_VREvent_InputFocusCaptured = 400, - EVREventType_VREvent_InputFocusReleased = 401, - EVREventType_VREvent_SceneFocusLost = 402, - EVREventType_VREvent_SceneFocusGained = 403, - EVREventType_VREvent_SceneApplicationChanged = 404, - EVREventType_VREvent_SceneFocusChanged = 405, - EVREventType_VREvent_InputFocusChanged = 406, - EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407, - EVREventType_VREvent_HideRenderModels = 410, - EVREventType_VREvent_ShowRenderModels = 411, - EVREventType_VREvent_OverlayShown = 500, - EVREventType_VREvent_OverlayHidden = 501, - EVREventType_VREvent_DashboardActivated = 502, - EVREventType_VREvent_DashboardDeactivated = 503, - EVREventType_VREvent_DashboardThumbSelected = 504, - EVREventType_VREvent_DashboardRequested = 505, - EVREventType_VREvent_ResetDashboard = 506, - EVREventType_VREvent_RenderToast = 507, - EVREventType_VREvent_ImageLoaded = 508, - EVREventType_VREvent_ShowKeyboard = 509, - EVREventType_VREvent_HideKeyboard = 510, - EVREventType_VREvent_OverlayGamepadFocusGained = 511, - EVREventType_VREvent_OverlayGamepadFocusLost = 512, - EVREventType_VREvent_OverlaySharedTextureChanged = 513, - EVREventType_VREvent_DashboardGuideButtonDown = 514, - EVREventType_VREvent_DashboardGuideButtonUp = 515, - EVREventType_VREvent_ScreenshotTriggered = 516, - EVREventType_VREvent_ImageFailed = 517, - EVREventType_VREvent_RequestScreenshot = 520, - EVREventType_VREvent_ScreenshotTaken = 521, - EVREventType_VREvent_ScreenshotFailed = 522, - EVREventType_VREvent_SubmitScreenshotToDashboard = 523, - EVREventType_VREvent_Notification_Shown = 600, - EVREventType_VREvent_Notification_Hidden = 601, - EVREventType_VREvent_Notification_BeginInteraction = 602, - EVREventType_VREvent_Notification_Destroyed = 603, - EVREventType_VREvent_Quit = 700, - EVREventType_VREvent_ProcessQuit = 701, - EVREventType_VREvent_QuitAborted_UserPrompt = 702, - EVREventType_VREvent_QuitAcknowledged = 703, - EVREventType_VREvent_DriverRequestedQuit = 704, - EVREventType_VREvent_ChaperoneDataHasChanged = 800, - EVREventType_VREvent_ChaperoneUniverseHasChanged = 801, - EVREventType_VREvent_ChaperoneTempDataHasChanged = 802, - EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803, - EVREventType_VREvent_SeatedZeroPoseReset = 804, - EVREventType_VREvent_AudioSettingsHaveChanged = 820, - EVREventType_VREvent_BackgroundSettingHasChanged = 850, - EVREventType_VREvent_CameraSettingsHaveChanged = 851, - EVREventType_VREvent_ReprojectionSettingHasChanged = 852, - EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853, - EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854, - EVREventType_VREvent_StatusUpdate = 900, - EVREventType_VREvent_MCImageUpdated = 1000, - EVREventType_VREvent_FirmwareUpdateStarted = 1100, - EVREventType_VREvent_FirmwareUpdateFinished = 1101, - EVREventType_VREvent_KeyboardClosed = 1200, - EVREventType_VREvent_KeyboardCharInput = 1201, - EVREventType_VREvent_KeyboardDone = 1202, - EVREventType_VREvent_ApplicationTransitionStarted = 1300, - EVREventType_VREvent_ApplicationTransitionAborted = 1301, - EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302, - EVREventType_VREvent_ApplicationListUpdated = 1303, - EVREventType_VREvent_Compositor_MirrorWindowShown = 1400, - EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401, - EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410, - EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411, - EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500, - EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501, - EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502, - EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503, - EVREventType_VREvent_PerformanceTest_EnableCapture = 1600, - EVREventType_VREvent_PerformanceTest_DisableCapture = 1601, - EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602, - EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000, - EVREventType_VREvent_VendorSpecific_Reserved_End = 19999, -} EVREventType; - -typedef enum EDeviceActivityLevel -{ - EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1, - EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0, - EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1, - EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3, -} EDeviceActivityLevel; - -typedef enum EVRButtonId -{ - EVRButtonId_k_EButton_System = 0, - EVRButtonId_k_EButton_ApplicationMenu = 1, - EVRButtonId_k_EButton_Grip = 2, - EVRButtonId_k_EButton_DPad_Left = 3, - EVRButtonId_k_EButton_DPad_Up = 4, - EVRButtonId_k_EButton_DPad_Right = 5, - EVRButtonId_k_EButton_DPad_Down = 6, - EVRButtonId_k_EButton_A = 7, - EVRButtonId_k_EButton_Axis0 = 32, - EVRButtonId_k_EButton_Axis1 = 33, - EVRButtonId_k_EButton_Axis2 = 34, - EVRButtonId_k_EButton_Axis3 = 35, - EVRButtonId_k_EButton_Axis4 = 36, - EVRButtonId_k_EButton_SteamVR_Touchpad = 32, - EVRButtonId_k_EButton_SteamVR_Trigger = 33, - EVRButtonId_k_EButton_Dashboard_Back = 2, - EVRButtonId_k_EButton_Max = 64, -} EVRButtonId; - -typedef enum EVRMouseButton -{ - EVRMouseButton_VRMouseButton_Left = 1, - EVRMouseButton_VRMouseButton_Right = 2, - EVRMouseButton_VRMouseButton_Middle = 4, -} EVRMouseButton; - -typedef enum EVRControllerAxisType -{ - EVRControllerAxisType_k_eControllerAxis_None = 0, - EVRControllerAxisType_k_eControllerAxis_TrackPad = 1, - EVRControllerAxisType_k_eControllerAxis_Joystick = 2, - EVRControllerAxisType_k_eControllerAxis_Trigger = 3, -} EVRControllerAxisType; - -typedef enum EVRControllerEventOutputType -{ - EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0, - EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1, -} EVRControllerEventOutputType; - -typedef enum ECollisionBoundsStyle -{ - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4, - ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5, -} ECollisionBoundsStyle; - -typedef enum EVROverlayError -{ - EVROverlayError_VROverlayError_None = 0, - EVROverlayError_VROverlayError_UnknownOverlay = 10, - EVROverlayError_VROverlayError_InvalidHandle = 11, - EVROverlayError_VROverlayError_PermissionDenied = 12, - EVROverlayError_VROverlayError_OverlayLimitExceeded = 13, - EVROverlayError_VROverlayError_WrongVisibilityType = 14, - EVROverlayError_VROverlayError_KeyTooLong = 15, - EVROverlayError_VROverlayError_NameTooLong = 16, - EVROverlayError_VROverlayError_KeyInUse = 17, - EVROverlayError_VROverlayError_WrongTransformType = 18, - EVROverlayError_VROverlayError_InvalidTrackedDevice = 19, - EVROverlayError_VROverlayError_InvalidParameter = 20, - EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21, - EVROverlayError_VROverlayError_ArrayTooSmall = 22, - EVROverlayError_VROverlayError_RequestFailed = 23, - EVROverlayError_VROverlayError_InvalidTexture = 24, - EVROverlayError_VROverlayError_UnableToLoadFile = 25, - EVROverlayError_VROVerlayError_KeyboardAlreadyInUse = 26, - EVROverlayError_VROverlayError_NoNeighbor = 27, -} EVROverlayError; - -typedef enum EVRApplicationType -{ - EVRApplicationType_VRApplication_Other = 0, - EVRApplicationType_VRApplication_Scene = 1, - EVRApplicationType_VRApplication_Overlay = 2, - EVRApplicationType_VRApplication_Background = 3, - EVRApplicationType_VRApplication_Utility = 4, - EVRApplicationType_VRApplication_VRMonitor = 5, -} EVRApplicationType; - -typedef enum EVRFirmwareError -{ - EVRFirmwareError_VRFirmwareError_None = 0, - EVRFirmwareError_VRFirmwareError_Success = 1, - EVRFirmwareError_VRFirmwareError_Fail = 2, -} EVRFirmwareError; - -typedef enum EVRNotificationError -{ - EVRNotificationError_VRNotificationError_OK = 0, - EVRNotificationError_VRNotificationError_InvalidNotificationId = 100, - EVRNotificationError_VRNotificationError_NotificationQueueFull = 101, - EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102, - EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103, -} EVRNotificationError; - -typedef enum EVRInitError -{ - EVRInitError_VRInitError_None = 0, - EVRInitError_VRInitError_Unknown = 1, - EVRInitError_VRInitError_Init_InstallationNotFound = 100, - EVRInitError_VRInitError_Init_InstallationCorrupt = 101, - EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102, - EVRInitError_VRInitError_Init_FileNotFound = 103, - EVRInitError_VRInitError_Init_FactoryNotFound = 104, - EVRInitError_VRInitError_Init_InterfaceNotFound = 105, - EVRInitError_VRInitError_Init_InvalidInterface = 106, - EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107, - EVRInitError_VRInitError_Init_HmdNotFound = 108, - EVRInitError_VRInitError_Init_NotInitialized = 109, - EVRInitError_VRInitError_Init_PathRegistryNotFound = 110, - EVRInitError_VRInitError_Init_NoConfigPath = 111, - EVRInitError_VRInitError_Init_NoLogPath = 112, - EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113, - EVRInitError_VRInitError_Init_AppInfoInitFailed = 114, - EVRInitError_VRInitError_Init_Retry = 115, - EVRInitError_VRInitError_Init_InitCanceledByUser = 116, - EVRInitError_VRInitError_Init_AnotherAppLaunching = 117, - EVRInitError_VRInitError_Init_SettingsInitFailed = 118, - EVRInitError_VRInitError_Init_ShuttingDown = 119, - EVRInitError_VRInitError_Init_TooManyObjects = 120, - EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121, - EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122, - EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123, - EVRInitError_VRInitError_Init_Internal = 124, - EVRInitError_VRInitError_Driver_Failed = 200, - EVRInitError_VRInitError_Driver_Unknown = 201, - EVRInitError_VRInitError_Driver_HmdUnknown = 202, - EVRInitError_VRInitError_Driver_NotLoaded = 203, - EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204, - EVRInitError_VRInitError_Driver_HmdInUse = 205, - EVRInitError_VRInitError_Driver_NotCalibrated = 206, - EVRInitError_VRInitError_Driver_CalibrationInvalid = 207, - EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208, - EVRInitError_VRInitError_IPC_ServerInitFailed = 300, - EVRInitError_VRInitError_IPC_ConnectFailed = 301, - EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302, - EVRInitError_VRInitError_IPC_CompositorInitFailed = 303, - EVRInitError_VRInitError_IPC_MutexInitFailed = 304, - EVRInitError_VRInitError_IPC_Failed = 305, - EVRInitError_VRInitError_Compositor_Failed = 400, - EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401, - EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402, - EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403, - EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404, - EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000, -} EVRInitError; - -typedef enum EVRScreenshotType -{ - EVRScreenshotType_VRScreenshotType_None = 0, - EVRScreenshotType_VRScreenshotType_Mono = 1, - EVRScreenshotType_VRScreenshotType_Stereo = 2, - EVRScreenshotType_VRScreenshotType_Cubemap = 3, - EVRScreenshotType_VRScreenshotType_MonoPanorama = 4, - EVRScreenshotType_VRScreenshotType_StereoPanorama = 5, -} EVRScreenshotType; - -typedef enum EVRScreenshotPropertyFilenames -{ - EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0, - EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1, -} EVRScreenshotPropertyFilenames; - -typedef enum EVRTrackedCameraError -{ - EVRTrackedCameraError_VRTrackedCameraError_None = 0, - EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100, - EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101, - EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103, - EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104, - EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 105, - EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106, - EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107, - EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108, - EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109, - EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110, - EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111, - EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112, - EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113, - EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114, - EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115, -} EVRTrackedCameraError; - -typedef enum EVRTrackedCameraFrameType -{ - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0, - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1, - EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2, - EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3, -} EVRTrackedCameraFrameType; - -typedef enum EVRApplicationError -{ - EVRApplicationError_VRApplicationError_None = 0, - EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100, - EVRApplicationError_VRApplicationError_NoManifest = 101, - EVRApplicationError_VRApplicationError_NoApplication = 102, - EVRApplicationError_VRApplicationError_InvalidIndex = 103, - EVRApplicationError_VRApplicationError_UnknownApplication = 104, - EVRApplicationError_VRApplicationError_IPCFailed = 105, - EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106, - EVRApplicationError_VRApplicationError_InvalidManifest = 107, - EVRApplicationError_VRApplicationError_InvalidApplication = 108, - EVRApplicationError_VRApplicationError_LaunchFailed = 109, - EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110, - EVRApplicationError_VRApplicationError_LaunchInProgress = 111, - EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112, - EVRApplicationError_VRApplicationError_TransitionAborted = 113, - EVRApplicationError_VRApplicationError_IsTemplate = 114, - EVRApplicationError_VRApplicationError_BufferTooSmall = 200, - EVRApplicationError_VRApplicationError_PropertyNotSet = 201, - EVRApplicationError_VRApplicationError_UnknownProperty = 202, - EVRApplicationError_VRApplicationError_InvalidParameter = 203, -} EVRApplicationError; - -typedef enum EVRApplicationProperty -{ - EVRApplicationProperty_VRApplicationProperty_Name_String = 0, - EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11, - EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12, - EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13, - EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14, - EVRApplicationProperty_VRApplicationProperty_URL_String = 15, - EVRApplicationProperty_VRApplicationProperty_Description_String = 50, - EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51, - EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52, - EVRApplicationProperty_VRApplicationProperty_Source_String = 53, - EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60, - EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61, - EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62, - EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70, -} EVRApplicationProperty; - -typedef enum EVRApplicationTransitionState -{ - EVRApplicationTransitionState_VRApplicationTransition_None = 0, - EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10, - EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch = 11, - EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20, -} EVRApplicationTransitionState; - -typedef enum ChaperoneCalibrationState -{ - ChaperoneCalibrationState_OK = 1, - ChaperoneCalibrationState_Warning = 100, - ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, - ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, - ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, - ChaperoneCalibrationState_Error = 200, - ChaperoneCalibrationState_Error_BaseStationUninitalized = 201, - ChaperoneCalibrationState_Error_BaseStationConflict = 202, - ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, - ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, -} ChaperoneCalibrationState; - -typedef enum EChaperoneConfigFile -{ - EChaperoneConfigFile_Live = 1, - EChaperoneConfigFile_Temp = 2, -} EChaperoneConfigFile; - -typedef enum EChaperoneImportFlags -{ - EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1, -} EChaperoneImportFlags; - -typedef enum EVRCompositorError -{ - EVRCompositorError_VRCompositorError_None = 0, - EVRCompositorError_VRCompositorError_RequestFailed = 1, - EVRCompositorError_VRCompositorError_IncompatibleVersion = 100, - EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101, - EVRCompositorError_VRCompositorError_InvalidTexture = 102, - EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103, - EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104, - EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105, - EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106, - EVRCompositorError_VRCompositorError_IndexOutOfRange = 107, -} EVRCompositorError; - -typedef enum VROverlayInputMethod -{ - VROverlayInputMethod_None = 0, - VROverlayInputMethod_Mouse = 1, -} VROverlayInputMethod; - -typedef enum VROverlayTransformType -{ - VROverlayTransformType_VROverlayTransform_Absolute = 0, - VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransformType_VROverlayTransform_SystemOverlay = 2, - VROverlayTransformType_VROverlayTransform_TrackedComponent = 3, -} VROverlayTransformType; - -typedef enum VROverlayFlags -{ - VROverlayFlags_None = 0, - VROverlayFlags_Curved = 1, - VROverlayFlags_RGSS4X = 2, - VROverlayFlags_NoDashboardTab = 3, - VROverlayFlags_AcceptsGamepadEvents = 4, - VROverlayFlags_ShowGamepadFocus = 5, - VROverlayFlags_SendVRScrollEvents = 6, - VROverlayFlags_SendVRTouchpadEvents = 7, - VROverlayFlags_ShowTouchPadScrollWheel = 8, - VROverlayFlags_TransferOwnershipToInternalProcess = 9, - VROverlayFlags_SideBySide_Parallel = 10, - VROverlayFlags_SideBySide_Crossed = 11, - VROverlayFlags_Panorama = 12, - VROverlayFlags_StereoPanorama = 13, -} VROverlayFlags; - -typedef enum EGamepadTextInputMode -{ - EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0, - EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1, - EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2, -} EGamepadTextInputMode; - -typedef enum EGamepadTextInputLineMode -{ - EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0, - EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1, -} EGamepadTextInputLineMode; - -typedef enum EOverlayDirection -{ - EOverlayDirection_OverlayDirection_Up = 0, - EOverlayDirection_OverlayDirection_Down = 1, - EOverlayDirection_OverlayDirection_Left = 2, - EOverlayDirection_OverlayDirection_Right = 3, - EOverlayDirection_OverlayDirection_Count = 4, -} EOverlayDirection; - -typedef enum EVRRenderModelError -{ - EVRRenderModelError_VRRenderModelError_None = 0, - EVRRenderModelError_VRRenderModelError_Loading = 100, - EVRRenderModelError_VRRenderModelError_NotSupported = 200, - EVRRenderModelError_VRRenderModelError_InvalidArg = 300, - EVRRenderModelError_VRRenderModelError_InvalidModel = 301, - EVRRenderModelError_VRRenderModelError_NoShapes = 302, - EVRRenderModelError_VRRenderModelError_MultipleShapes = 303, - EVRRenderModelError_VRRenderModelError_TooManyVertices = 304, - EVRRenderModelError_VRRenderModelError_MultipleTextures = 305, - EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306, - EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307, - EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308, - EVRRenderModelError_VRRenderModelError_InvalidTexture = 400, -} EVRRenderModelError; - -typedef enum EVRComponentProperty -{ - EVRComponentProperty_VRComponentProperty_IsStatic = 1, - EVRComponentProperty_VRComponentProperty_IsVisible = 2, - EVRComponentProperty_VRComponentProperty_IsTouched = 4, - EVRComponentProperty_VRComponentProperty_IsPressed = 8, - EVRComponentProperty_VRComponentProperty_IsScrolled = 16, -} EVRComponentProperty; - -typedef enum EVRNotificationType -{ - EVRNotificationType_Transient = 0, - EVRNotificationType_Persistent = 1, - EVRNotificationType_Transient_SystemWithUserValue = 2, -} EVRNotificationType; - -typedef enum EVRNotificationStyle -{ - EVRNotificationStyle_None = 0, - EVRNotificationStyle_Application = 100, - EVRNotificationStyle_Contact_Disabled = 200, - EVRNotificationStyle_Contact_Enabled = 201, - EVRNotificationStyle_Contact_Active = 202, -} EVRNotificationStyle; - -typedef enum EVRSettingsError -{ - EVRSettingsError_VRSettingsError_None = 0, - EVRSettingsError_VRSettingsError_IPCFailed = 1, - EVRSettingsError_VRSettingsError_WriteFailed = 2, - EVRSettingsError_VRSettingsError_ReadFailed = 3, -} EVRSettingsError; - -typedef enum EVRScreenshotError -{ - EVRScreenshotError_VRScreenshotError_None = 0, - EVRScreenshotError_VRScreenshotError_RequestFailed = 1, - EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100, - EVRScreenshotError_VRScreenshotError_NotFound = 101, - EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102, - EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108, -} EVRScreenshotError; - - -// OpenVR typedefs - -typedef uint32_t TrackedDeviceIndex_t; -typedef uint32_t VRNotificationId; -typedef uint64_t VROverlayHandle_t; -typedef void * glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; -typedef uint32_t TrackedDeviceIndex_t; -typedef uint64_t VROverlayHandle_t; -typedef uint64_t TrackedCameraHandle_t; -typedef uint32_t ScreenshotHandle_t; -typedef uint32_t VRComponentProperties; -typedef int32_t TextureID_t; -typedef uint32_t VRNotificationId; -typedef EVRInitError HmdError; -typedef EVREye Hmd_Eye; -typedef EGraphicsAPIConvention GraphicsAPIConvention; -typedef EColorSpace ColorSpace; -typedef ETrackingResult HmdTrackingResult; -typedef ETrackedDeviceClass TrackedDeviceClass; -typedef ETrackingUniverseOrigin TrackingUniverseOrigin; -typedef ETrackedDeviceProperty TrackedDeviceProperty; -typedef ETrackedPropertyError TrackedPropertyError; -typedef EVRSubmitFlags VRSubmitFlags_t; -typedef EVRState VRState_t; -typedef ECollisionBoundsStyle CollisionBoundsStyle_t; -typedef EVROverlayError VROverlayError; -typedef EVRFirmwareError VRFirmwareError; -typedef EVRCompositorError VRCompositorError; -typedef EVRScreenshotError VRScreenshotsError; - -// OpenVR Structs - -typedef struct HmdMatrix34_t -{ - float m[3][4]; //float[3][4] -} HmdMatrix34_t; - -typedef struct HmdMatrix44_t -{ - float m[4][4]; //float[4][4] -} HmdMatrix44_t; - -typedef struct HmdVector3_t -{ - float v[3]; //float[3] -} HmdVector3_t; - -typedef struct HmdVector4_t -{ - float v[4]; //float[4] -} HmdVector4_t; - -typedef struct HmdVector3d_t -{ - double v[3]; //double[3] -} HmdVector3d_t; - -typedef struct HmdVector2_t -{ - float v[2]; //float[2] -} HmdVector2_t; - -typedef struct HmdQuaternion_t -{ - double w; - double x; - double y; - double z; -} HmdQuaternion_t; - -typedef struct HmdColor_t -{ - float r; - float g; - float b; - float a; -} HmdColor_t; - -typedef struct HmdQuad_t -{ - struct HmdVector3_t vCorners[4]; //struct vr::HmdVector3_t[4] -} HmdQuad_t; - -typedef struct HmdRect2_t -{ - struct HmdVector2_t vTopLeft; - struct HmdVector2_t vBottomRight; -} HmdRect2_t; - -typedef struct DistortionCoordinates_t -{ - float rfRed[2]; //float[2] - float rfGreen[2]; //float[2] - float rfBlue[2]; //float[2] -} DistortionCoordinates_t; - -typedef struct Texture_t -{ - void * handle; // void * - enum EGraphicsAPIConvention eType; - enum EColorSpace eColorSpace; -} Texture_t; - -typedef struct TrackedDevicePose_t -{ - struct HmdMatrix34_t mDeviceToAbsoluteTracking; - struct HmdVector3_t vVelocity; - struct HmdVector3_t vAngularVelocity; - enum ETrackingResult eTrackingResult; - bool bPoseIsValid; - bool bDeviceIsConnected; -} TrackedDevicePose_t; - -typedef struct VRTextureBounds_t -{ - float uMin; - float vMin; - float uMax; - float vMax; -} VRTextureBounds_t; - -typedef struct VREvent_Controller_t -{ - uint32_t button; -} VREvent_Controller_t; - -typedef struct VREvent_Mouse_t -{ - float x; - float y; - uint32_t button; -} VREvent_Mouse_t; - -typedef struct VREvent_Scroll_t -{ - float xdelta; - float ydelta; - uint32_t repeatCount; -} VREvent_Scroll_t; - -typedef struct VREvent_TouchPadMove_t -{ - bool bFingerDown; - float flSecondsFingerDown; - float fValueXFirst; - float fValueYFirst; - float fValueXRaw; - float fValueYRaw; -} VREvent_TouchPadMove_t; - -typedef struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -} VREvent_Notification_t; - -typedef struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -} VREvent_Process_t; - -typedef struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -} VREvent_Overlay_t; - -typedef struct VREvent_Status_t -{ - uint32_t statusState; -} VREvent_Status_t; - -typedef struct VREvent_Keyboard_t -{ - char * cNewInput[8]; //char[8] - uint64_t uUserValue; -} VREvent_Keyboard_t; - -typedef struct VREvent_Ipd_t -{ - float ipdMeters; -} VREvent_Ipd_t; - -typedef struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -} VREvent_Chaperone_t; - -typedef struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -} VREvent_Reserved_t; - -typedef struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -} VREvent_PerformanceTest_t; - -typedef struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -} VREvent_SeatedZeroPoseReset_t; - -typedef struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -} VREvent_Screenshot_t; - -typedef struct HiddenAreaMesh_t -{ - struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t * - uint32_t unTriangleCount; -} HiddenAreaMesh_t; - -typedef struct VRControllerAxis_t -{ - float x; - float y; -} VRControllerAxis_t; - -typedef struct VRControllerState_t -{ - uint32_t unPacketNum; - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - struct VRControllerAxis_t rAxis[5]; //struct vr::VRControllerAxis_t[5] -} VRControllerState_t; - -typedef struct Compositor_OverlaySettings -{ - uint32_t size; - bool curved; - bool antialias; - float scale; - float distance; - float alpha; - float uOffset; - float vOffset; - float uScale; - float vScale; - float gridDivs; - float gridWidth; - float gridScale; - struct HmdMatrix44_t transform; -} Compositor_OverlaySettings; - -typedef struct CameraVideoStreamFrameHeader_t -{ - enum EVRTrackedCameraFrameType eFrameType; - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - uint32_t nFrameSequence; - struct TrackedDevicePose_t standingTrackedDevicePose; -} CameraVideoStreamFrameHeader_t; - -typedef struct AppOverrideKeys_t -{ - char * pchKey; // const char * - char * pchValue; // const char * -} AppOverrideKeys_t; - -typedef struct Compositor_FrameTiming -{ - uint32_t m_nSize; - uint32_t m_nFrameIndex; - uint32_t m_nNumFramePresents; - uint32_t m_nNumDroppedFrames; - double m_flSystemTimeInSeconds; - float m_flSceneRenderGpuMs; - float m_flTotalRenderGpuMs; - float m_flCompositorRenderGpuMs; - float m_flCompositorRenderCpuMs; - float m_flCompositorIdleCpuMs; - float m_flClientFrameIntervalMs; - float m_flPresentCallCpuMs; - float m_flWaitForPresentCpuMs; - float m_flSubmitFrameMs; - float m_flWaitGetPosesCalledMs; - float m_flNewPosesReadyMs; - float m_flNewFrameReadyMs; - float m_flCompositorUpdateStartMs; - float m_flCompositorUpdateEndMs; - float m_flCompositorRenderStartMs; - TrackedDevicePose_t m_HmdPose; - int32_t m_nFidelityLevel; - uint32_t m_nReprojectionFlags; -} Compositor_FrameTiming; - -typedef struct Compositor_CumulativeStats -{ - uint32_t m_nPid; - uint32_t m_nNumFramePresents; - uint32_t m_nNumDroppedFrames; - uint32_t m_nNumReprojectedFrames; - uint32_t m_nNumFramePresentsOnStartup; - uint32_t m_nNumDroppedFramesOnStartup; - uint32_t m_nNumReprojectedFramesOnStartup; - uint32_t m_nNumLoading; - uint32_t m_nNumFramePresentsLoading; - uint32_t m_nNumDroppedFramesLoading; - uint32_t m_nNumReprojectedFramesLoading; - uint32_t m_nNumTimedOut; - uint32_t m_nNumFramePresentsTimedOut; - uint32_t m_nNumDroppedFramesTimedOut; - uint32_t m_nNumReprojectedFramesTimedOut; -} Compositor_CumulativeStats; - -typedef struct VROverlayIntersectionParams_t -{ - struct HmdVector3_t vSource; - struct HmdVector3_t vDirection; - enum ETrackingUniverseOrigin eOrigin; -} VROverlayIntersectionParams_t; - -typedef struct VROverlayIntersectionResults_t -{ - struct HmdVector3_t vPoint; - struct HmdVector3_t vNormal; - struct HmdVector2_t vUVs; - float fDistance; -} VROverlayIntersectionResults_t; - -typedef struct RenderModel_ComponentState_t -{ - struct HmdMatrix34_t mTrackingToComponentRenderModel; - struct HmdMatrix34_t mTrackingToComponentLocal; - VRComponentProperties uProperties; -} RenderModel_ComponentState_t; - -typedef struct RenderModel_Vertex_t -{ - struct HmdVector3_t vPosition; - struct HmdVector3_t vNormal; - float rfTextureCoord[2]; //float[2] -} RenderModel_Vertex_t; - -typedef struct RenderModel_TextureMap_t -{ - uint16_t unWidth; - uint16_t unHeight; - uint8_t * rubTextureMapData; // const uint8_t * -} RenderModel_TextureMap_t; - -typedef struct RenderModel_t -{ - struct RenderModel_Vertex_t * rVertexData; // const struct vr::RenderModel_Vertex_t * - uint32_t unVertexCount; - uint16_t * rIndexData; // const uint16_t * - uint32_t unTriangleCount; - TextureID_t diffuseTextureId; -} RenderModel_t; - -typedef struct RenderModel_ControllerMode_State_t -{ - bool bScrollWheelVisible; -} RenderModel_ControllerMode_State_t; - -typedef struct NotificationBitmap_t -{ - void * m_pImageData; // void * - int32_t m_nWidth; - int32_t m_nHeight; - int32_t m_nBytesPerPixel; -} NotificationBitmap_t; - -typedef struct COpenVRContext -{ - intptr_t m_pVRSystem; // class vr::IVRSystem * - intptr_t m_pVRChaperone; // class vr::IVRChaperone * - intptr_t m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup * - intptr_t m_pVRCompositor; // class vr::IVRCompositor * - intptr_t m_pVROverlay; // class vr::IVROverlay * - intptr_t m_pVRRenderModels; // class vr::IVRRenderModels * - intptr_t m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay * - intptr_t m_pVRSettings; // class vr::IVRSettings * - intptr_t m_pVRApplications; // class vr::IVRApplications * - intptr_t m_pVRTrackedCamera; // class vr::IVRTrackedCamera * - intptr_t m_pVRScreenshots; // class vr::IVRScreenshots * -} COpenVRContext; - - -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; -} VREvent_Data_t; - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - - -// OpenVR Function Pointer Tables - -struct VR_IVRSystem_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *GetRecommendedRenderTargetSize)(uint32_t * pnWidth, uint32_t * pnHeight); - struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType); - void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pfLeft, float * pfRight, float * pfTop, float * pfBottom); - struct DistortionCoordinates_t (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye); - bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter); - int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)(); - void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex); - bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)(); - bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop); - void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount); - void (OPENVR_FNTABLE_CALLTYPE *ResetSeatedZeroPose)(); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetSeatedZeroPoseToStandingAbsoluteTrackingPose)(); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetRawZeroPoseToStandingAbsoluteTrackingPose)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetSortedTrackedDeviceIndicesOfClass)(ETrackedDeviceClass eTrackedDeviceClass, TrackedDeviceIndex_t * punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex); - EDeviceActivityLevel (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceActivityLevel)(TrackedDeviceIndex_t unDeviceId); - void (OPENVR_FNTABLE_CALLTYPE *ApplyTransform)(struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pTrackedDevicePose, struct HmdMatrix34_t * pTransform); - TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceIndexForControllerRole)(ETrackedControllerRole unDeviceType); - ETrackedControllerRole (OPENVR_FNTABLE_CALLTYPE *GetControllerRoleForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex); - ETrackedDeviceClass (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceClass)(TrackedDeviceIndex_t unDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *IsTrackedDeviceConnected)(TrackedDeviceIndex_t unDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *GetBoolTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - float (OPENVR_FNTABLE_CALLTYPE *GetFloatTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - uint64_t (OPENVR_FNTABLE_CALLTYPE *GetUint64TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetMatrix34TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetStringTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char * pchValue, uint32_t unBufferSize, ETrackedPropertyError * pError); - char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPose)(ETrackingUniverseOrigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, TrackedDevicePose_t * pTrackedDevicePose); - char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType); - struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVREye eEye); - bool (OPENVR_FNTABLE_CALLTYPE *GetControllerState)(TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState); - bool (OPENVR_FNTABLE_CALLTYPE *GetControllerStateWithPose)(ETrackingUniverseOrigin eOrigin, TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, struct TrackedDevicePose_t * pTrackedDevicePose); - void (OPENVR_FNTABLE_CALLTYPE *TriggerHapticPulse)(TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec); - char * (OPENVR_FNTABLE_CALLTYPE *GetButtonIdNameFromEnum)(EVRButtonId eButtonId); - char * (OPENVR_FNTABLE_CALLTYPE *GetControllerAxisTypeNameFromEnum)(EVRControllerAxisType eAxisType); - bool (OPENVR_FNTABLE_CALLTYPE *CaptureInputFocus)(); - void (OPENVR_FNTABLE_CALLTYPE *ReleaseInputFocus)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsInputFocusCapturedByAnotherProcess)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize); - EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(TrackedDeviceIndex_t unDeviceIndex); - void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)(); - void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)(); -}; - -struct VR_IVRExtendedDisplay_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *GetWindowBounds)(int32_t * pnX, int32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight); - void (OPENVR_FNTABLE_CALLTYPE *GetEyeOutputViewport)(EVREye eEye, uint32_t * pnX, uint32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight); - void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex, int32_t * pnAdapterOutputIndex); -}; - -struct VR_IVRTrackedCamera_FnTable -{ - char * (OPENVR_FNTABLE_CALLTYPE *GetCameraErrorNameFromEnum)(EVRTrackedCameraError eCameraError); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDeviceIndex_t nDeviceIndex, bool * pHasCamera); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, uint32_t * pnWidth, uint32_t * pnHeight, uint32_t * pnFrameBufferSize); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinisics)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2_t * pFocalLength, HmdVector2_t * pCenter); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, HmdMatrix44_t * pProjection); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *AcquireVideoStreamingService)(TrackedDeviceIndex_t nDeviceIndex, TrackedCameraHandle_t * pHandle); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamingService)(TrackedCameraHandle_t hTrackedCamera); - EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrameBuffer)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize); -}; - -struct VR_IVRApplications_FnTable -{ - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *AddApplicationManifest)(char * pchApplicationManifestFullPath, bool bTemporary); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *RemoveApplicationManifest)(char * pchApplicationManifestFullPath); - bool (OPENVR_FNTABLE_CALLTYPE *IsApplicationInstalled)(char * pchAppKey); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationCount)(); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByIndex)(uint32_t unApplicationIndex, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByProcessId)(uint32_t unProcessId, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplication)(char * pchAppKey); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchTemplateApplication)(char * pchTemplateAppKey, char * pchNewAppKey, struct AppOverrideKeys_t * pKeys, uint32_t unKeys); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchDashboardOverlay)(char * pchAppKey); - bool (OPENVR_FNTABLE_CALLTYPE *CancelApplicationLaunch)(char * pchAppKey); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *IdentifyApplication)(uint32_t unProcessId, char * pchAppKey); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationProcessId)(char * pchAppKey); - char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsErrorNameFromEnum)(EVRApplicationError error); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyString)(char * pchAppKey, EVRApplicationProperty eProperty, char * pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError * peError); - bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyBool)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError); - uint64_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyUint64)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetApplicationAutoLaunch)(char * pchAppKey, bool bAutoLaunch); - bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationAutoLaunch)(char * pchAppKey); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetStartingApplication)(char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); - EVRApplicationTransitionState (OPENVR_FNTABLE_CALLTYPE *GetTransitionState)(); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey); - char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsTransitionStateNameFromEnum)(EVRApplicationTransitionState state); - bool (OPENVR_FNTABLE_CALLTYPE *IsQuitUserPromptRequested)(); - EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(char * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory); -}; - -struct VR_IVRChaperone_FnTable -{ - ChaperoneCalibrationState (OPENVR_FNTABLE_CALLTYPE *GetCalibrationState)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaSize)(float * pSizeX, float * pSizeZ); - bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaRect)(struct HmdQuad_t * rect); - void (OPENVR_FNTABLE_CALLTYPE *ReloadInfo)(); - void (OPENVR_FNTABLE_CALLTYPE *SetSceneColor)(struct HmdColor_t color); - void (OPENVR_FNTABLE_CALLTYPE *GetBoundsColor)(struct HmdColor_t * pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, struct HmdColor_t * pOutputCameraColor); - bool (OPENVR_FNTABLE_CALLTYPE *AreBoundsVisible)(); - void (OPENVR_FNTABLE_CALLTYPE *ForceBoundsVisible)(bool bForce); -}; - -struct VR_IVRChaperoneSetup_FnTable -{ - bool (OPENVR_FNTABLE_CALLTYPE *CommitWorkingCopy)(EChaperoneConfigFile configFile); - void (OPENVR_FNTABLE_CALLTYPE *RevertWorkingCopy)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaSize)(float * pSizeX, float * pSizeZ); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaRect)(struct HmdQuad_t * rect); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose); - bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatStandingZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingPlayAreaSize)(float sizeX, float sizeZ); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatSeatedZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatStandingZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *ReloadFromDisk)(EChaperoneConfigFile configFile); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose); - void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t unTagCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t * punTagCount); - bool (OPENVR_FNTABLE_CALLTYPE *SetWorkingPhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *GetLivePhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); - bool (OPENVR_FNTABLE_CALLTYPE *ExportLiveToBuffer)(char * pBuffer, uint32_t * pnBufferLength); - bool (OPENVR_FNTABLE_CALLTYPE *ImportFromBufferToWorking)(char * pBuffer, uint32_t nImportFlags); -}; - -struct VR_IVRCompositor_FnTable -{ - void (OPENVR_FNTABLE_CALLTYPE *SetTrackingSpace)(ETrackingUniverseOrigin eOrigin); - ETrackingUniverseOrigin (OPENVR_FNTABLE_CALLTYPE *GetTrackingSpace)(); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *WaitGetPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoseForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex, struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pOutputGamePose); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *Submit)(EVREye eEye, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags); - void (OPENVR_FNTABLE_CALLTYPE *ClearLastSubmittedFrame)(); - void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)(); - bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTiming * pTiming, uint32_t unFramesAgo); - float (OPENVR_FNTABLE_CALLTYPE *GetFrameTimeRemaining)(); - void (OPENVR_FNTABLE_CALLTYPE *GetCumulativeStats)(struct Compositor_CumulativeStats * pStats, uint32_t nStatsSizeInBytes); - void (OPENVR_FNTABLE_CALLTYPE *FadeToColor)(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground); - void (OPENVR_FNTABLE_CALLTYPE *FadeGrid)(float fSeconds, bool bFadeIn); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SetSkyboxOverride)(struct Texture_t * pTextures, uint32_t unTextureCount); - void (OPENVR_FNTABLE_CALLTYPE *ClearSkyboxOverride)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorBringToFront)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorGoToBack)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorQuit)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsFullscreen)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneFocusProcess)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetLastFrameRenderer)(); - bool (OPENVR_FNTABLE_CALLTYPE *CanRenderScene)(); - void (OPENVR_FNTABLE_CALLTYPE *ShowMirrorWindow)(); - void (OPENVR_FNTABLE_CALLTYPE *HideMirrorWindow)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsMirrorWindowVisible)(); - void (OPENVR_FNTABLE_CALLTYPE *CompositorDumpImages)(); - bool (OPENVR_FNTABLE_CALLTYPE *ShouldAppRenderWithLowResources)(); - void (OPENVR_FNTABLE_CALLTYPE *ForceInterleavedReprojectionOn)(bool bOverride); - void (OPENVR_FNTABLE_CALLTYPE *ForceReconnectProcess)(); - void (OPENVR_FNTABLE_CALLTYPE *SuspendRendering)(bool bSuspend); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(EVRScreenshotType type, char * pchDestinationFileName, char * pchVRDestinationFileName); - EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetCurrentScreenshotType)(); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureD3D11)(EVREye eEye, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView); - EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureGL)(EVREye eEye, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle); - bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle); - void (OPENVR_FNTABLE_CALLTYPE *LockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle); - void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle); -}; - -struct VR_IVROverlay_FnTable -{ - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *FindOverlay)(char * pchOverlayKey, VROverlayHandle_t * pOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *DestroyOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetHighQualityOverlay)(VROverlayHandle_t ulOverlayHandle); - VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetHighQualityOverlay)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayKey)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayImageData)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unBufferSize, uint32_t * punWidth, uint32_t * punHeight); - char * (OPENVR_FNTABLE_CALLTYPE *GetOverlayErrorNameFromEnum)(EVROverlayError error); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle, uint32_t unPID); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool * pbEnabled); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float * pfRed, float * pfGreen, float * pfBlue); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float fAlpha); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float * pfAlpha); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float fWidthInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfWidthInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfMinDistanceInMeters, float * pfMaxDistanceInMeters); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace * peTextureColorSpace); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformType)(VROverlayHandle_t ulOverlayHandle, VROverlayTransformType * peTransformType); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin * peTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, char * pchComponentName); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punDeviceIndex, char * pchComponentName, uint32_t unComponentNameSize); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle); - bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetTransformForOverlayCoordinates)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdVector2_t coordinatesInOverlay, struct HmdMatrix34_t * pmatTransform); - bool (OPENVR_FNTABLE_CALLTYPE *PollNextOverlayEvent)(VROverlayHandle_t ulOverlayHandle, struct VREvent_t * pEvent, uint32_t uncbVREvent); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod * peInputMethod); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale); - bool (OPENVR_FNTABLE_CALLTYPE *ComputeOverlayIntersection)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionParams_t * pParams, struct VROverlayIntersectionResults_t * pResults); - bool (OPENVR_FNTABLE_CALLTYPE *HandleControllerOverlayInteractionAsMouse)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex); - bool (OPENVR_FNTABLE_CALLTYPE *IsHoverTargetOverlay)(VROverlayHandle_t ulOverlayHandle); - VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetGamepadFocusOverlay)(); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetGamepadFocusOverlay)(VROverlayHandle_t ulNewFocusOverlay); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *MoveGamepadFocusToNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, struct Texture_t * pTexture); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayHandle_t ulOverlayHandle, char * pchFilePath); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, EGraphicsAPIConvention * pAPI, EColorSpace * pColorSpace); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VROverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureSize)(VROverlayHandle_t ulOverlayHandle, uint32_t * pWidth, uint32_t * pHeight); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle); - bool (OPENVR_FNTABLE_CALLTYPE *IsDashboardVisible)(); - bool (OPENVR_FNTABLE_CALLTYPE *IsActiveDashboardOverlay)(VROverlayHandle_t ulOverlayHandle); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t * punProcessId); - void (OPENVR_FNTABLE_CALLTYPE *ShowDashboard)(char * pchOverlayToShow); - TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetPrimaryDashboardDevice)(); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboard)(EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue); - EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboardForOverlay)(VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetKeyboardText)(char * pchText, uint32_t cchText); - void (OPENVR_FNTABLE_CALLTYPE *HideKeyboard)(); - void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardTransformAbsolute)(ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToKeyboardTransform); - void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardPositionForOverlay)(VROverlayHandle_t ulOverlayHandle, struct HmdRect2_t avoidRect); -}; - -struct VR_IVRRenderModels_FnTable -{ - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadRenderModel_Async)(char * pchRenderModelName, struct RenderModel_t ** ppRenderModel); - void (OPENVR_FNTABLE_CALLTYPE *FreeRenderModel)(struct RenderModel_t * pRenderModel); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTexture_Async)(TextureID_t textureId, struct RenderModel_TextureMap_t ** ppTexture); - void (OPENVR_FNTABLE_CALLTYPE *FreeTexture)(struct RenderModel_TextureMap_t * pTexture); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTextureD3D11_Async)(TextureID_t textureId, void * pD3D11Device, void ** ppD3D11Texture2D); - EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadIntoTextureD3D11_Async)(TextureID_t textureId, void * pDstTexture); - void (OPENVR_FNTABLE_CALLTYPE *FreeTextureD3D11)(void * pD3D11Texture2D); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelName)(uint32_t unRenderModelIndex, char * pchRenderModelName, uint32_t unRenderModelNameLen); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelCount)(); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentCount)(char * pchRenderModelName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentName)(char * pchRenderModelName, uint32_t unComponentIndex, char * pchComponentName, uint32_t unComponentNameLen); - uint64_t (OPENVR_FNTABLE_CALLTYPE *GetComponentButtonMask)(char * pchRenderModelName, char * pchComponentName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentRenderModelName)(char * pchRenderModelName, char * pchComponentName, char * pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen); - bool (OPENVR_FNTABLE_CALLTYPE *GetComponentState)(char * pchRenderModelName, char * pchComponentName, VRControllerState_t * pControllerState, struct RenderModel_ControllerMode_State_t * pState, struct RenderModel_ComponentState_t * pComponentState); - bool (OPENVR_FNTABLE_CALLTYPE *RenderModelHasComponent)(char * pchRenderModelName, char * pchComponentName); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelThumbnailURL)(char * pchRenderModelName, char * pchThumbnailURL, uint32_t unThumbnailURLLen, EVRRenderModelError * peError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelOriginalPath)(char * pchRenderModelName, char * pchOriginalPath, uint32_t unOriginalPathLen, EVRRenderModelError * peError); - char * (OPENVR_FNTABLE_CALLTYPE *GetRenderModelErrorNameFromEnum)(EVRRenderModelError error); -}; - -struct VR_IVRNotifications_FnTable -{ - EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *CreateNotification)(VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, char * pchText, EVRNotificationStyle style, struct NotificationBitmap_t * pImage, VRNotificationId * pNotificationId); - EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *RemoveNotification)(VRNotificationId notificationId); -}; - -struct VR_IVRSettings_FnTable -{ - char * (OPENVR_FNTABLE_CALLTYPE *GetSettingsErrorNameFromEnum)(EVRSettingsError eError); - bool (OPENVR_FNTABLE_CALLTYPE *Sync)(bool bForce, EVRSettingsError * peError); - bool (OPENVR_FNTABLE_CALLTYPE *GetBool)(char * pchSection, char * pchSettingsKey, bool bDefaultValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetBool)(char * pchSection, char * pchSettingsKey, bool bValue, EVRSettingsError * peError); - int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32)(char * pchSection, char * pchSettingsKey, int32_t nDefaultValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetInt32)(char * pchSection, char * pchSettingsKey, int32_t nValue, EVRSettingsError * peError); - float (OPENVR_FNTABLE_CALLTYPE *GetFloat)(char * pchSection, char * pchSettingsKey, float flDefaultValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetFloat)(char * pchSection, char * pchSettingsKey, float flValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *GetString)(char * pchSection, char * pchSettingsKey, char * pchValue, uint32_t unValueLen, char * pchDefaultValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *SetString)(char * pchSection, char * pchSettingsKey, char * pchValue, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *RemoveSection)(char * pchSection, EVRSettingsError * peError); - void (OPENVR_FNTABLE_CALLTYPE *RemoveKeyInSection)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError); -}; - -struct VR_IVRScreenshots_FnTable -{ - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, EVRScreenshotType type, char * pchPreviewFilename, char * pchVRFilename); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *HookScreenshot)(EVRScreenshotType * pSupportedTypes, int numTypes); - EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyType)(ScreenshotHandle_t screenshotHandle, EVRScreenshotError * pError); - uint32_t (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyFilename)(ScreenshotHandle_t screenshotHandle, EVRScreenshotPropertyFilenames filenameType, char * pchFilename, uint32_t cchFilename, EVRScreenshotError * pError); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *UpdateScreenshotProgress)(ScreenshotHandle_t screenshotHandle, float flProgress); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *TakeStereoScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, char * pchPreviewFilename, char * pchVRFilename); - EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *SubmitScreenshot)(ScreenshotHandle_t screenshotHandle, EVRScreenshotType type, char * pchSourcePreviewFilename, char * pchSourceVRFilename); -}; - - -#if 0 -// Global entry points -S_API intptr_t VR_InitInternal( EVRInitError *peError, EVRApplicationType eType ); -S_API void VR_ShutdownInternal(); -S_API bool VR_IsHmdPresent(); -S_API intptr_t VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); -S_API bool VR_IsRuntimeInstalled(); -S_API const char * VR_GetVRInitErrorAsSymbol( EVRInitError error ); -S_API const char * VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); -#endif - -#endif // __OPENVR_API_FLAT_H__ - - diff --git a/openvr/headers/openvr_driver.h b/openvr/headers/openvr_driver.h deleted file mode 100644 index 3f2a21d..0000000 --- a/openvr/headers/openvr_driver.h +++ /dev/null @@ -1,1829 +0,0 @@ -#pragma once - -// openvr_driver.h -//========= Copyright Valve Corporation ============// -// Dynamically generated file. Do not modify this file directly. - -#ifndef _OPENVR_DRIVER_API -#define _OPENVR_DRIVER_API - -#include - - - -// vrtypes.h -#ifndef _INCLUDE_VRTYPES_H -#define _INCLUDE_VRTYPES_H - -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -typedef void* glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; - -// right-handed system -// +y is up -// +x is to the right -// -z is going away from you -// Distance unit is meters -struct HmdMatrix34_t -{ - float m[3][4]; -}; - -struct HmdMatrix44_t -{ - float m[4][4]; -}; - -struct HmdVector3_t -{ - float v[3]; -}; - -struct HmdVector4_t -{ - float v[4]; -}; - -struct HmdVector3d_t -{ - double v[3]; -}; - -struct HmdVector2_t -{ - float v[2]; -}; - -struct HmdQuaternion_t -{ - double w, x, y, z; -}; - -struct HmdColor_t -{ - float r, g, b, a; -}; - -struct HmdQuad_t -{ - HmdVector3_t vCorners[ 4 ]; -}; - -struct HmdRect2_t -{ - HmdVector2_t vTopLeft; - HmdVector2_t vBottomRight; -}; - -/** Used to return the post-distortion UVs for each color channel. -* UVs range from 0 to 1 with 0,0 in the upper left corner of the -* source render target. The 0,0 to 1,1 range covers a single eye. */ -struct DistortionCoordinates_t -{ - float rfRed[2]; - float rfGreen[2]; - float rfBlue[2]; -}; - -enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1 -}; - -enum EGraphicsAPIConvention -{ - API_DirectX = 0, // Normalized Z goes from 0 at the viewer to 1 at the far clip plane - API_OpenGL = 1, // Normalized Z goes from 1 at the viewer to -1 at the far clip plane -}; - -enum EColorSpace -{ - ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. - ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). - ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. -}; - -struct Texture_t -{ - void* handle; // Native d3d texture pointer or GL texture id. - EGraphicsAPIConvention eType; - EColorSpace eColorSpace; -}; - -enum ETrackingResult -{ - TrackingResult_Uninitialized = 1, - - TrackingResult_Calibrating_InProgress = 100, - TrackingResult_Calibrating_OutOfRange = 101, - - TrackingResult_Running_OK = 200, - TrackingResult_Running_OutOfRange = 201, -}; - -static const uint32_t k_unTrackingStringSize = 32; -static const uint32_t k_unMaxDriverDebugResponseSize = 32768; - -/** Used to pass device IDs to API calls */ -typedef uint32_t TrackedDeviceIndex_t; -static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; -static const uint32_t k_unMaxTrackedDeviceCount = 16; -static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; -static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; - -/** Describes what kind of object is being tracked at a given ID */ -enum ETrackedDeviceClass -{ - TrackedDeviceClass_Invalid = 0, // the ID was not valid. - TrackedDeviceClass_HMD = 1, // Head-Mounted Displays - TrackedDeviceClass_Controller = 2, // Tracked controllers - TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points - - TrackedDeviceClass_Other = 1000, -}; - - -/** Describes what specific role associated with a tracked device */ -enum ETrackedControllerRole -{ - TrackedControllerRole_Invalid = 0, // Invalid value for controller type - TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand - TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand -}; - - -/** describes a single pose for a tracked object */ -struct TrackedDevicePose_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; - HmdVector3_t vVelocity; // velocity in tracker space in m/s - HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) - ETrackingResult eTrackingResult; - bool bPoseIsValid; - - // This indicates that there is a device connected for this spot in the pose array. - // It could go from true to false if the user unplugs the device. - bool bDeviceIsConnected; -}; - -/** Identifies which style of tracking origin the application wants to use -* for the poses it is requesting */ -enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose - TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user - TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. You probably don't want this one. -}; - - -/** Each entry in this enum represents a property that can be retrieved about a -* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ -enum ETrackedDeviceProperty -{ - // general properties that apply to all device classes - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - - // Properties that are unique to TrackedDeviceClass_HMD - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - - // Properties that are unique to TrackedDeviceClass_Controller - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType - Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType - Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType - Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType - Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType - - // Properties that are unique to TrackedDeviceClass_TrackingReference - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - - // Vendors are free to expose private debug data in this reserved region - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -}; - -/** No string property will ever be longer than this length */ -static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; - -/** Used to return errors that occur when reading properties. */ -enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. -}; - -/** Allows the application to control what part of the provided texture will be used in the -* frame buffer. */ -struct VRTextureBounds_t -{ - float uMin, vMin; - float uMax, vMax; -}; - - -/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ -enum EVRSubmitFlags -{ - // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. - Submit_Default = 0x00, - - // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear - // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by - // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). - Submit_LensDistortionAlreadyApplied = 0x01, - - // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. - Submit_GlRenderBuffer = 0x02, -}; - - -/** Status of the overall system or tracked objects */ -enum EVRState -{ - VRState_Undefined = -1, - VRState_Off = 0, - VRState_Searching = 1, - VRState_Searching_Alert = 2, - VRState_Ready = 3, - VRState_Ready_Alert = 4, - VRState_NotReady = 5, - VRState_Standby = 6, -}; - -/** The types of events that could be posted (and what the parameters mean for each event type) */ -enum EVREventType -{ - VREvent_None = 0, - - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - - VREvent_ButtonPress = 200, // data is controller - VREvent_ButtonUnpress = 201, // data is controller - VREvent_ButtonTouch = 202, // data is controller - VREvent_ButtonUntouch = 203, // data is controller - - VREvent_MouseMove = 300, // data is mouse - VREvent_MouseButtonDown = 301, // data is mouse - VREvent_MouseButtonUp = 302, // data is mouse - VREvent_FocusEnter = 303, // data is overlay - VREvent_FocusLeave = 304, // data is overlay - VREvent_Scroll = 305, // data is mouse - VREvent_TouchPadMove = 306, // data is mouse - - VREvent_InputFocusCaptured = 400, // data is process DEPRECATED - VREvent_InputFocusReleased = 401, // data is process DEPRECATED - VREvent_SceneFocusLost = 402, // data is process - VREvent_SceneFocusGained = 403, // data is process - VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) - VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene - VREvent_InputFocusChanged = 406, // data is process - VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process - - VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily - VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility - - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay - VREvent_ResetDashboard = 506, // Send to the overlay manager - VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID - VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading - VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it - VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it - VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it - VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot - VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load - - // Screenshot API - VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot - VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken - VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken - VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted - - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - - VREvent_Quit = 700, // data is process - VREvent_ProcessQuit = 701, // data is process - VREvent_QuitAborted_UserPrompt = 702, // data is process - VREvent_QuitAcknowledged = 703, // data is process - VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down - - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - - VREvent_AudioSettingsHaveChanged = 820, - - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - - VREvent_StatusUpdate = 900, - - VREvent_MCImageUpdated = 1000, - - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard - - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - - // Vendors are free to expose private events in this reserved region - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -}; - - -/** Level of Hmd activity */ -enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, - k_EDeviceActivityLevel_UserInteraction = 1, - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - k_EDeviceActivityLevel_Standby = 3, -}; - - -/** VR controller button and axis IDs */ -enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - - // aliases for well known controllers - k_EButton_SteamVR_Touchpad = k_EButton_Axis0, - k_EButton_SteamVR_Trigger = k_EButton_Axis1, - - k_EButton_Dashboard_Back = k_EButton_Grip, - - k_EButton_Max = 64 -}; - -inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } - -/** used for controller button events */ -struct VREvent_Controller_t -{ - uint32_t button; // EVRButtonId enum -}; - - -/** used for simulated mouse events in overlay space */ -enum EVRMouseButton -{ - VRMouseButton_Left = 0x0001, - VRMouseButton_Right = 0x0002, - VRMouseButton_Middle = 0x0004, -}; - - -/** used for simulated mouse events in overlay space */ -struct VREvent_Mouse_t -{ - float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 - uint32_t button; // EVRMouseButton enum -}; - -/** used for simulated mouse wheel scroll in overlay space */ -struct VREvent_Scroll_t -{ - float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe - uint32_t repeatCount; -}; - -/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger - is on the touchpad (or just released from it) -**/ -struct VREvent_TouchPadMove_t -{ - // true if the users finger is detected on the touch pad - bool bFingerDown; - - // How long the finger has been down in seconds - float flSecondsFingerDown; - - // These values indicate the starting finger position (so you can do some basic swipe stuff) - float fValueXFirst; - float fValueYFirst; - - // This is the raw sampled coordinate without deadzoning - float fValueXRaw; - float fValueYRaw; -}; - -/** notification related events. Details will still change at this point */ -struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -}; - -/** Used for events about processes */ -struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Status_t -{ - uint32_t statusState; // EVRState enum -}; - -/** Used for keyboard events **/ -struct VREvent_Keyboard_t -{ - char cNewInput[8]; // Up to 11 bytes of new input - uint64_t uUserValue; // Possible flags about the new input -}; - -struct VREvent_Ipd_t -{ - float ipdMeters; -}; - -struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -}; - -/** Not actually used for any events */ -struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -}; - -struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -}; - -struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -}; - -struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -}; - -/** If you change this you must manually update openvr_interop.cs.py */ -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - VREvent_Screenshot_t screenshot; -} VREvent_Data_t; - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - - -/** The mesh to draw into the stencil (or depth) buffer to perform -* early stencil (or depth) kills of pixels that will never appear on the HMD. -* This mesh draws on all the pixels that will be hidden after distortion. -* -* If the HMD does not provide a visible area mesh pVertexData will be -* NULL and unTriangleCount will be 0. */ -struct HiddenAreaMesh_t -{ - const HmdVector2_t *pVertexData; - uint32_t unTriangleCount; -}; - - -/** Identifies what kind of axis is on the controller at index n. Read this type -* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); -*/ -enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis -}; - - -/** contains information about one axis on the controller */ -struct VRControllerAxis_t -{ - float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. - float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. -}; - - -/** the number of axes in the controller state */ -static const uint32_t k_unControllerStateAxisCount = 5; - - -/** Holds all the state of a controller at one moment in time. */ -struct VRControllerState001_t -{ - // If packet num matches that on your prior call, then the controller state hasn't been changed since - // your last call and there is no need to process it - uint32_t unPacketNum; - - // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - - // Axis data for the controller's analog inputs - VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; -}; - - -typedef VRControllerState001_t VRControllerState_t; - - -/** determines how to provide output to the application of various event processing functions. */ -enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -}; - - - -/** Collision Bounds Style */ -enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE, - COLLISION_BOUNDS_STYLE_SQUARES, - COLLISION_BOUNDS_STYLE_ADVANCED, - COLLISION_BOUNDS_STYLE_NONE, - - COLLISION_BOUNDS_STYLE_COUNT -}; - -/** Allows the application to customize how the overlay appears in the compositor */ -struct Compositor_OverlaySettings -{ - uint32_t size; // sizeof(Compositor_OverlaySettings) - bool curved, antialias; - float scale, distance, alpha; - float uOffset, vOffset, uScale, vScale; - float gridDivs, gridWidth, gridScale; - HmdMatrix44_t transform; -}; - -/** used to refer to a single VR overlay */ -typedef uint64_t VROverlayHandle_t; - -static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; - -/** Errors that can occur around VR overlays */ -enum EVROverlayError -{ - VROverlayError_None = 0, - - VROverlayError_UnknownOverlay = 10, - VROverlayError_InvalidHandle = 11, - VROverlayError_PermissionDenied = 12, - VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist - VROverlayError_WrongVisibilityType = 14, - VROverlayError_KeyTooLong = 15, - VROverlayError_NameTooLong = 16, - VROverlayError_KeyInUse = 17, - VROverlayError_WrongTransformType = 18, - VROverlayError_InvalidTrackedDevice = 19, - VROverlayError_InvalidParameter = 20, - VROverlayError_ThumbnailCantBeDestroyed = 21, - VROverlayError_ArrayTooSmall = 22, - VROverlayError_RequestFailed = 23, - VROverlayError_InvalidTexture = 24, - VROverlayError_UnableToLoadFile = 25, - VROVerlayError_KeyboardAlreadyInUse = 26, - VROverlayError_NoNeighbor = 27, -}; - -/** enum values to pass in to VR_Init to identify whether the application will -* draw a 3D scene. */ -enum EVRApplicationType -{ - VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries - VRApplication_Scene = 1, // Application will submit 3D frames - VRApplication_Overlay = 2, // Application only interacts with overlays - VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not - // keep it running if everything else quits. - VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility - // interfaces (like IVRSettings and IVRApplications) but not hardware. - VRApplication_VRMonitor = 5, // Reserved for vrmonitor -}; - - -/** error codes for firmware */ -enum EVRFirmwareError -{ - VRFirmwareError_None = 0, - VRFirmwareError_Success = 1, - VRFirmwareError_Fail = 2, -}; - - -/** error codes for notifications */ -enum EVRNotificationError -{ - VRNotificationError_OK = 0, - VRNotificationError_InvalidNotificationId = 100, - VRNotificationError_NotificationQueueFull = 101, - VRNotificationError_InvalidOverlayHandle = 102, - VRNotificationError_SystemWithUserValueAlreadyExists = 103, -}; - - -/** error codes returned by Vr_Init */ - -// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp -enum EVRInitError -{ - VRInitError_None = 0, - VRInitError_Unknown = 1, - - VRInitError_Init_InstallationNotFound = 100, - VRInitError_Init_InstallationCorrupt = 101, - VRInitError_Init_VRClientDLLNotFound = 102, - VRInitError_Init_FileNotFound = 103, - VRInitError_Init_FactoryNotFound = 104, - VRInitError_Init_InterfaceNotFound = 105, - VRInitError_Init_InvalidInterface = 106, - VRInitError_Init_UserConfigDirectoryInvalid = 107, - VRInitError_Init_HmdNotFound = 108, - VRInitError_Init_NotInitialized = 109, - VRInitError_Init_PathRegistryNotFound = 110, - VRInitError_Init_NoConfigPath = 111, - VRInitError_Init_NoLogPath = 112, - VRInitError_Init_PathRegistryNotWritable = 113, - VRInitError_Init_AppInfoInitFailed = 114, - VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver - VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup - VRInitError_Init_AnotherAppLaunching = 117, - VRInitError_Init_SettingsInitFailed = 118, - VRInitError_Init_ShuttingDown = 119, - VRInitError_Init_TooManyObjects = 120, - VRInitError_Init_NoServerForBackgroundApp = 121, - VRInitError_Init_NotSupportedWithCompositor = 122, - VRInitError_Init_NotAvailableToUtilityApps = 123, - VRInitError_Init_Internal = 124, - - VRInitError_Driver_Failed = 200, - VRInitError_Driver_Unknown = 201, - VRInitError_Driver_HmdUnknown = 202, - VRInitError_Driver_NotLoaded = 203, - VRInitError_Driver_RuntimeOutOfDate = 204, - VRInitError_Driver_HmdInUse = 205, - VRInitError_Driver_NotCalibrated = 206, - VRInitError_Driver_CalibrationInvalid = 207, - VRInitError_Driver_HmdDisplayNotFound = 208, - - VRInitError_IPC_ServerInitFailed = 300, - VRInitError_IPC_ConnectFailed = 301, - VRInitError_IPC_SharedStateInitFailed = 302, - VRInitError_IPC_CompositorInitFailed = 303, - VRInitError_IPC_MutexInitFailed = 304, - VRInitError_IPC_Failed = 305, - - VRInitError_Compositor_Failed = 400, - VRInitError_Compositor_D3D11HardwareRequired = 401, - VRInitError_Compositor_FirmwareRequiresUpdate = 402, - VRInitError_Compositor_OverlayInitFailed = 403, - VRInitError_Compositor_ScreenshotsInitFailed = 404, - - VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - - VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - - VRInitError_Steam_SteamInstallationNotFound = 2000, -}; - -enum EVRScreenshotType -{ - VRScreenshotType_None = 0, - VRScreenshotType_Mono = 1, // left eye only - VRScreenshotType_Stereo = 2, - VRScreenshotType_Cubemap = 3, - VRScreenshotType_MonoPanorama = 4, - VRScreenshotType_StereoPanorama = 5 -}; - -enum EVRScreenshotPropertyFilenames -{ - VRScreenshotPropertyFilenames_Preview = 0, - VRScreenshotPropertyFilenames_VR = 1, -}; - -enum EVRTrackedCameraError -{ - VRTrackedCameraError_None = 0, - VRTrackedCameraError_OperationFailed = 100, - VRTrackedCameraError_InvalidHandle = 101, - VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - VRTrackedCameraError_OutOfHandles = 103, - VRTrackedCameraError_IPCFailure = 104, - VRTrackedCameraError_NotSupportedForThisDevice = 105, - VRTrackedCameraError_SharedMemoryFailure = 106, - VRTrackedCameraError_FrameBufferingFailure = 107, - VRTrackedCameraError_StreamSetupFailure = 108, - VRTrackedCameraError_InvalidGLTextureId = 109, - VRTrackedCameraError_InvalidSharedTextureHandle = 110, - VRTrackedCameraError_FailedToGetGLTextureId = 111, - VRTrackedCameraError_SharedTextureFailure = 112, - VRTrackedCameraError_NoFrameAvailable = 113, - VRTrackedCameraError_InvalidArgument = 114, - VRTrackedCameraError_InvalidFrameBufferSize = 115, -}; - -enum EVRTrackedCameraFrameType -{ - VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. - VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. - VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. - MAX_CAMERA_FRAME_TYPES -}; - -typedef uint64_t TrackedCameraHandle_t; -#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) - -struct CameraVideoStreamFrameHeader_t -{ - EVRTrackedCameraFrameType eFrameType; - - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - - uint32_t nFrameSequence; - - TrackedDevicePose_t standingTrackedDevicePose; -}; - -// Screenshot types -typedef uint32_t ScreenshotHandle_t; - -static const uint32_t k_unScreenshotHandleInvalid = 0; - -#pragma pack( pop ) - -// figure out how to import from the VR API dll -#if defined(_WIN32) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __declspec( dllexport ) -#else -#define VR_INTERFACE extern "C" __declspec( dllimport ) -#endif - -#elif defined(GNUC) || defined(COMPILER_GCC) || defined(__APPLE__) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) -#else -#define VR_INTERFACE extern "C" -#endif - -#else -#error "Unsupported Platform." -#endif - - -#if defined( _WIN32 ) -#define VR_CALLTYPE __cdecl -#else -#define VR_CALLTYPE -#endif - -} // namespace vr - -#endif // _INCLUDE_VRTYPES_H - - -// vrtrackedcameratypes.h -#ifndef _VRTRACKEDCAMERATYPES_H -#define _VRTRACKEDCAMERATYPES_H - -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -enum ECameraVideoStreamFormat -{ - CVS_FORMAT_UNKNOWN = 0, - CVS_FORMAT_RAW10 = 1, // 10 bits per pixel - CVS_FORMAT_NV12 = 2, // 12 bits per pixel - CVS_FORMAT_RGB24 = 3, // 24 bits per pixel - CVS_MAX_FORMATS -}; - -enum ECameraCompatibilityMode -{ - CAMERA_COMPAT_MODE_BULK_DEFAULT = 0, - CAMERA_COMPAT_MODE_BULK_64K_DMA, - CAMERA_COMPAT_MODE_BULK_16K_DMA, - CAMERA_COMPAT_MODE_BULK_8K_DMA, - CAMERA_COMPAT_MODE_ISO_52FPS, - CAMERA_COMPAT_MODE_ISO_50FPS, - CAMERA_COMPAT_MODE_ISO_48FPS, - CAMERA_COMPAT_MODE_ISO_46FPS, - CAMERA_COMPAT_MODE_ISO_44FPS, - CAMERA_COMPAT_MODE_ISO_42FPS, - CAMERA_COMPAT_MODE_ISO_40FPS, - CAMERA_COMPAT_MODE_ISO_35FPS, - CAMERA_COMPAT_MODE_ISO_30FPS, - MAX_CAMERA_COMPAT_MODES -}; - -#ifdef _MSC_VER -#define VR_CAMERA_DECL_ALIGN( x ) __declspec( align( x ) ) -#else -#define VR_CAMERA_DECL_ALIGN( x ) // -#endif - -#define MAX_CAMERA_FRAME_SHARED_HANDLES 4 - -VR_CAMERA_DECL_ALIGN( 8 ) struct CameraVideoStreamFrame_t -{ - ECameraVideoStreamFormat m_nStreamFormat; - - uint32_t m_nWidth; - uint32_t m_nHeight; - - uint32_t m_nImageDataSize; // Based on stream format, width, height - - uint32_t m_nFrameSequence; // Starts from 0 when stream starts. - - uint32_t m_nBufferIndex; // Identifies which buffer the image data is hosted - uint32_t m_nBufferCount; // Total number of configured buffers - - uint32_t m_nExposureTime; - - uint32_t m_nISPFrameTimeStamp; // Driver provided time stamp per driver centric time base - uint32_t m_nISPReferenceTimeStamp; - uint32_t m_nSyncCounter; - - uint32_t m_nCamSyncEvents; - uint32_t m_nISPSyncEvents; - - double m_flReferenceCamSyncTime; - - double m_flFrameElapsedTime; // Starts from 0 when stream starts. In seconds. - double m_flFrameDeliveryRate; - - double m_flFrameCaptureTime_DriverAbsolute; // In USB time, via AuxEvent - double m_flFrameCaptureTime_ServerRelative; // In System time within the server - uint64_t m_nFrameCaptureTicks_ServerAbsolute; // In system ticks within the server - double m_flFrameCaptureTime_ClientRelative; // At the client, relative to when the frame was exposed/captured. - - double m_flSyncMarkerError; - - TrackedDevicePose_t m_StandingTrackedDevicePose; // Supplied by HMD layer when used as a tracked camera - - uint64_t m_pImageData; -}; - -#pragma pack( pop ) - -} - -#endif // _VRTRACKEDCAMERATYPES_H -// ivrsettings.h -namespace vr -{ - enum EVRSettingsError - { - VRSettingsError_None = 0, - VRSettingsError_IPCFailed = 1, - VRSettingsError_WriteFailed = 2, - VRSettingsError_ReadFailed = 3, - }; - - // The maximum length of a settings key - static const uint32_t k_unMaxSettingsKeyLength = 128; - - class IVRSettings - { - public: - virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; - - // Returns true if file sync occurred (force or settings dirty) - virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; - - virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, bool bDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; - virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; - virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, float flDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void GetString( const char *pchSection, const char *pchSettingsKey, char *pchValue, uint32_t unValueLen, const char *pchDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; - - virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; - virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - }; - - //----------------------------------------------------------------------------- - static const char * const IVRSettings_Version = "IVRSettings_001"; - - //----------------------------------------------------------------------------- - // steamvr keys - - static const char * const k_pch_SteamVR_Section = "steamvr"; - static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; - static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - static const char * const k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; - static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; - static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - static const char * const k_pch_SteamVR_IPD_Float = "ipd"; - static const char * const k_pch_SteamVR_Background_String = "background"; - static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - static const char * const k_pch_SteamVR_Environment_String = "environment"; - static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; - static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; - static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - static const char * const k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; - static const char * const k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; - static const char * const k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; - static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; - static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - static const char * const k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; - static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; - static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - - //----------------------------------------------------------------------------- - // lighthouse keys - - static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; - static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - - static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - static const char * const k_pch_Lighthouse_LighthouseName_String = "lighthousename"; - static const char * const k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; - static const char * const k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; - static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - - //----------------------------------------------------------------------------- - // null keys - - static const char * const k_pch_Null_Section = "driver_null"; - static const char * const k_pch_Null_EnableNullDriver_Bool = "enable"; - static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; - static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; - static const char * const k_pch_Null_WindowX_Int32 = "windowX"; - static const char * const k_pch_Null_WindowY_Int32 = "windowY"; - static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; - static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; - static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; - static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; - static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - - //----------------------------------------------------------------------------- - // user interface keys - static const char * const k_pch_UserInterface_Section = "userinterface"; - static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - static const char * const k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots"; - - //----------------------------------------------------------------------------- - // notification keys - static const char * const k_pch_Notifications_Section = "notifications"; - static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - - //----------------------------------------------------------------------------- - // keyboard keys - static const char * const k_pch_Keyboard_Section = "keyboard"; - static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; - static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; - static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; - static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; - - //----------------------------------------------------------------------------- - // perf keys - static const char * const k_pch_Perf_Section = "perfcheck"; - static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - static const char * const k_pch_Perf_TestData_Float = "perfTestData"; - - //----------------------------------------------------------------------------- - // collision bounds keys - static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; - static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // camera keys - static const char * const k_pch_Camera_Section = "camera"; - static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; - static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // audio keys - static const char * const k_pch_audio_Section = "audio"; - static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - - //----------------------------------------------------------------------------- - // model skin keys - static const char * const k_pch_modelskin_Section = "modelskins"; - -} // namespace vr - -// iservertrackeddevicedriver.h -namespace vr -{ - - -struct DriverPoseQuaternion_t -{ - double w, x, y, z; -}; - -struct DriverPose_t -{ - /* Time offset of this pose, in seconds from the actual time of the pose, - * relative to the time of the PoseUpdated() call made by the driver. - */ - double poseTimeOffset; - - /* Generally, the pose maintained by a driver - * is in an inertial coordinate system different - * from the world system of x+ right, y+ up, z+ back. - * Also, the driver is not usually tracking the "head" position, - * but instead an internal IMU or another reference point in the HMD. - * The following two transforms transform positions and orientations - * to app world space from driver world space, - * and to HMD head space from driver local body space. - * - * We maintain the driver pose state in its internal coordinate system, - * so we can do the pose prediction math without having to - * use angular acceleration. A driver's angular acceleration is generally not measured, - * and is instead calculated from successive samples of angular velocity. - * This leads to a noisy angular acceleration values, which are also - * lagged due to the filtering required to reduce noise to an acceptable level. - */ - vr::HmdQuaternion_t qWorldFromDriverRotation; - double vecWorldFromDriverTranslation[ 3 ]; - - vr::HmdQuaternion_t qDriverFromHeadRotation; - double vecDriverFromHeadTranslation[ 3 ]; - - /* State of driver pose, in meters and radians. */ - /* Position of the driver tracking reference in driver world space - * +[0] (x) is right - * +[1] (y) is up - * -[2] (z) is forward - */ - double vecPosition[ 3 ]; - - /* Velocity of the pose in meters/second */ - double vecVelocity[ 3 ]; - - /* Acceleration of the pose in meters/second */ - double vecAcceleration[ 3 ]; - - /* Orientation of the tracker, represented as a quaternion */ - vr::HmdQuaternion_t qRotation; - - /* Angular velocity of the pose in axis-angle - * representation. The direction is the angle of - * rotation and the magnitude is the angle around - * that axis in radians/second. */ - double vecAngularVelocity[ 3 ]; - - /* Angular acceleration of the pose in axis-angle - * representation. The direction is the angle of - * rotation and the magnitude is the angle around - * that axis in radians/second^2. */ - double vecAngularAcceleration[ 3 ]; - - ETrackingResult result; - - bool poseIsValid; - bool willDriftInYaw; - bool shouldApplyHeadModel; - bool deviceIsConnected; -}; - - -// ---------------------------------------------------------------------------------------------- -// Purpose: Represents a single tracked device in a driver -// ---------------------------------------------------------------------------------------------- -class ITrackedDeviceServerDriver -{ -public: - - // ------------------------------------ - // Management Methods - // ------------------------------------ - /** This is called before an HMD is returned to the application. It will always be - * called before any display or tracking methods. Memory and processor use by the - * ITrackedDeviceServerDriver object should be kept to a minimum until it is activated. - * The pose listener is guaranteed to be valid until Deactivate is called, but - * should not be used after that point. */ - virtual EVRInitError Activate( uint32_t unObjectId ) = 0; - - /** This is called when The VR system is switching from this Hmd being the active display - * to another Hmd being the active display. The driver should clean whatever memory - * and thread use it can when it is deactivated */ - virtual void Deactivate() = 0; - - /** Handles a request from the system to power off this device */ - virtual void PowerOff() = 0; - - /** Requests a component interface of the driver for device-specific functionality. The driver should return NULL - * if the requested interface or version is not supported. */ - virtual void *GetComponent( const char *pchComponentNameAndVersion ) = 0; - - /** A VR Client has made this debug request of the driver. The set of valid requests is entirely - * up to the driver and the client to figure out, as is the format of the response. Responses that - * exceed the length of the supplied buffer should be truncated and null terminated */ - virtual void DebugRequest( const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; - - // ------------------------------------ - // Tracking Methods - // ------------------------------------ - virtual DriverPose_t GetPose() = 0; - - // ------------------------------------ - // Property Methods - // ------------------------------------ - - /** Returns a bool property. If the property is not available this function will return false. */ - virtual bool GetBoolTrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; - - /** Returns a float property. If the property is not available this function will return 0. */ - virtual float GetFloatTrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; - - /** Returns an int property. If the property is not available this function will return 0. */ - virtual int32_t GetInt32TrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; - - /** Returns a uint64 property. If the property is not available this function will return 0. */ - virtual uint64_t GetUint64TrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; - - /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ - virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; - - /** Returns a string property. If the property is not available this function will return 0 and pError will be - * set to an error. Otherwise it returns the length of the number of bytes necessary to hold this string including - * the trailing null. If the buffer is too small the error will be TrackedProp_BufferTooSmall. Strings will - * generally fit in buffers of k_unTrackingStringSize characters. Drivers may not return strings longer than - * k_unMaxPropertyStringSize. */ - virtual uint32_t GetStringTrackedDeviceProperty( ETrackedDeviceProperty prop, char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError ) = 0; - -}; - - - -static const char *ITrackedDeviceServerDriver_Version = "ITrackedDeviceServerDriver_004"; - -} -// ivrdisplaycomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: The display component on a single tracked device - // ---------------------------------------------------------------------------------------------- - class IVRDisplayComponent - { - public: - - // ------------------------------------ - // Display Methods - // ------------------------------------ - - /** Size and position that the window needs to be on the VR display. */ - virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Returns true if the display is extending the desktop. */ - virtual bool IsDisplayOnDesktop( ) = 0; - - /** Returns true if the display is real and not a fictional display. */ - virtual bool IsDisplayRealDisplay( ) = 0; - - /** Suggested size for the intermediate render target that the distortion pulls from. */ - virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Gets the viewport in the frame buffer to draw the output of the distortion into */ - virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** The components necessary to build your own projection matrix in case your - * application is doing something fancy like infinite Z */ - virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; - - /** Returns the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in - * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. */ - virtual DistortionCoordinates_t ComputeDistortion( EVREye eEye, float fU, float fV ) = 0; - - }; - - static const char *IVRDisplayComponent_Version = "IVRDisplayComponent_002"; - -} - -// ivrdriverdirectmodecomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: This component is used for drivers that implement direct mode entirely on their own - // without allowing the VR Compositor to own the window/device. Chances are you don't - // need to implement this component in your driver. - // ---------------------------------------------------------------------------------------------- - class IVRDriverDirectModeComponent - { - public: - - // ----------------------------------- - // Direct mode methods - // ----------------------------------- - - /** Specific to Oculus compositor support, textures supplied must be created using this method. */ - virtual void CreateSwapTextureSet( uint32_t unPid, uint32_t unFormat, uint32_t unWidth, uint32_t unHeight, void *(*pSharedTextureHandles)[3] ) {} - - /** Used to textures created using CreateSwapTextureSet. Only one of the set's handles needs to be used to destroy the entire set. */ - virtual void DestroySwapTextureSet( void *pSharedTextureHandle ) {} - - /** Used to purge all texture sets for a given process. */ - virtual void DestroyAllSwapTextureSets( uint32_t unPid ) {} - - /** After Present returns, calls this to get the next index to use for rendering. */ - virtual void GetNextSwapTextureSetIndex( void *pSharedTextureHandles[ 2 ], uint32_t( *pIndices )[ 2 ] ) {} - - /** Call once per layer to draw for this frame. One shared texture handle per eye. Textures must be created - * using CreateSwapTextureSet and should be alternated per frame. Call Present once all layers have been submitted. */ - virtual void SubmitLayer( void *pSharedTextureHandles[ 2 ], const vr::VRTextureBounds_t( &bounds )[ 2 ], const vr::HmdMatrix34_t *pPose ) {} - - /** Submits queued layers for display. */ - virtual void Present( void *hSyncTexture ) {} - - }; - - static const char *IVRDriverDirectModeComponent_Version = "IVRDriverDirectModeComponent_001"; - -} - -// ivrcontrollercomponent.h -namespace vr -{ - - - // ---------------------------------------------------------------------------------------------- - // Purpose: Controller access on a single tracked device. - // ---------------------------------------------------------------------------------------------- - class IVRControllerComponent - { - public: - - // ------------------------------------ - // Controller Methods - // ------------------------------------ - - /** Gets the current state of a controller. */ - virtual VRControllerState_t GetControllerState( ) = 0; - - /** Returns a uint64 property. If the property is not available this function will return 0. */ - virtual bool TriggerHapticPulse( uint32_t unAxisId, uint16_t usPulseDurationMicroseconds ) = 0; - - }; - - - - static const char *IVRControllerComponent_Version = "IVRControllerComponent_001"; - -} -// ivrcameracomponent.h -namespace vr -{ - - //----------------------------------------------------------------------------- - //----------------------------------------------------------------------------- - class ICameraVideoSinkCallback - { - public: - virtual void OnCameraVideoSinkCallback() = 0; - }; - - // ---------------------------------------------------------------------------------------------- - // Purpose: The camera on a single tracked device - // ---------------------------------------------------------------------------------------------- - class IVRCameraComponent - { - public: - // ------------------------------------ - // Camera Methods - // ------------------------------------ - virtual bool HasCamera() = 0; - virtual bool GetCameraFirmwareDescription( char *pBuffer, uint32_t nBufferLen ) = 0; - virtual bool GetCameraFrameDimensions( vr::ECameraVideoStreamFormat nVideoStreamFormat, uint32_t *pWidth, uint32_t *pHeight ) = 0; - virtual bool GetCameraFrameBufferingRequirements( int *pDefaultFrameQueueSize, uint32_t *pFrameBufferDataSize ) = 0; - virtual bool SetCameraFrameBuffering( int nFrameBufferCount, void **ppFrameBuffers, uint32_t nFrameBufferDataSize ) = 0; - virtual bool SetCameraVideoStreamFormat( vr::ECameraVideoStreamFormat nVideoStreamFormat ) = 0; - virtual vr::ECameraVideoStreamFormat GetCameraVideoStreamFormat() = 0; - virtual bool StartVideoStream() = 0; - virtual void StopVideoStream() = 0; - virtual bool IsVideoStreamActive() = 0; - virtual float GetVideoStreamElapsedTime() = 0; - virtual const vr::CameraVideoStreamFrame_t *GetVideoStreamFrame() = 0; - virtual void ReleaseVideoStreamFrame( const vr::CameraVideoStreamFrame_t *pFrameImage ) = 0; - virtual bool SetAutoExposure( bool bEnable ) = 0; - virtual bool PauseVideoStream() = 0; - virtual bool ResumeVideoStream() = 0; - virtual bool IsVideoStreamPaused() = 0; - virtual bool GetCameraDistortion( float flInputU, float flInputV, float *pflOutputU, float *pflOutputV ) = 0; - virtual bool GetCameraProjection( float flWidthPixels, float flHeightPixels, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; - virtual bool GetRecommendedCameraUndistortion( uint32_t *pUndistortionWidthPixels, uint32_t *pUndistortionHeightPixels ) = 0; - virtual bool SetCameraUndistortion( uint32_t nUndistortionWidthPixels, uint32_t nUndistortionHeightPixels ) = 0; - virtual bool GetCameraFirmwareVersion( uint64_t *pFirmwareVersion ) = 0; - virtual bool SetFrameRate( int nISPFrameRate, int nSensorFrameRate ) = 0; - virtual bool SetCameraVideoSinkCallback( vr::ICameraVideoSinkCallback *pCameraVideoSinkCallback ) = 0; - virtual bool GetCameraCompatibilityMode( vr::ECameraCompatibilityMode *pCameraCompatibilityMode ) = 0; - virtual bool SetCameraCompatibilityMode( vr::ECameraCompatibilityMode nCameraCompatibilityMode ) = 0; - virtual bool GetCameraFrameBounds( vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pLeft, uint32_t *pTop, uint32_t *pWidth, uint32_t *pHeight ) = 0; - virtual bool GetCameraIntrinsics( vr::EVRTrackedCameraFrameType eFrameType, HmdVector2_t *pFocalLength, HmdVector2_t *pCenter ) = 0; - }; - - static const char *IVRCameraComponent_Version = "IVRCameraComponent_001"; -} -// itrackeddevicedriverprovider.h -namespace vr -{ - -class ITrackedDeviceServerDriver; -struct TrackedDeviceDriverInfo_t; -struct DriverPose_t; - -class IDriverLog -{ -public: - /** Writes a log message to the log file prefixed with the driver name */ - virtual void Log( const char *pchLogMessage ) = 0; -}; - -/** This interface is provided by vrserver to allow the driver to notify -* the system when something changes about a device. These changes must -* not change the serial number or class of the device because those values -* are permanently associated with the device's index. */ -class IServerDriverHost -{ -public: - /** Notifies the server that a tracked device has been added. If this function returns true - * the server will call Activate on the device. If it returns false some kind of error - * has occurred and the device will not be activated. */ - virtual bool TrackedDeviceAdded( const char *pchDeviceSerialNumber ) = 0; - - /** Notifies the server that a tracked device's pose has been updated */ - virtual void TrackedDevicePoseUpdated( uint32_t unWhichDevice, const DriverPose_t & newPose ) = 0; - - /** Notifies the server that the property cache for the specified device should be invalidated */ - virtual void TrackedDevicePropertiesChanged( uint32_t unWhichDevice ) = 0; - - /** Notifies the server that vsync has occurred on the the display attached to the device. This is - * only permitted on devices of the HMD class. */ - virtual void VsyncEvent( double vsyncTimeOffsetSeconds ) = 0; - - /** notifies the server that the button was pressed */ - virtual void TrackedDeviceButtonPressed( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was unpressed */ - virtual void TrackedDeviceButtonUnpressed( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was pressed */ - virtual void TrackedDeviceButtonTouched( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server that the button was unpressed */ - virtual void TrackedDeviceButtonUntouched( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; - - /** notifies the server than a controller axis changed */ - virtual void TrackedDeviceAxisUpdated( uint32_t unWhichDevice, uint32_t unWhichAxis, const VRControllerAxis_t & axisState ) = 0; - - /** Notifies the server that the MC image has been updated for the display attached to the device. This is - * only permitted on devices of the HMD class. */ - virtual void MCImageUpdated() = 0; - - /** always returns a pointer to a valid interface pointer of IVRSettings */ - virtual IVRSettings *GetSettings( const char *pchInterfaceVersion ) = 0; - - /** Notifies the server that the physical IPD adjustment has been moved on the HMD */ - virtual void PhysicalIpdSet( uint32_t unWhichDevice, float fPhysicalIpdMeters ) = 0; - - /** Notifies the server that the proximity sensor on the specified device */ - virtual void ProximitySensorState( uint32_t unWhichDevice, bool bProximitySensorTriggered ) = 0; - - /** Sends a vendor specific event (VREvent_VendorSpecific_Reserved_Start..VREvent_VendorSpecific_Reserved_End */ - virtual void VendorSpecificEvent( uint32_t unWhichDevice, vr::EVREventType eventType, const VREvent_Data_t & eventData, double eventTimeOffset ) = 0; - - /** Returns true if SteamVR is exiting */ - virtual bool IsExiting() = 0; -}; - - -/** This interface must be implemented in each driver. It will be loaded in vrserver.exe */ -class IServerTrackedDeviceProvider -{ -public: - /** initializes the driver. This will be called before any other methods are called. - * If Init returns anything other than VRInitError_None the driver DLL will be unloaded. - * - * pDriverHost will never be NULL, and will always be a pointer to a IServerDriverHost interface - * - * pchUserDriverConfigDir - The absolute path of the directory where the driver should store user - * config files. - * pchDriverInstallDir - The absolute path of the root directory for the driver. - */ - virtual EVRInitError Init( IDriverLog *pDriverLog, vr::IServerDriverHost *pDriverHost, const char *pchUserDriverConfigDir, const char *pchDriverInstallDir ) = 0; - - /** cleans up the driver right before it is unloaded */ - virtual void Cleanup() = 0; - - /** Returns the version of the ITrackedDeviceServerDriver interface used by this driver */ - virtual const char * const *GetInterfaceVersions() = 0; - - /** returns the number of HMDs that this driver manages that are physically connected. */ - virtual uint32_t GetTrackedDeviceCount() = 0; - - /** returns a single HMD */ - virtual ITrackedDeviceServerDriver *GetTrackedDeviceDriver( uint32_t unWhich ) = 0; - - /** returns a single HMD by ID */ - virtual ITrackedDeviceServerDriver* FindTrackedDeviceDriver( const char *pchId ) = 0; - - /** Allows the driver do to some work in the main loop of the server. */ - virtual void RunFrame() = 0; - - - // ------------ Power State Functions ----------------------- // - - /** Returns true if the driver wants to block Standby mode. */ - virtual bool ShouldBlockStandbyMode() = 0; - - /** Called when the system is entering Standby mode. The driver should switch itself into whatever sort of low-power - * state it has. */ - virtual void EnterStandby() = 0; - - /** Called when the system is leaving Standby mode. The driver should switch itself back to - full operation. */ - virtual void LeaveStandby() = 0; - -}; - - -static const char *IServerTrackedDeviceProvider_Version = "IServerTrackedDeviceProvider_003"; - - -/** This interface is provided by vrclient to allow the driver call back and query various information */ -class IClientDriverHost -{ -public: - /** Returns the device class of a tracked device. If there has not been a device connected in this slot - * since the application started this function will return TrackedDevice_Invalid. For previous detected - * devices the function will return the previously observed device class. - * - * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check - * the device class. Every device with something other than TrackedDevice_Invalid is associated with an - * actual tracked device. */ - virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns true if there is a device connected in this slot. */ - virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ - virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ - virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ - virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ - virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a string property. If the device index is not valid or the property is not a float type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will generally fit in buffers of k_unTrackingStringSize characters. */ - virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; - - /** always returns a pointer to a valid interface pointer of IVRSettings */ - virtual IVRSettings *GetSettings( const char *pchInterfaceVersion ) = 0; -}; - - - -/** This interface must be implemented in each driver. It will be loaded in vrclient.dll */ -class IClientTrackedDeviceProvider -{ -public: - /** initializes the driver. This will be called before any other methods are called, - * except BIsHmdPresent(). BIsHmdPresent is called outside of the Init/Cleanup pair. - * If Init returns anything other than VRInitError_None the driver DLL will be unloaded. - * - * pDriverHost will never be NULL, and will always be a pointer to a IClientDriverHost interface - * - * pchUserDriverConfigDir - The absolute path of the directory where the driver should store user - * config files. - * pchDriverInstallDir - The absolute path of the root directory for the driver. - */ - virtual EVRInitError Init( IDriverLog *pDriverLog, vr::IClientDriverHost *pDriverHost, const char *pchUserDriverConfigDir, const char *pchDriverInstallDir ) = 0; - - /** cleans up the driver right before it is unloaded */ - virtual void Cleanup() = 0; - - /** Called when the client needs to inform an application if an HMD is attached that uses - * this driver. This method should be as lightweight as possible and should have no side effects - * such as hooking process functions or leaving resources loaded. Init will not be called before - * this method and Cleanup will not be called after it. - */ - virtual bool BIsHmdPresent( const char *pchUserConfigDir ) = 0; - - /** called when the client inits an HMD to let the client driver know which one is in use */ - virtual EVRInitError SetDisplayId( const char *pchDisplayId ) = 0; - - /** Returns the stencil mesh information for the current HMD. If this HMD does not have a stencil mesh the vertex data and count will be - * NULL and 0 respectively. This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering - * each eye's view. The pixels covered by this mesh will never be seen by the user after the lens distortion is applied and based on visibility to the panels. - * This will improve perf by letting the GPU early-reject pixels the user will never see before running the pixel shader. - * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. - */ - virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye ) = 0; - - /** Get the MC image for the current HMD. - * Returns the size in bytes of the buffer required to hold the specified resource. */ - virtual uint32_t GetMCImage( uint32_t *pImgWidth, uint32_t *pImgHeight, uint32_t *pChannels, void *pDataBuffer, uint32_t unBufferLen ) = 0; -}; - -static const char *IClientTrackedDeviceProvider_Version = "IClientTrackedDeviceProvider_003"; - -} - - - - -namespace vr -{ - static const char * const k_InterfaceVersions[] = - { - IVRSettings_Version, - ITrackedDeviceServerDriver_Version, - IVRDisplayComponent_Version, - IVRDriverDirectModeComponent_Version, - IVRControllerComponent_Version, - IVRCameraComponent_Version, - IServerTrackedDeviceProvider_Version, - IClientTrackedDeviceProvider_Version, - nullptr - }; -} -// End - -#endif // _OPENVR_DRIVER_API - - diff --git a/openvr/lib/linux32/libopenvr_api.so b/openvr/lib/linux32/libopenvr_api.so deleted file mode 100644 index 27da01c..0000000 Binary files a/openvr/lib/linux32/libopenvr_api.so and /dev/null differ diff --git a/openvr/lib/linux64/libopenvr_api.so b/openvr/lib/linux64/libopenvr_api.so deleted file mode 100644 index 52fd227..0000000 Binary files a/openvr/lib/linux64/libopenvr_api.so and /dev/null differ diff --git a/openvr/lib/osx32/libopenvr_api.dylib b/openvr/lib/osx32/libopenvr_api.dylib deleted file mode 100644 index 89cad77..0000000 Binary files a/openvr/lib/osx32/libopenvr_api.dylib and /dev/null differ diff --git a/openvr/lib/win32/openvr_api.lib b/openvr/lib/win32/openvr_api.lib deleted file mode 100644 index 45a41ae..0000000 Binary files a/openvr/lib/win32/openvr_api.lib and /dev/null differ diff --git a/openvr/lib/win64/openvr_api.lib b/openvr/lib/win64/openvr_api.lib deleted file mode 100644 index 1234431..0000000 Binary files a/openvr/lib/win64/openvr_api.lib and /dev/null differ diff --git a/scripts/binding.h b/scripts/binding.h deleted file mode 100644 index 02fa572..0000000 --- a/scripts/binding.h +++ /dev/null @@ -1,8 +0,0 @@ -// This header is used for bindgen to automatically generate the openvr c binding -// bindgen -match openvr_capi.h scripts/binding.h -o binding.rs - -//#include -#include -#define bool int - -#include "../openvr/headers/openvr_capi.h" diff --git a/wrapper.h b/wrapper.h new file mode 100644 index 0000000..c52790b --- /dev/null +++ b/wrapper.h @@ -0,0 +1,24 @@ +// Generate bindings by running: bindgen --constified-enum '.*' --no-unstable-rust wrapper.h -o lib.rs + +#include "openvr/headers/openvr_capi.h" + +// Expose symbols hidden in C API for some reason; see +// https://github.com/ValveSoftware/openvr/issues/89 +// https://steamcommunity.com/app/358720/discussions/0/405692758722144628/ +// https://github.com/ValveSoftware/openvr/commit/6f671fc80947dbccc4a9d27bd1b89d6038d94637 +S_API intptr_t VR_InitInternal( EVRInitError *peError, EVRApplicationType eType ); +S_API void VR_ShutdownInternal(); +S_API bool VR_IsHmdPresent(); +S_API intptr_t VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); +S_API bool VR_IsRuntimeInstalled(); +S_API const char * VR_GetVRInitErrorAsSymbol( EVRInitError error ); +S_API const char * VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); +// Taken from openvr.h +S_API bool VR_IsInterfaceVersionValid( const char *pchInterfaceVersion ); + +// Taken from openvr.h; use to work around broken ABI for this event in the C header +struct VREvent_Keyboard_t_real +{ + char cNewInput[8]; // Up to 11 bytes of new input + uint64_t uUserValue; // Possible flags about the new input +};