CommonLibSSE (Parapets fork)
IVROverlay.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "vr/Hmd.h"
4 #include "vr/OpenVRTypes.h"
5 #include "vr/VREvent.h"
6 
7 namespace vr
8 {
9  // The maximum length of an overlay key in bytes, counting the terminating null character.
10  static constexpr std::uint32_t k_unVROverlayMaxKeyLength = 128;
11 
12  // The maximum length of an overlay name in bytes, counting the terminating null character.
13  static constexpr std::uint32_t k_unVROverlayMaxNameLength = 128;
14 
15  // The maximum number of overlays that can exist in the system at one time.
16  static constexpr std::uint32_t k_unMaxOverlayCount = 64;
17 
18  // The maximum number of overlay intersection mask primitives per overlay
19  static constexpr std::uint32_t k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
20 
21  // Types of input supported by VR Overlays
23  {
24  VROverlayInputMethod_None = 0, // No input events will be generated automatically for this overlay
25  VROverlayInputMethod_Mouse = 1, // Tracked controllers will get mouse events automatically
26  };
27 
28  // Allows the caller to figure out which overlay transform getter to call.
30  {
35  };
36 
37  // Overlay control settings
39  {
41 
42  // The following only take effect when rendered using the high quality render path (see SetHighQualityOverlay).
45 
46  // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay
48 
49  // Set this flag on a dashboard that is able to deal with gamepad focus events
51 
52  // Indicates that the overlay should dim/brighten to show gamepad focus
54 
55  // When in VROverlayInputMethod_Mouse you can optionally enable sending VRScroll_t
58 
59  // If set this will render a vertical scroll wheel on the primary controller,
60  // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel
62 
63  // If this is set ownership and render access to the overlay are transferred
64  // to the new scene process on a call to IVRApplications::LaunchInternalProcess
66 
67  // If set, renders 50% of the texture in each eye, side by side
68  VROverlayFlags_SideBySide_Parallel = 10, // Texture is left/right
69  VROverlayFlags_SideBySide_Crossed = 11, // Texture is crossed and right/left
70 
71  VROverlayFlags_Panorama = 12, // Texture is a panorama
72  VROverlayFlags_StereoPanorama = 13, // Texture is a stereo panorama
73 
74  // If this is set on an overlay owned by the scene application that overlay
75  // will be sorted with the "Other" overlays on top of all other scene overlays
77 
78  // If set, the overlay will be shown in the dashboard, otherwise it will be hidden.
80  };
81 
83  {
91  };
92 
94  {
98  };
99 
101  {
105  float fDistance;
106  };
107 
108  // Input modes for the Big Picture gamepad text entry
110  {
114  };
115 
116  // Controls number of allowed lines for the Big Picture gamepad text entry
118  {
121  };
122 
123  // Directions for changing focus between overlays with the gamepad
125  {
130 
132  };
133 
135  {
138  };
139 
141  {
144  float m_flWidth;
145  float m_flHeight;
146  };
147 
149  {
150  float m_flCenterX;
151  float m_flCenterY;
152  float m_flRadius;
153  };
154 
156  {
159  };
160 
162  {
165  };
166 
168  {
169  public:
170  virtual EVROverlayError FindOverlay(const char* pchOverlayKey, VROverlayHandle_t* pOverlayHandle) = 0; // 00
171  virtual EVROverlayError CreateOverlay(const char* pchOverlayKey, const char* pchOverlayName, VROverlayHandle_t* pOverlayHandle) = 0; // 01
172  virtual EVROverlayError DestroyOverlay(VROverlayHandle_t ulOverlayHandle) = 0; // 02
173  virtual EVROverlayError SetHighQualityOverlay(VROverlayHandle_t ulOverlayHandle) = 0; // 03
175  virtual std::uint32_t GetOverlayKey(VROverlayHandle_t ulOverlayHandle, char* pchValue, std::uint32_t unBufferSize, EVROverlayError* pError = 0L) = 0; // 05
176  virtual std::uint32_t GetOverlayName(VROverlayHandle_t ulOverlayHandle, char* pchValue, std::uint32_t unBufferSize, EVROverlayError* pError = 0L) = 0; // 06
177  virtual EVROverlayError SetOverlayName(VROverlayHandle_t ulOverlayHandle, const char* pchName) = 0; // 07
178  virtual EVROverlayError GetOverlayImageData(VROverlayHandle_t ulOverlayHandle, void* pvBuffer, std::uint32_t unBufferSize, std::uint32_t* punWidth, std::uint32_t* punHeight) = 0; // 08
179  virtual const char* GetOverlayErrorNameFromEnum(EVROverlayError error) = 0; // 09
180  virtual EVROverlayError SetOverlayRenderingPid(VROverlayHandle_t ulOverlayHandle, std::uint32_t unPID) = 0; // 0A
181  virtual std::uint32_t GetOverlayRenderingPid(VROverlayHandle_t ulOverlayHandle) = 0; // 0B
182  virtual EVROverlayError SetOverlayFlag(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled) = 0; // 0C
183  virtual EVROverlayError GetOverlayFlag(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool* pbEnabled) = 0; // 0D
184  virtual EVROverlayError SetOverlayColor(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue) = 0; // 0E
185  virtual EVROverlayError GetOverlayColor(VROverlayHandle_t ulOverlayHandle, float* pfRed, float* pfGreen, float* pfBlue) = 0; // 0F
186  virtual EVROverlayError SetOverlayAlpha(VROverlayHandle_t ulOverlayHandle, float fAlpha) = 0; // 10
187  virtual EVROverlayError GetOverlayAlpha(VROverlayHandle_t ulOverlayHandle, float* pfAlpha) = 0; // 11
188  virtual EVROverlayError SetOverlayTexelAspect(VROverlayHandle_t ulOverlayHandle, float fTexelAspect) = 0; // 12
189  virtual EVROverlayError GetOverlayTexelAspect(VROverlayHandle_t ulOverlayHandle, float* pfTexelAspect) = 0; // 13
190  virtual EVROverlayError SetOverlaySortOrder(VROverlayHandle_t ulOverlayHandle, std::uint32_t unSortOrder) = 0; // 14
191  virtual EVROverlayError GetOverlaySortOrder(VROverlayHandle_t ulOverlayHandle, std::uint32_t* punSortOrder) = 0; // 15
192  virtual EVROverlayError SetOverlayWidthInMeters(VROverlayHandle_t ulOverlayHandle, float fWidthInMeters) = 0; // 16
193  virtual EVROverlayError GetOverlayWidthInMeters(VROverlayHandle_t ulOverlayHandle, float* pfWidthInMeters) = 0; // 17
194  virtual EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) = 0; // 18
195  virtual EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(VROverlayHandle_t ulOverlayHandle, float* pfMinDistanceInMeters, float* pfMaxDistanceInMeters) = 0; // 19
196  virtual EVROverlayError SetOverlayTextureColorSpace(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace) = 0; // 1A
197  virtual EVROverlayError GetOverlayTextureColorSpace(VROverlayHandle_t ulOverlayHandle, EColorSpace* peTextureColorSpace) = 0; // 1B
198  virtual EVROverlayError SetOverlayTextureBounds(VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t* pOverlayTextureBounds) = 0; // 1C
199  virtual EVROverlayError GetOverlayTextureBounds(VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t* pOverlayTextureBounds) = 0; // 1D
200  virtual std::uint32_t GetOverlayRenderModel(vr::VROverlayHandle_t ulOverlayHandle, char* pchValue, std::uint32_t unBufferSize, HmdColor_t* pColor, vr::EVROverlayError* pError) = 0; // 1E
201  virtual vr::EVROverlayError SetOverlayRenderModel(vr::VROverlayHandle_t ulOverlayHandle, const char* pchRenderModel, const HmdColor_t* pColor) = 0; // 1F
202  virtual EVROverlayError GetOverlayTransformType(VROverlayHandle_t ulOverlayHandle, VROverlayTransformType* peTransformType) = 0; // 20
203  virtual EVROverlayError SetOverlayTransformAbsolute(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t* pmatTrackingOriginToOverlayTransform) = 0; // 21
204  virtual EVROverlayError GetOverlayTransformAbsolute(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin* peTrackingOrigin, HmdMatrix34_t* pmatTrackingOriginToOverlayTransform) = 0; // 22
205  virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t* pmatTrackedDeviceToOverlayTransform) = 0; // 23
206  virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t* punTrackedDevice, HmdMatrix34_t* pmatTrackedDeviceToOverlayTransform) = 0; // 24
207  virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char* pchComponentName) = 0; // 25
208  virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t* punDeviceIndex, char* pchComponentName, std::uint32_t unComponentNameSize) = 0; // 26
209  virtual vr::EVROverlayError GetOverlayTransformOverlayRelative(VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t* ulOverlayHandleParent, HmdMatrix34_t* pmatParentOverlayToOverlayTransform) = 0; // 27
210  virtual vr::EVROverlayError SetOverlayTransformOverlayRelative(VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulOverlayHandleParent, const HmdMatrix34_t* pmatParentOverlayToOverlayTransform) = 0; // 28
211  virtual EVROverlayError ShowOverlay(VROverlayHandle_t ulOverlayHandle) = 0; // 29
212  virtual EVROverlayError HideOverlay(VROverlayHandle_t ulOverlayHandle) = 0; // 2A
213  virtual bool IsOverlayVisible(VROverlayHandle_t ulOverlayHandle) = 0; // 2B
214  virtual EVROverlayError GetTransformForOverlayCoordinates(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t* pmatTransform) = 0; // 2C
215  virtual bool PollNextOverlayEvent(VROverlayHandle_t ulOverlayHandle, VREvent_t* pEvent, std::uint32_t uncbVREvent) = 0; // 2D
216  virtual EVROverlayError GetOverlayInputMethod(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod* peInputMethod) = 0; // 2E
217  virtual EVROverlayError SetOverlayInputMethod(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod) = 0; // 2F
218  virtual EVROverlayError GetOverlayMouseScale(VROverlayHandle_t ulOverlayHandle, HmdVector2_t* pvecMouseScale) = 0; // 30
219  virtual EVROverlayError SetOverlayMouseScale(VROverlayHandle_t ulOverlayHandle, const HmdVector2_t* pvecMouseScale) = 0; // 31
220  virtual bool ComputeOverlayIntersection(VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t* pParams, VROverlayIntersectionResults_t* pResults) = 0; // 32
221  virtual bool IsHoverTargetOverlay(VROverlayHandle_t ulOverlayHandle) = 0; // 33
223  virtual EVROverlayError SetGamepadFocusOverlay(VROverlayHandle_t ulNewFocusOverlay) = 0; // 35
226  virtual EVROverlayError SetOverlayDualAnalogTransform(VROverlayHandle_t ulOverlay, EDualAnalogWhich eWhich, const HmdVector2_t& vCenter, float fRadius) = 0; // 38
227  virtual EVROverlayError GetOverlayDualAnalogTransform(VROverlayHandle_t ulOverlay, EDualAnalogWhich eWhich, HmdVector2_t* pvCenter, float* pfRadius) = 0; // 39
228  virtual EVROverlayError SetOverlayTexture(VROverlayHandle_t ulOverlayHandle, const Texture_t* pTexture) = 0; // 3A
229  virtual EVROverlayError ClearOverlayTexture(VROverlayHandle_t ulOverlayHandle) = 0; // 3B
230  virtual EVROverlayError SetOverlayRaw(VROverlayHandle_t ulOverlayHandle, void* pvBuffer, std::uint32_t unWidth, std::uint32_t unHeight, std::uint32_t unDepth) = 0; // 3C
231  virtual EVROverlayError SetOverlayFromFile(VROverlayHandle_t ulOverlayHandle, const char* pchFilePath) = 0; // 3D
232  virtual EVROverlayError GetOverlayTexture(VROverlayHandle_t ulOverlayHandle, void** pNativeTextureHandle, void* pNativeTextureRef, std::uint32_t* pWidth, std::uint32_t* pHeight, std::uint32_t* pNativeFormat, ETextureType* pAPIType, EColorSpace* pColorSpace, VRTextureBounds_t* pTextureBounds) = 0; // 3E
233  virtual EVROverlayError ReleaseNativeOverlayHandle(VROverlayHandle_t ulOverlayHandle, void* pNativeTextureHandle) = 0; // 3F
234  virtual EVROverlayError GetOverlayTextureSize(VROverlayHandle_t ulOverlayHandle, std::uint32_t* pWidth, std::uint32_t* pHeight) = 0; // 40
235  virtual EVROverlayError CreateDashboardOverlay(const char* pchOverlayKey, const char* pchOverlayFriendlyName, VROverlayHandle_t* pMainHandle, VROverlayHandle_t* pThumbnailHandle) = 0; // 41
236  virtual bool IsDashboardVisible() = 0; // 42
237  virtual bool IsActiveDashboardOverlay(VROverlayHandle_t ulOverlayHandle) = 0; // 43
238  virtual EVROverlayError SetDashboardOverlaySceneProcess(VROverlayHandle_t ulOverlayHandle, std::uint32_t unProcessId) = 0; // 44
239  virtual EVROverlayError GetDashboardOverlaySceneProcess(VROverlayHandle_t ulOverlayHandle, std::uint32_t* punProcessId) = 0; // 45
240  virtual void ShowDashboard(const char* pchOverlayToShow) = 0; // 46
242  virtual EVROverlayError ShowKeyboard(EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char* pchDescription, std::uint32_t unCharMax, const char* pchExistingText, bool bUseMinimalMode, uint64_t uUserValue) = 0; // 48
243  virtual EVROverlayError ShowKeyboardForOverlay(VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char* pchDescription, std::uint32_t unCharMax, const char* pchExistingText, bool bUseMinimalMode, uint64_t uUserValue) = 0; // 49
244  virtual std::uint32_t GetKeyboardText(char* pchText, std::uint32_t cchText) = 0; // 4A
245  virtual void HideKeyboard() = 0; // 4B
246  virtual void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t* pmatTrackingOriginToKeyboardTransform) = 0; // 4C
247  virtual void SetKeyboardPositionForOverlay(VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect) = 0; // 4D
248  virtual EVROverlayError SetOverlayIntersectionMask(VROverlayHandle_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t* pMaskPrimitives, std::uint32_t unNumMaskPrimitives, std::uint32_t unPrimitiveSize = sizeof(VROverlayIntersectionMaskPrimitive_t)) = 0; // 4E
249  virtual EVROverlayError GetOverlayFlags(VROverlayHandle_t ulOverlayHandle, std::uint32_t* pFlags) = 0; // 4F
250  virtual VRMessageOverlayResponse ShowMessageOverlay(const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr) = 0; // 50
251  virtual void CloseMessageOverlay() = 0; // 51
252  };
253 }
Definition: IVROverlay.h:168
virtual EVROverlayError ShowKeyboard(EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, std::uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue)=0
virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, char *pchComponentName, std::uint32_t unComponentNameSize)=0
virtual std::uint32_t GetOverlayRenderModel(vr::VROverlayHandle_t ulOverlayHandle, char *pchValue, std::uint32_t unBufferSize, HmdColor_t *pColor, vr::EVROverlayError *pError)=0
virtual EVROverlayError DestroyOverlay(VROverlayHandle_t ulOverlayHandle)=0
virtual EVROverlayError SetOverlayTexelAspect(VROverlayHandle_t ulOverlayHandle, float fTexelAspect)=0
virtual void SetKeyboardPositionForOverlay(VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect)=0
virtual EVROverlayError GetOverlayFlags(VROverlayHandle_t ulOverlayHandle, std::uint32_t *pFlags)=0
virtual EVROverlayError GetOverlayInputMethod(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod *peInputMethod)=0
virtual EVROverlayError HideOverlay(VROverlayHandle_t ulOverlayHandle)=0
virtual EVROverlayError SetOverlayIntersectionMask(VROverlayHandle_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, std::uint32_t unNumMaskPrimitives, std::uint32_t unPrimitiveSize=sizeof(VROverlayIntersectionMaskPrimitive_t))=0
virtual EVROverlayError ReleaseNativeOverlayHandle(VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle)=0
virtual EVROverlayError GetOverlayTransformAbsolute(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform)=0
virtual const char * GetOverlayErrorNameFromEnum(EVROverlayError error)=0
virtual void ShowDashboard(const char *pchOverlayToShow)=0
virtual EVROverlayError SetHighQualityOverlay(VROverlayHandle_t ulOverlayHandle)=0
virtual vr::EVROverlayError GetOverlayTransformOverlayRelative(VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform)=0
virtual EVROverlayError SetOverlayTextureBounds(VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds)=0
virtual bool IsDashboardVisible()=0
virtual void CloseMessageOverlay()=0
virtual EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters)=0
virtual EVROverlayError GetOverlayFlag(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool *pbEnabled)=0
virtual bool ComputeOverlayIntersection(VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults)=0
virtual EVROverlayError ShowKeyboardForOverlay(VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, std::uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue)=0
virtual EVROverlayError SetOverlayMouseScale(VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale)=0
virtual void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform)=0
virtual std::uint32_t GetOverlayKey(VROverlayHandle_t ulOverlayHandle, char *pchValue, std::uint32_t unBufferSize, EVROverlayError *pError=0L)=0
virtual bool IsHoverTargetOverlay(VROverlayHandle_t ulOverlayHandle)=0
virtual vr::VROverlayHandle_t GetGamepadFocusOverlay()=0
virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform)=0
virtual vr::TrackedDeviceIndex_t GetPrimaryDashboardDevice()=0
virtual EVROverlayError GetOverlayDualAnalogTransform(VROverlayHandle_t ulOverlay, EDualAnalogWhich eWhich, HmdVector2_t *pvCenter, float *pfRadius)=0
virtual vr::EVROverlayError SetOverlayRenderModel(vr::VROverlayHandle_t ulOverlayHandle, const char *pchRenderModel, const HmdColor_t *pColor)=0
virtual EVROverlayError SetOverlayWidthInMeters(VROverlayHandle_t ulOverlayHandle, float fWidthInMeters)=0
virtual EVROverlayError SetOverlayFlag(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled)=0
virtual EVROverlayError CreateDashboardOverlay(const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t *pMainHandle, VROverlayHandle_t *pThumbnailHandle)=0
virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char *pchComponentName)=0
virtual EVROverlayError MoveGamepadFocusToNeighbor(EOverlayDirection eDirection, VROverlayHandle_t ulFrom)=0
virtual EVROverlayError SetOverlaySortOrder(VROverlayHandle_t ulOverlayHandle, std::uint32_t unSortOrder)=0
virtual EVROverlayError SetOverlayDualAnalogTransform(VROverlayHandle_t ulOverlay, EDualAnalogWhich eWhich, const HmdVector2_t &vCenter, float fRadius)=0
virtual EVROverlayError GetOverlayTexelAspect(VROverlayHandle_t ulOverlayHandle, float *pfTexelAspect)=0
virtual EVROverlayError FindOverlay(const char *pchOverlayKey, VROverlayHandle_t *pOverlayHandle)=0
virtual EVROverlayError SetGamepadFocusOverlay(VROverlayHandle_t ulNewFocusOverlay)=0
virtual EVROverlayError GetOverlayTextureBounds(VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds)=0
virtual EVROverlayError ClearOverlayTexture(VROverlayHandle_t ulOverlayHandle)=0
virtual bool IsOverlayVisible(VROverlayHandle_t ulOverlayHandle)=0
virtual EVROverlayError SetOverlayColor(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue)=0
virtual EVROverlayError SetOverlayTexture(VROverlayHandle_t ulOverlayHandle, const Texture_t *pTexture)=0
virtual EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(VROverlayHandle_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters)=0
virtual EVROverlayError GetDashboardOverlaySceneProcess(VROverlayHandle_t ulOverlayHandle, std::uint32_t *punProcessId)=0
virtual VRMessageOverlayResponse ShowMessageOverlay(const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text=nullptr, const char *pchButton2Text=nullptr, const char *pchButton3Text=nullptr)=0
virtual EVROverlayError SetOverlayTransformAbsolute(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform)=0
virtual void HideKeyboard()=0
virtual EVROverlayError SetOverlayRaw(VROverlayHandle_t ulOverlayHandle, void *pvBuffer, std::uint32_t unWidth, std::uint32_t unHeight, std::uint32_t unDepth)=0
virtual EVROverlayError SetOverlayRenderingPid(VROverlayHandle_t ulOverlayHandle, std::uint32_t unPID)=0
virtual EVROverlayError SetOverlayTextureColorSpace(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace)=0
virtual EVROverlayError SetOverlayFromFile(VROverlayHandle_t ulOverlayHandle, const char *pchFilePath)=0
virtual EVROverlayError SetDashboardOverlaySceneProcess(VROverlayHandle_t ulOverlayHandle, std::uint32_t unProcessId)=0
virtual EVROverlayError SetOverlayInputMethod(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod)=0
virtual EVROverlayError SetOverlayAlpha(VROverlayHandle_t ulOverlayHandle, float fAlpha)=0
virtual EVROverlayError SetOverlayNeighbor(EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo)=0
virtual EVROverlayError GetOverlayTextureSize(VROverlayHandle_t ulOverlayHandle, std::uint32_t *pWidth, std::uint32_t *pHeight)=0
virtual EVROverlayError GetOverlaySortOrder(VROverlayHandle_t ulOverlayHandle, std::uint32_t *punSortOrder)=0
virtual EVROverlayError SetOverlayName(VROverlayHandle_t ulOverlayHandle, const char *pchName)=0
virtual EVROverlayError ShowOverlay(VROverlayHandle_t ulOverlayHandle)=0
virtual EVROverlayError GetOverlayImageData(VROverlayHandle_t ulOverlayHandle, void *pvBuffer, std::uint32_t unBufferSize, std::uint32_t *punWidth, std::uint32_t *punHeight)=0
virtual EVROverlayError GetOverlayTexture(VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, std::uint32_t *pWidth, std::uint32_t *pHeight, std::uint32_t *pNativeFormat, ETextureType *pAPIType, EColorSpace *pColorSpace, VRTextureBounds_t *pTextureBounds)=0
virtual EVROverlayError GetOverlayColor(VROverlayHandle_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue)=0
virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform)=0
virtual EVROverlayError GetOverlayAlpha(VROverlayHandle_t ulOverlayHandle, float *pfAlpha)=0
virtual EVROverlayError GetTransformForOverlayCoordinates(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform)=0
virtual EVROverlayError GetOverlayWidthInMeters(VROverlayHandle_t ulOverlayHandle, float *pfWidthInMeters)=0
virtual bool PollNextOverlayEvent(VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, std::uint32_t uncbVREvent)=0
virtual std::uint32_t GetOverlayName(VROverlayHandle_t ulOverlayHandle, char *pchValue, std::uint32_t unBufferSize, EVROverlayError *pError=0L)=0
virtual EVROverlayError GetOverlayMouseScale(VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvecMouseScale)=0
virtual EVROverlayError GetOverlayTextureColorSpace(VROverlayHandle_t ulOverlayHandle, EColorSpace *peTextureColorSpace)=0
virtual vr::VROverlayHandle_t GetHighQualityOverlay()=0
virtual std::uint32_t GetOverlayRenderingPid(VROverlayHandle_t ulOverlayHandle)=0
virtual bool IsActiveDashboardOverlay(VROverlayHandle_t ulOverlayHandle)=0
virtual std::uint32_t GetKeyboardText(char *pchText, std::uint32_t cchText)=0
virtual EVROverlayError CreateOverlay(const char *pchOverlayKey, const char *pchOverlayName, VROverlayHandle_t *pOverlayHandle)=0
virtual vr::EVROverlayError SetOverlayTransformOverlayRelative(VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform)=0
virtual EVROverlayError GetOverlayTransformType(VROverlayHandle_t ulOverlayHandle, VROverlayTransformType *peTransformType)=0
Definition: COpenVRContext.h:4
VROverlayFlags
Definition: IVROverlay.h:39
@ VROverlayFlags_RGSS4X
Definition: IVROverlay.h:44
@ VROverlayFlags_ShowTouchPadScrollWheel
Definition: IVROverlay.h:61
@ VROverlayFlags_None
Definition: IVROverlay.h:40
@ VROverlayFlags_SortWithNonSceneOverlays
Definition: IVROverlay.h:76
@ VROverlayFlags_SideBySide_Parallel
Definition: IVROverlay.h:68
@ VROverlayFlags_SendVRScrollEvents
Definition: IVROverlay.h:56
@ VROverlayFlags_AcceptsGamepadEvents
Definition: IVROverlay.h:50
@ VROverlayFlags_Curved
Definition: IVROverlay.h:43
@ VROverlayFlags_NoDashboardTab
Definition: IVROverlay.h:47
@ VROverlayFlags_VisibleInDashboard
Definition: IVROverlay.h:79
@ VROverlayFlags_ShowGamepadFocus
Definition: IVROverlay.h:53
@ VROverlayFlags_TransferOwnershipToInternalProcess
Definition: IVROverlay.h:65
@ VROverlayFlags_Panorama
Definition: IVROverlay.h:71
@ VROverlayFlags_StereoPanorama
Definition: IVROverlay.h:72
@ VROverlayFlags_SendVRTouchpadEvents
Definition: IVROverlay.h:57
@ VROverlayFlags_SideBySide_Crossed
Definition: IVROverlay.h:69
EVROverlayIntersectionMaskPrimitiveType
Definition: IVROverlay.h:135
@ OverlayIntersectionPrimitiveType_Rectangle
Definition: IVROverlay.h:136
@ OverlayIntersectionPrimitiveType_Circle
Definition: IVROverlay.h:137
VROverlayTransformType
Definition: IVROverlay.h:30
@ VROverlayTransform_TrackedDeviceRelative
Definition: IVROverlay.h:32
@ VROverlayTransform_TrackedComponent
Definition: IVROverlay.h:34
@ VROverlayTransform_SystemOverlay
Definition: IVROverlay.h:33
@ VROverlayTransform_Absolute
Definition: IVROverlay.h:31
std::uint32_t TrackedDeviceIndex_t
Definition: OpenVRTypes.h:45
EGamepadTextInputMode
Definition: IVROverlay.h:110
@ k_EGamepadTextInputModePassword
Definition: IVROverlay.h:112
@ k_EGamepadTextInputModeSubmit
Definition: IVROverlay.h:113
@ k_EGamepadTextInputModeNormal
Definition: IVROverlay.h:111
EVROverlayError
Definition: OpenVRTypes.h:61
VROverlayInputMethod
Definition: IVROverlay.h:23
@ VROverlayInputMethod_Mouse
Definition: IVROverlay.h:25
@ VROverlayInputMethod_None
Definition: IVROverlay.h:24
std::uint64_t VROverlayHandle_t
Definition: OpenVRTypes.h:48
ETextureType
Definition: OpenVRTypes.h:22
EGamepadTextInputLineMode
Definition: IVROverlay.h:118
@ k_EGamepadTextInputLineModeSingleLine
Definition: IVROverlay.h:119
@ k_EGamepadTextInputLineModeMultipleLines
Definition: IVROverlay.h:120
static constexpr std::uint32_t k_unMaxOverlayIntersectionMaskPrimitivesCount
Definition: IVROverlay.h:19
ETrackingUniverseOrigin
Definition: OpenVRTypes.h:53
static constexpr std::uint32_t k_unVROverlayMaxKeyLength
Definition: IVROverlay.h:10
EOverlayDirection
Definition: IVROverlay.h:125
@ OverlayDirection_Down
Definition: IVROverlay.h:127
@ OverlayDirection_Right
Definition: IVROverlay.h:129
@ OverlayDirection_Left
Definition: IVROverlay.h:128
@ OverlayDirection_Count
Definition: IVROverlay.h:131
@ OverlayDirection_Up
Definition: IVROverlay.h:126
static constexpr std::uint32_t k_unMaxOverlayCount
Definition: IVROverlay.h:16
EDualAnalogWhich
Definition: VREvent.h:368
EColorSpace
Definition: OpenVRTypes.h:31
VRMessageOverlayResponse
Definition: IVROverlay.h:83
@ VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay
Definition: IVROverlay.h:89
@ VRMessageOverlayResponse_ApplicationQuit
Definition: IVROverlay.h:90
@ VRMessageOverlayResponse_ButtonPress_0
Definition: IVROverlay.h:84
@ VRMessageOverlayResponse_ButtonPress_1
Definition: IVROverlay.h:85
@ VRMessageOverlayResponse_ButtonPress_3
Definition: IVROverlay.h:87
@ VRMessageOverlayResponse_CouldntFindSystemOverlay
Definition: IVROverlay.h:88
@ VRMessageOverlayResponse_ButtonPress_2
Definition: IVROverlay.h:86
static constexpr std::uint32_t k_unVROverlayMaxNameLength
Definition: IVROverlay.h:13
Definition: Hmd.h:46
Definition: Hmd.h:11
Definition: Hmd.h:56
Definition: Hmd.h:36
Definition: Hmd.h:21
Definition: IVROverlay.h:149
float m_flCenterY
Definition: IVROverlay.h:151
float m_flRadius
Definition: IVROverlay.h:152
float m_flCenterX
Definition: IVROverlay.h:150
Definition: IVROverlay.h:141
float m_flTopLeftY
Definition: IVROverlay.h:143
float m_flTopLeftX
Definition: IVROverlay.h:142
float m_flWidth
Definition: IVROverlay.h:144
float m_flHeight
Definition: IVROverlay.h:145
Definition: OpenVRTypes.h:38
Definition: VREvent.h:417
Definition: IVROverlay.h:162
VROverlayIntersectionMaskPrimitive_Data_t m_Primitive
Definition: IVROverlay.h:164
EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType
Definition: IVROverlay.h:163
Definition: IVROverlay.h:94
HmdVector3_t vDirection
Definition: IVROverlay.h:96
HmdVector3_t vSource
Definition: IVROverlay.h:95
ETrackingUniverseOrigin eOrigin
Definition: IVROverlay.h:97
Definition: IVROverlay.h:101
HmdVector3_t vPoint
Definition: IVROverlay.h:102
float fDistance
Definition: IVROverlay.h:105
HmdVector2_t vUVs
Definition: IVROverlay.h:104
HmdVector3_t vNormal
Definition: IVROverlay.h:103
Definition: OpenVRTypes.h:92
IntersectionMaskCircle_t m_Circle
Definition: IVROverlay.h:158
IntersectionMaskRectangle_t m_Rectangle
Definition: IVROverlay.h:157