Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVROverlay_017.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 017.
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_018.hpp"
20
21
22namespace xrt::state_trackers::openvr {
23
24using namespace vr;
25
26class XRTVROverlay_017 : public XRTVROverlay_018, public vr::IVROverlay_017
27{
28public:
29 // @todo Remove when clang-format is updated in CI
30 // clang-format off
32 // clang-format on
33
34 FnTable_IVROverlay_017();
35
36 ForwardDeclareBase_IVROverlay(XRTVROverlay_018);
37
38 Forward_IVROverlay_FindOverlay_028();
39 Forward_IVROverlay_CreateOverlay_028();
40 Forward_IVROverlay_DestroyOverlay_028();
41 Forward_IVROverlay_SetHighQualityOverlay_019();
42 Forward_IVROverlay_GetHighQualityOverlay();
43 Forward_IVROverlay_GetOverlayKey_028();
44 Forward_IVROverlay_GetOverlayName_028();
45 Forward_IVROverlay_SetOverlayName();
46 Forward_IVROverlay_GetOverlayImageData_028();
47 Forward_IVROverlay_GetOverlayErrorNameFromEnum_028();
48 Forward_IVROverlay_SetOverlayRenderingPid();
49 Forward_IVROverlay_GetOverlayRenderingPid();
50 Forward_IVROverlay_SetOverlayFlag_028();
51 Forward_IVROverlay_GetOverlayFlag_028();
52 Forward_IVROverlay_SetOverlayColor_028();
53 Forward_IVROverlay_GetOverlayColor_028();
54 Forward_IVROverlay_SetOverlayAlpha_028();
55 Forward_IVROverlay_GetOverlayAlpha_028();
56 Forward_IVROverlay_SetOverlayTexelAspect();
57 Forward_IVROverlay_GetOverlayTexelAspect();
58 Forward_IVROverlay_SetOverlaySortOrder();
59 Forward_IVROverlay_GetOverlaySortOrder();
60 Forward_IVROverlay_SetOverlayWidthInMeters_028();
61 Forward_IVROverlay_GetOverlayWidthInMeters_028();
62 Forward_IVROverlay_SetOverlayAutoCurveDistanceRangeInMeters_020();
63 Forward_IVROverlay_GetOverlayAutoCurveDistanceRangeInMeters_020();
64 Forward_IVROverlay_SetOverlayTextureColorSpace();
65 Forward_IVROverlay_GetOverlayTextureColorSpace();
66 Forward_IVROverlay_SetOverlayTextureBounds_028();
67 Forward_IVROverlay_GetOverlayTextureBounds_028();
68
69 uint32_t
70 GetOverlayRenderModel(vr::VROverlayHandle_t ulOverlayHandle,
71 char *pchValue,
72 uint32_t unBufferSize,
73 HmdColor_t *pColor,
74 vr::EVROverlayError *pError) override
75 {
76 openvr_logger logger;
77 OPENVR_LOGGER_INIT(logger);
78
79 SET_ERROR(pError, EVROverlayError::VROverlayError_None);
80
82 "GetOverlayRenderModel(ulOverlayHandle=%llu, pchValue=%p, "
83 "unBufferSize=%llu, pColor=%p, pError=%p) -> 0",
84 0, static_cast<unsigned long long>(ulOverlayHandle),
85 static_cast<const void *>(pchValue),
86 static_cast<unsigned long long>(unBufferSize),
87 static_cast<const void *>(pColor), static_cast<const void *>(pError));
88 }
89
90 Forward_IVROverlay_SetOverlayRenderModel();
91 Forward_IVROverlay_GetOverlayTransformType_028();
92 Forward_IVROverlay_SetOverlayTransformAbsolute_028();
93 Forward_IVROverlay_GetOverlayTransformAbsolute_028();
94 Forward_IVROverlay_SetOverlayTransformTrackedDeviceRelative_028();
95 Forward_IVROverlay_GetOverlayTransformTrackedDeviceRelative_028();
96 Forward_IVROverlay_SetOverlayTransformTrackedDeviceComponent();
97
98 EVROverlayError
99 GetOverlayTransformTrackedDeviceComponent(VROverlayHandle_t ulOverlayHandle,
100 TrackedDeviceIndex_t *punDeviceIndex,
101 char *pchComponentName,
102 uint32_t unComponentNameSize) override
103 {
104 openvr_logger logger;
105 OPENVR_LOGGER_INIT(logger);
106
108 logger,
109 "GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle=%llu, "
110 "punDeviceIndex=%p, pchComponentName=%p, unComponentNameSize=%llu) -> VROverlayError_None",
111 EVROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
112 static_cast<const void *>(punDeviceIndex), static_cast<const void *>(pchComponentName),
113 static_cast<unsigned long long>(unComponentNameSize));
114 }
115
116 Forward_IVROverlay_GetOverlayTransformOverlayRelative();
117 Forward_IVROverlay_SetOverlayTransformOverlayRelative();
118 Forward_IVROverlay_ShowOverlay_028();
119 Forward_IVROverlay_HideOverlay_028();
120 Forward_IVROverlay_IsOverlayVisible();
121 Forward_IVROverlay_GetTransformForOverlayCoordinates();
122 Forward_IVROverlay_PollNextOverlayEvent_028();
123 Forward_IVROverlay_GetOverlayInputMethod_028();
124 Forward_IVROverlay_SetOverlayInputMethod_028();
125 Forward_IVROverlay_GetOverlayMouseScale_028();
126 Forward_IVROverlay_SetOverlayMouseScale_028();
127 Forward_IVROverlay_ComputeOverlayIntersection();
128
129 bool
130 HandleControllerOverlayInteractionAsMouse(VROverlayHandle_t ulOverlayHandle,
131 TrackedDeviceIndex_t unControllerDeviceIndex) override
132 {
133 openvr_logger logger;
134 OPENVR_LOGGER_INIT(logger);
135
137 "HandleControllerOverlayInteractionAsMouse(ulOverlayHandle=%llu, "
138 "unControllerDeviceIndex=%llu) -> false",
139 false, static_cast<unsigned long long>(ulOverlayHandle),
140 static_cast<unsigned long long>(unControllerDeviceIndex));
141 }
142
143 Forward_IVROverlay_IsHoverTargetOverlay();
144 Forward_IVROverlay_GetGamepadFocusOverlay();
145 Forward_IVROverlay_SetGamepadFocusOverlay_020();
146 Forward_IVROverlay_SetOverlayNeighbor_020();
147 Forward_IVROverlay_MoveGamepadFocusToNeighbor_020();
148 Forward_IVROverlay_SetOverlayDualAnalogTransform_018();
149 Forward_IVROverlay_GetOverlayDualAnalogTransform();
150 Forward_IVROverlay_SetOverlayTexture_028();
151 Forward_IVROverlay_ClearOverlayTexture_028();
152 Forward_IVROverlay_SetOverlayRaw_021();
153 Forward_IVROverlay_SetOverlayFromFile_028();
154 Forward_IVROverlay_GetOverlayTexture_028();
155 Forward_IVROverlay_ReleaseNativeOverlayHandle();
156 Forward_IVROverlay_GetOverlayTextureSize();
157 Forward_IVROverlay_CreateDashboardOverlay_028();
158 Forward_IVROverlay_IsDashboardVisible();
159 Forward_IVROverlay_IsActiveDashboardOverlay();
160 Forward_IVROverlay_SetDashboardOverlaySceneProcess_028();
161 Forward_IVROverlay_GetDashboardOverlaySceneProcess_028();
162 Forward_IVROverlay_ShowDashboard();
163 Forward_IVROverlay_GetPrimaryDashboardDevice();
164 Forward_IVROverlay_ShowKeyboard_022();
165 Forward_IVROverlay_ShowKeyboardForOverlay_022();
166 Forward_IVROverlay_GetKeyboardText();
167 Forward_IVROverlay_HideKeyboard();
168 Forward_IVROverlay_SetKeyboardTransformAbsolute();
169 Forward_IVROverlay_SetKeyboardPositionForOverlay();
170 Forward_IVROverlay_SetOverlayIntersectionMask();
171 Forward_IVROverlay_GetOverlayFlags();
172 Forward_IVROverlay_ShowMessageOverlay();
173 Forward_IVROverlay_CloseMessageOverlay();
174};
175
176}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVROverlay_028 interface version.
Implementation of the IVROverlay interface version 018.
Definition XRTVRClientCore.hpp:152
Definition XRTVROverlay_017.hpp:27
Definition XRTVROverlay_018.hpp:27
Definitions missing from C++ header, present in C.
Definition blockqueue.hpp:15
#define SET_ERROR(error_ptr, ERROR)
Helper macro to set an OpenVR error pointer if it's not null.
Definition openvr_error.hpp:23
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