Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVROverlay_026.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 026.
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
20
21namespace xrt::state_trackers::openvr {
22
23using namespace vr;
24
25class XRTVROverlay_026 : public XRTVROverlay_028, public vr::IVROverlay_026
26{
27public:
28 // @todo Remove when clang-format is updated in CI
29 // clang-format off
31 // clang-format on
32
33 FnTable_IVROverlay_026();
34
35 ForwardDeclareBase_IVROverlay(XRTVROverlay_028);
36
37 Forward_IVROverlay_FindOverlay_028();
38 Forward_IVROverlay_CreateOverlay_028();
39 Forward_IVROverlay_DestroyOverlay_028();
40 Forward_IVROverlay_GetOverlayKey_028();
41 Forward_IVROverlay_GetOverlayName_028();
42 Forward_IVROverlay_SetOverlayName();
43 Forward_IVROverlay_GetOverlayImageData_028();
44 Forward_IVROverlay_GetOverlayErrorNameFromEnum_028();
45 Forward_IVROverlay_SetOverlayRenderingPid();
46 Forward_IVROverlay_GetOverlayRenderingPid();
47 Forward_IVROverlay_SetOverlayFlag_028();
48 Forward_IVROverlay_GetOverlayFlag_028();
49 Forward_IVROverlay_GetOverlayFlags();
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 Forward_IVROverlay_SetOverlayCurvature();
61 Forward_IVROverlay_GetOverlayCurvature();
62 Forward_IVROverlay_SetOverlayPreCurvePitch();
63 Forward_IVROverlay_GetOverlayPreCurvePitch();
64 Forward_IVROverlay_SetOverlayTextureColorSpace();
65 Forward_IVROverlay_GetOverlayTextureColorSpace();
66 Forward_IVROverlay_SetOverlayTextureBounds_028();
67 Forward_IVROverlay_GetOverlayTextureBounds_028();
68 Forward_IVROverlay_GetOverlayTransformType_028();
69 Forward_IVROverlay_SetOverlayTransformAbsolute_028();
70 Forward_IVROverlay_GetOverlayTransformAbsolute_028();
71 Forward_IVROverlay_SetOverlayTransformTrackedDeviceRelative_028();
72 Forward_IVROverlay_GetOverlayTransformTrackedDeviceRelative_028();
73 Forward_IVROverlay_SetOverlayTransformTrackedDeviceComponent();
74 Forward_IVROverlay_GetOverlayTransformTrackedDeviceComponent_028();
75
76 vr::EVROverlayError
77 GetOverlayTransformOverlayRelative(VROverlayHandle_t ulOverlayHandle,
78 VROverlayHandle_t *ulOverlayHandleParent,
79 HmdMatrix34_t *pmatParentOverlayToOverlayTransform) override
80 {
81 openvr_logger logger;
82 OPENVR_LOGGER_INIT(logger);
83
85 logger,
86 "GetOverlayTransformOverlayRelative(ulOverlayHandle=%llu, ulOverlayHandleParent=%p, "
87 "pmatParentOverlayToOverlayTransform=%p) -> VROverlayError_None",
88 vr::EVROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
89 static_cast<const void *>(ulOverlayHandleParent),
90 static_cast<const void *>(pmatParentOverlayToOverlayTransform));
91 }
92
93 vr::EVROverlayError
94 SetOverlayTransformOverlayRelative(VROverlayHandle_t ulOverlayHandle,
95 VROverlayHandle_t ulOverlayHandleParent,
96 const HmdMatrix34_t *pmatParentOverlayToOverlayTransform) override
97 {
98 openvr_logger logger;
99 OPENVR_LOGGER_INIT(logger);
100
102 logger,
103 "SetOverlayTransformOverlayRelative(ulOverlayHandle=%llu, ulOverlayHandleParent=%llu, "
104 "pmatParentOverlayToOverlayTransform=%p) -> VROverlayError_None",
105 vr::EVROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
106 static_cast<unsigned long long>(ulOverlayHandleParent),
107 static_cast<const void *>(pmatParentOverlayToOverlayTransform));
108 }
109
110 Forward_IVROverlay_SetOverlayTransformCursor();
111 Forward_IVROverlay_GetOverlayTransformCursor();
112 Forward_IVROverlay_SetOverlayTransformProjection();
113 Forward_IVROverlay_ShowOverlay_028();
114 Forward_IVROverlay_HideOverlay_028();
115 Forward_IVROverlay_IsOverlayVisible();
116 Forward_IVROverlay_GetTransformForOverlayCoordinates();
117 Forward_IVROverlay_WaitFrameSync();
118 Forward_IVROverlay_PollNextOverlayEvent_028();
119 Forward_IVROverlay_GetOverlayInputMethod_028();
120 Forward_IVROverlay_SetOverlayInputMethod_028();
121 Forward_IVROverlay_GetOverlayMouseScale_028();
122 Forward_IVROverlay_SetOverlayMouseScale_028();
123 Forward_IVROverlay_ComputeOverlayIntersection();
124 Forward_IVROverlay_IsHoverTargetOverlay();
125 Forward_IVROverlay_SetOverlayIntersectionMask();
126 Forward_IVROverlay_TriggerLaserMouseHapticVibration();
127 Forward_IVROverlay_SetOverlayCursor();
128 Forward_IVROverlay_SetOverlayCursorPositionOverride();
129 Forward_IVROverlay_ClearOverlayCursorPositionOverride();
130 Forward_IVROverlay_SetOverlayTexture_028();
131 Forward_IVROverlay_ClearOverlayTexture_028();
132 Forward_IVROverlay_SetOverlayRaw_028();
133 Forward_IVROverlay_SetOverlayFromFile_028();
134 Forward_IVROverlay_GetOverlayTexture_028();
135 Forward_IVROverlay_ReleaseNativeOverlayHandle();
136 Forward_IVROverlay_GetOverlayTextureSize();
137 Forward_IVROverlay_CreateDashboardOverlay_028();
138 Forward_IVROverlay_IsDashboardVisible();
139 Forward_IVROverlay_IsActiveDashboardOverlay();
140 Forward_IVROverlay_SetDashboardOverlaySceneProcess_028();
141 Forward_IVROverlay_GetDashboardOverlaySceneProcess_028();
142 Forward_IVROverlay_ShowDashboard();
143 Forward_IVROverlay_GetPrimaryDashboardDevice();
144 Forward_IVROverlay_ShowKeyboard_028();
145 Forward_IVROverlay_ShowKeyboardForOverlay_028();
146 Forward_IVROverlay_GetKeyboardText();
147 Forward_IVROverlay_HideKeyboard();
148 Forward_IVROverlay_SetKeyboardTransformAbsolute();
149 Forward_IVROverlay_SetKeyboardPositionForOverlay();
150 Forward_IVROverlay_ShowMessageOverlay();
151 Forward_IVROverlay_CloseMessageOverlay();
152};
153
154}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVROverlay_028 interface version.
Definition XRTVRClientCore.hpp:152
Definition XRTVROverlay_026.hpp:26
Definition XRTVROverlay.hpp:24
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