Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVROverlay_001.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 001.
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_005.hpp"
20
21
22namespace xrt::state_trackers::openvr {
23
24using namespace vr;
25
26class XRTVROverlay_001 : public XRTVROverlay_005, public vr::IVROverlay_001
27{
28public:
29 // @todo Remove when clang-format is updated in CI
30 // clang-format off
32 // clang-format on
33
34 void *
35 getFnTable()
36 {
37 // No FnTable available for IVROverlay_001.
38 return nullptr;
39 }
40
41 ForwardDeclareBase_IVROverlay(XRTVROverlay_005);
42
43 VROverlayError
44 FindOverlay(const char *pchOverlayKey, vr::VROverlayHandle_t *pOverlayHandle) override
45 {
46 openvr_logger logger;
47 OPENVR_LOGGER_INIT(logger);
48
50 logger, "FindOverlay(pchOverlayKey=%s, pOverlayHandle=%p) -> VROverlayError_None",
51 VROverlayError::VROverlayError_None, pchOverlayKey, static_cast<const void *>(pOverlayHandle));
52 }
53
54 VROverlayError
55 CreateOverlay(const char *pchOverlayKey,
56 const char *pchOverlayFriendlyName,
57 vr::VROverlayHandle_t *pOverlayHandle) override
58 {
59 openvr_logger logger;
60 OPENVR_LOGGER_INIT(logger);
61
63 "CreateOverlay(pchOverlayKey=%s, pchOverlayFriendlyName=%s, "
64 "pOverlayHandle=%p) -> VROverlayError_None",
65 VROverlayError::VROverlayError_None, pchOverlayKey, pchOverlayFriendlyName,
66 static_cast<const void *>(pOverlayHandle));
67 }
68
69 Forward_IVROverlay_DestroyOverlay_006();
70 Forward_IVROverlay_SetHighQualityOverlay_006();
71 Forward_IVROverlay_GetHighQualityOverlay();
72 Forward_IVROverlay_GetOverlayErrorNameFromEnum_006();
73 Forward_IVROverlay_SetOverlayFlag_006();
74 Forward_IVROverlay_GetOverlayFlag_006();
75 Forward_IVROverlay_SetOverlayAlpha_006();
76 Forward_IVROverlay_GetOverlayAlpha_006();
77 Forward_IVROverlay_SetOverlayGamma();
78 Forward_IVROverlay_GetOverlayGamma();
79 Forward_IVROverlay_SetOverlayWidthInMeters_006();
80 Forward_IVROverlay_GetOverlayWidthInMeters_006();
81 Forward_IVROverlay_SetOverlayTextureBounds_006();
82 Forward_IVROverlay_GetOverlayTextureBounds_006();
83 Forward_IVROverlay_GetOverlayTransformType_006();
84 Forward_IVROverlay_SetOverlayTransformAbsolute_006();
85 Forward_IVROverlay_GetOverlayTransformAbsolute_006();
86 Forward_IVROverlay_SetOverlayTransformTrackedDeviceRelative_006();
87 Forward_IVROverlay_GetOverlayTransformTrackedDeviceRelative_006();
88
89 VROverlayError
90 GetOverlayVisibility(VROverlayHandle_t ulOverlayHandle, VROverlayVisibility *peOverlayVisibility) override
91 {
92 openvr_logger logger;
93 OPENVR_LOGGER_INIT(logger);
94
96 logger, "GetOverlayVisibility(ulOverlayHandle=%llu, peOverlayVisibility=%p) -> VROverlayError_None",
97 VROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
98 static_cast<const void *>(peOverlayVisibility));
99 }
100
101 VROverlayError
102 SetOverlayVisibility(VROverlayHandle_t ulOverlayHandle, VROverlayVisibility eOverlayVisibility) override
103 {
104 openvr_logger logger;
105 OPENVR_LOGGER_INIT(logger);
106
108 logger, "SetOverlayVisibility(ulOverlayHandle=%llu, eOverlayVisibility=?) -> VROverlayError_None",
109 VROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle));
110 }
111
112 Forward_IVROverlay_ShowOverlay_006();
113 Forward_IVROverlay_HideOverlay_006();
114 Forward_IVROverlay_IsOverlayVisible();
115 Forward_IVROverlay_PollNextOverlayEvent_008();
116 Forward_IVROverlay_GetOverlayInputMethod_006();
117 Forward_IVROverlay_SetOverlayInputMethod_006();
118 Forward_IVROverlay_GetOverlayMouseScale_006();
119 Forward_IVROverlay_SetOverlayMouseScale_006();
120 Forward_IVROverlay_ComputeOverlayIntersection();
121
122 bool
123 HandleControllerOverlayInteractionAsMouse(VROverlayHandle_t ulOverlayHandle,
124 vr::TrackedDeviceIndex_t unControllerDeviceIndex) override
125 {
126 openvr_logger logger;
127 OPENVR_LOGGER_INIT(logger);
128
130 "HandleControllerOverlayInteractionAsMouse(ulOverlayHandle=%llu, "
131 "unControllerDeviceIndex=%llu) -> false",
132 false, static_cast<unsigned long long>(ulOverlayHandle),
133 static_cast<unsigned long long>(unControllerDeviceIndex));
134 }
135
136 VROverlayError
137 SetOverlayTexture(VROverlayHandle_t ulOverlayHandle, void *pTexture) override
138 {
139 openvr_logger logger;
140 OPENVR_LOGGER_INIT(logger);
141
143 logger, "SetOverlayTexture(ulOverlayHandle=%llu, pTexture=%p) -> VROverlayError_None",
144 VROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
145 static_cast<const void *>(pTexture));
146 }
147
148 Forward_IVROverlay_SetOverlayRaw_006();
149 Forward_IVROverlay_SetOverlayFromFile_006();
150
151 bool
152 IsSystemOverlayVisible() override
153 {
154 openvr_logger logger;
155 OPENVR_LOGGER_INIT(logger);
156
157 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "IsSystemOverlayVisible() -> false", false);
158 }
159
160 bool
161 IsActiveSystemOverlay(VROverlayHandle_t ulOverlayHandle) override
162 {
163 openvr_logger logger;
164 OPENVR_LOGGER_INIT(logger);
165
166 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "IsActiveSystemOverlay(ulOverlayHandle=%llu) -> false", false,
167 static_cast<unsigned long long>(ulOverlayHandle));
168 }
169
170 VROverlayError
171 SetSystemOverlaySceneProcess(VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId) override
172 {
173 openvr_logger logger;
174 OPENVR_LOGGER_INIT(logger);
175
177 logger,
178 "SetSystemOverlaySceneProcess(ulOverlayHandle=%llu, unProcessId=%llu) -> VROverlayError_None",
179 VROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
180 static_cast<unsigned long long>(unProcessId));
181 }
182
183 VROverlayError
184 GetSystemOverlaySceneProcess(VROverlayHandle_t ulOverlayHandle, uint32_t *punProcessId) override
185 {
186 openvr_logger logger;
187 OPENVR_LOGGER_INIT(logger);
188
190 logger,
191 "GetSystemOverlaySceneProcess(ulOverlayHandle=%llu, punProcessId=%p) -> VROverlayError_None",
192 VROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
193 static_cast<const void *>(punProcessId));
194 }
195};
196
197}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVROverlay_028 interface version.
Implementation of the IVROverlay interface version 005.
Definition XRTVRClientCore.hpp:152
Definition XRTVROverlay_001.hpp:27
Definition XRTVROverlay_005.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