Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVROverlay_005.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 005.
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_006.hpp"
20
21
22namespace xrt::state_trackers::openvr {
23
24using namespace vr;
25
26class XRTVROverlay_005 : public XRTVROverlay_006, public vr::IVROverlay_005
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_005.
38 return nullptr;
39 }
40
41 ForwardDeclareBase_IVROverlay(XRTVROverlay_006);
42
43 Forward_IVROverlay_FindOverlay_006();
44 Forward_IVROverlay_CreateOverlay_006();
45 Forward_IVROverlay_DestroyOverlay_006();
46 Forward_IVROverlay_SetHighQualityOverlay_006();
47 Forward_IVROverlay_GetHighQualityOverlay();
48 Forward_IVROverlay_GetOverlayKey_006();
49 Forward_IVROverlay_GetOverlayName_006();
50 Forward_IVROverlay_GetOverlayImageData_006();
51 Forward_IVROverlay_GetOverlayErrorNameFromEnum_006();
52 Forward_IVROverlay_SetOverlayFlag_006();
53 Forward_IVROverlay_GetOverlayFlag_006();
54 Forward_IVROverlay_SetOverlayColor_006();
55 Forward_IVROverlay_GetOverlayColor_006();
56 Forward_IVROverlay_SetOverlayAlpha_006();
57 Forward_IVROverlay_GetOverlayAlpha_006();
58 Forward_IVROverlay_SetOverlayGamma();
59 Forward_IVROverlay_GetOverlayGamma();
60 Forward_IVROverlay_SetOverlayWidthInMeters_006();
61 Forward_IVROverlay_GetOverlayWidthInMeters_006();
62 Forward_IVROverlay_SetOverlayAutoCurveDistanceRangeInMeters_006();
63 Forward_IVROverlay_GetOverlayAutoCurveDistanceRangeInMeters_006();
64 Forward_IVROverlay_SetOverlayTextureBounds_006();
65 Forward_IVROverlay_GetOverlayTextureBounds_006();
66 Forward_IVROverlay_GetOverlayTransformType_006();
67 Forward_IVROverlay_SetOverlayTransformAbsolute_006();
68 Forward_IVROverlay_GetOverlayTransformAbsolute_006();
69 Forward_IVROverlay_SetOverlayTransformTrackedDeviceRelative_006();
70 Forward_IVROverlay_GetOverlayTransformTrackedDeviceRelative_006();
71 Forward_IVROverlay_ShowOverlay_006();
72 Forward_IVROverlay_HideOverlay_006();
73 Forward_IVROverlay_IsOverlayVisible();
74 Forward_IVROverlay_PollNextOverlayEvent_008();
75 Forward_IVROverlay_GetOverlayInputMethod_006();
76 Forward_IVROverlay_SetOverlayInputMethod_006();
77 Forward_IVROverlay_GetOverlayMouseScale_006();
78 Forward_IVROverlay_SetOverlayMouseScale_006();
79 Forward_IVROverlay_ComputeOverlayIntersection();
80 Forward_IVROverlay_HandleControllerOverlayInteractionAsMouse_017();
81
82 bool
83 IsFocusOverlay(VROverlayHandle_t ulOverlayHandle) override
84 {
85 openvr_logger logger;
86 OPENVR_LOGGER_INIT(logger);
87
88 OPENVR_LOG_UNIMPLEMENTED_RET(logger, "IsFocusOverlay(ulOverlayHandle=%llu)", false,
89 static_cast<unsigned long long>(ulOverlayHandle));
90 }
91
92 Forward_IVROverlay_SetOverlayTexture_006();
93 Forward_IVROverlay_ClearOverlayTexture_006();
94 Forward_IVROverlay_SetOverlayRaw_006();
95 Forward_IVROverlay_SetOverlayFromFile_006();
96 Forward_IVROverlay_CreateDashboardOverlay_006();
97 Forward_IVROverlay_IsDashboardVisible();
98 Forward_IVROverlay_IsActiveDashboardOverlay();
99 Forward_IVROverlay_SetDashboardOverlaySceneProcess_006();
100 Forward_IVROverlay_GetDashboardOverlaySceneProcess_006();
101 Forward_IVROverlay_ShowDashboard();
102
103 VROverlayError
104 ShowKeyboard(EGamepadTextInputMode eInputMode,
105 EGamepadTextInputLineMode eLineInputMode,
106 const char *pchDescription,
107 uint32_t unCharMax,
108 const char *pchExistingText,
109 bool bUseMinimalMode) override
110 {
111 openvr_logger logger;
112 OPENVR_LOGGER_INIT(logger);
113
115 logger,
116 "ShowKeyboard(eInputMode=?, eLineInputMode=?, pchDescription=%s, "
117 "unCharMax=%llu, pchExistingText=%s, bUseMinimalMode=%d) -> VROverlayError_None",
118 VROverlayError::VROverlayError_None, pchDescription, static_cast<unsigned long long>(unCharMax),
119 pchExistingText, static_cast<int>(bUseMinimalMode));
120 }
121
122 Forward_IVROverlay_GetKeyboardText();
123 Forward_IVROverlay_HideKeyboard();
124};
125
126}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVROverlay_028 interface version.
Implementation of the IVROverlay interface version 006.
Definition XRTVRClientCore.hpp:152
Definition XRTVROverlay_005.hpp:27
Definition XRTVROverlay_006.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