Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVROverlay_020.hpp
Go to the documentation of this file.
1// Copyright 2026, Beyley Cardellio
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Implementation of the IVROverlay interface version 020.
6 *
7 * @author Beyley Cardellio <ep1cm1n10n123@gmail.com>
8 * @ingroup openvr_interfaces
9 */
10
11#pragma once
12
14
15#include "openvr_interfaces_unified.h"
16#include "openvr_forward_macros.h"
17
19#include "XRTVROverlay_022.hpp"
20
21
22namespace xrt::state_trackers::openvr {
23
24using namespace vr;
25
26class XRTVROverlay_020 : public XRTVROverlay_022, public vr::IVROverlay_020
27{
28public:
29 // @todo Remove when clang-format is updated in CI
30 // clang-format off
32 // clang-format on
33
34 FnTable_IVROverlay_020();
35
36 ForwardDeclareBase_IVROverlay(XRTVROverlay_022);
37
38 Forward_IVROverlay_FindOverlay_028();
39 Forward_IVROverlay_CreateOverlay_028();
40 Forward_IVROverlay_DestroyOverlay_028();
41 Forward_IVROverlay_GetOverlayKey_028();
42 Forward_IVROverlay_GetOverlayName_028();
43 Forward_IVROverlay_SetOverlayName();
44 Forward_IVROverlay_GetOverlayImageData_028();
45 Forward_IVROverlay_GetOverlayErrorNameFromEnum_028();
46 Forward_IVROverlay_SetOverlayRenderingPid();
47 Forward_IVROverlay_GetOverlayRenderingPid();
48 Forward_IVROverlay_SetOverlayFlag_028();
49 Forward_IVROverlay_GetOverlayFlag_028();
50 Forward_IVROverlay_SetOverlayColor_028();
51 Forward_IVROverlay_GetOverlayColor_028();
52 Forward_IVROverlay_SetOverlayAlpha_028();
53 Forward_IVROverlay_GetOverlayAlpha_028();
54 Forward_IVROverlay_SetOverlayTexelAspect();
55 Forward_IVROverlay_GetOverlayTexelAspect();
56 Forward_IVROverlay_SetOverlaySortOrder();
57 Forward_IVROverlay_GetOverlaySortOrder();
58 Forward_IVROverlay_SetOverlayWidthInMeters_028();
59 Forward_IVROverlay_GetOverlayWidthInMeters_028();
60
61 EVROverlayError
62 SetOverlayAutoCurveDistanceRangeInMeters(VROverlayHandle_t ulOverlayHandle,
63 float fMinDistanceInMeters,
64 float fMaxDistanceInMeters) override
65 {
66 openvr_logger logger;
67 OPENVR_LOGGER_INIT(logger);
68
70 "SetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle=%llu, "
71 "fMinDistanceInMeters=%f, fMaxDistanceInMeters=%f) -> VROverlayError_None",
72 EVROverlayError::VROverlayError_None,
73 static_cast<unsigned long long>(ulOverlayHandle), fMinDistanceInMeters,
74 fMaxDistanceInMeters);
75 }
76
77 EVROverlayError
78 GetOverlayAutoCurveDistanceRangeInMeters(VROverlayHandle_t ulOverlayHandle,
79 float *pfMinDistanceInMeters,
80 float *pfMaxDistanceInMeters) override
81 {
82 openvr_logger logger;
83 OPENVR_LOGGER_INIT(logger);
84
85 (*pfMinDistanceInMeters) = 0.0f;
86 (*pfMaxDistanceInMeters) = 0.0f;
87
89 logger,
90 "GetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle=%llu, "
91 "pfMinDistanceInMeters=%p, pfMaxDistanceInMeters=%p) -> VROverlayError_None",
92 EVROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
93 static_cast<const void *>(pfMinDistanceInMeters), static_cast<const void *>(pfMaxDistanceInMeters));
94 }
95
96 Forward_IVROverlay_SetOverlayTextureColorSpace();
97 Forward_IVROverlay_GetOverlayTextureColorSpace();
98 Forward_IVROverlay_SetOverlayTextureBounds_028();
99 Forward_IVROverlay_GetOverlayTextureBounds_028();
100 Forward_IVROverlay_GetOverlayRenderModel_022();
101 Forward_IVROverlay_SetOverlayRenderModel();
102 Forward_IVROverlay_GetOverlayTransformType_028();
103 Forward_IVROverlay_SetOverlayTransformAbsolute_028();
104 Forward_IVROverlay_GetOverlayTransformAbsolute_028();
105 Forward_IVROverlay_SetOverlayTransformTrackedDeviceRelative_028();
106 Forward_IVROverlay_GetOverlayTransformTrackedDeviceRelative_028();
107 Forward_IVROverlay_SetOverlayTransformTrackedDeviceComponent();
108 Forward_IVROverlay_GetOverlayTransformTrackedDeviceComponent_028();
109 Forward_IVROverlay_GetOverlayTransformOverlayRelative();
110 Forward_IVROverlay_SetOverlayTransformOverlayRelative();
111 Forward_IVROverlay_ShowOverlay_028();
112 Forward_IVROverlay_HideOverlay_028();
113 Forward_IVROverlay_IsOverlayVisible();
114 Forward_IVROverlay_GetTransformForOverlayCoordinates();
115 Forward_IVROverlay_PollNextOverlayEvent_028();
116 Forward_IVROverlay_GetOverlayInputMethod_028();
117 Forward_IVROverlay_SetOverlayInputMethod_028();
118 Forward_IVROverlay_GetOverlayMouseScale_028();
119 Forward_IVROverlay_SetOverlayMouseScale_028();
120 Forward_IVROverlay_ComputeOverlayIntersection();
121 Forward_IVROverlay_IsHoverTargetOverlay();
122
123 vr::VROverlayHandle_t
124 GetGamepadFocusOverlay() override
125 {
126 openvr_logger logger;
127 OPENVR_LOGGER_INIT(logger);
128
129 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "GetGamepadFocusOverlay()", {});
130 }
131
132 EVROverlayError
133 SetGamepadFocusOverlay(VROverlayHandle_t ulNewFocusOverlay) override
134 {
135 openvr_logger logger;
136 OPENVR_LOGGER_INIT(logger);
137
139 logger, "SetGamepadFocusOverlay(ulNewFocusOverlay=%llu) -> VROverlayError_None",
140 EVROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulNewFocusOverlay));
141 }
142
143 EVROverlayError
144 SetOverlayNeighbor(EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo) override
145 {
146 openvr_logger logger;
147 OPENVR_LOGGER_INIT(logger);
148
150 logger, "SetOverlayNeighbor(eDirection=?, ulFrom=%llu, ulTo=%llu) -> VROverlayError_None",
151 EVROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulFrom),
152 static_cast<unsigned long long>(ulTo));
153 }
154
155 EVROverlayError
156 MoveGamepadFocusToNeighbor(EOverlayDirection eDirection, VROverlayHandle_t ulFrom) override
157 {
158 openvr_logger logger;
159 OPENVR_LOGGER_INIT(logger);
160
162 logger, "MoveGamepadFocusToNeighbor(eDirection=?, ulFrom=%llu) -> VROverlayError_None",
163 EVROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulFrom));
164 }
165
166 Forward_IVROverlay_SetOverlayDualAnalogTransform_022();
167 Forward_IVROverlay_GetOverlayDualAnalogTransform();
168 Forward_IVROverlay_SetOverlayTexture_028();
169 Forward_IVROverlay_ClearOverlayTexture_028();
170 Forward_IVROverlay_SetOverlayRaw_021();
171 Forward_IVROverlay_SetOverlayFromFile_028();
172 Forward_IVROverlay_GetOverlayTexture_028();
173 Forward_IVROverlay_ReleaseNativeOverlayHandle();
174 Forward_IVROverlay_GetOverlayTextureSize();
175 Forward_IVROverlay_CreateDashboardOverlay_028();
176 Forward_IVROverlay_IsDashboardVisible();
177 Forward_IVROverlay_IsActiveDashboardOverlay();
178 Forward_IVROverlay_SetDashboardOverlaySceneProcess_028();
179 Forward_IVROverlay_GetDashboardOverlaySceneProcess_028();
180 Forward_IVROverlay_ShowDashboard();
181 Forward_IVROverlay_GetPrimaryDashboardDevice();
182 Forward_IVROverlay_ShowKeyboard_022();
183 Forward_IVROverlay_ShowKeyboardForOverlay_022();
184 Forward_IVROverlay_GetKeyboardText();
185 Forward_IVROverlay_HideKeyboard();
186 Forward_IVROverlay_SetKeyboardTransformAbsolute();
187 Forward_IVROverlay_SetKeyboardPositionForOverlay();
188 Forward_IVROverlay_SetOverlayIntersectionMask();
189 Forward_IVROverlay_GetOverlayFlags();
190 Forward_IVROverlay_ShowMessageOverlay();
191 Forward_IVROverlay_CloseMessageOverlay();
192};
193
194}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVROverlay_028 interface version.
Implementation of the IVROverlay interface version 022.
Definition XRTVRClientCore.hpp:152
Definition XRTVROverlay_020.hpp:27
Definition XRTVROverlay_022.hpp:27
Definitions missing from C++ header, present in C.
Definition blockqueue.hpp:15
Logging functions.
#define OPENVR_LOG_UNIMPLEMENTED_RET(logger, fmt, ret,...)
Specialized macro for logging an unimplemented function and returning a value.
Definition openvr_logger.hpp:57
Definition openvr_logger.hpp:30