Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVROverlay_013.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 013.
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_017.hpp"
20
21
22namespace xrt::state_trackers::openvr {
23
24using namespace vr;
25
26class XRTVROverlay_013 : public XRTVROverlay_017, public vr::IVROverlay_013
27{
28public:
29 // @todo Remove when clang-format is updated in CI
30 // clang-format off
32 // clang-format on
33
34 FnTable_IVROverlay_013();
35
36 ForwardDeclareBase_IVROverlay(XRTVROverlay_017);
37
38 Forward_IVROverlay_FindOverlay_028();
39 Forward_IVROverlay_CreateOverlay_014();
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_GetOverlayImageData_028();
46 Forward_IVROverlay_GetOverlayErrorNameFromEnum_028();
47 Forward_IVROverlay_SetOverlayRenderingPid();
48 Forward_IVROverlay_GetOverlayRenderingPid();
49 Forward_IVROverlay_SetOverlayFlag_028();
50 Forward_IVROverlay_GetOverlayFlag_028();
51 Forward_IVROverlay_SetOverlayColor_028();
52 Forward_IVROverlay_GetOverlayColor_028();
53 Forward_IVROverlay_SetOverlayAlpha_028();
54 Forward_IVROverlay_GetOverlayAlpha_028();
55 Forward_IVROverlay_SetOverlayTexelAspect();
56 Forward_IVROverlay_GetOverlayTexelAspect();
57 Forward_IVROverlay_SetOverlaySortOrder();
58 Forward_IVROverlay_GetOverlaySortOrder();
59 Forward_IVROverlay_SetOverlayWidthInMeters_028();
60 Forward_IVROverlay_GetOverlayWidthInMeters_028();
61 Forward_IVROverlay_SetOverlayAutoCurveDistanceRangeInMeters_020();
62 Forward_IVROverlay_GetOverlayAutoCurveDistanceRangeInMeters_020();
63 Forward_IVROverlay_SetOverlayTextureColorSpace();
64 Forward_IVROverlay_GetOverlayTextureColorSpace();
65 Forward_IVROverlay_SetOverlayTextureBounds_028();
66 Forward_IVROverlay_GetOverlayTextureBounds_028();
67 Forward_IVROverlay_GetOverlayTransformType_028();
68 Forward_IVROverlay_SetOverlayTransformAbsolute_028();
69 Forward_IVROverlay_GetOverlayTransformAbsolute_028();
70 Forward_IVROverlay_SetOverlayTransformTrackedDeviceRelative_028();
71 Forward_IVROverlay_GetOverlayTransformTrackedDeviceRelative_028();
72 Forward_IVROverlay_SetOverlayTransformTrackedDeviceComponent();
73 Forward_IVROverlay_GetOverlayTransformTrackedDeviceComponent_017();
74 Forward_IVROverlay_ShowOverlay_028();
75 Forward_IVROverlay_HideOverlay_028();
76 Forward_IVROverlay_IsOverlayVisible();
77 Forward_IVROverlay_GetTransformForOverlayCoordinates();
78 Forward_IVROverlay_PollNextOverlayEvent_028();
79 Forward_IVROverlay_GetOverlayInputMethod_028();
80 Forward_IVROverlay_SetOverlayInputMethod_028();
81 Forward_IVROverlay_GetOverlayMouseScale_028();
82 Forward_IVROverlay_SetOverlayMouseScale_028();
83 Forward_IVROverlay_ComputeOverlayIntersection();
84 Forward_IVROverlay_HandleControllerOverlayInteractionAsMouse_017();
85 Forward_IVROverlay_IsHoverTargetOverlay();
86 Forward_IVROverlay_GetGamepadFocusOverlay();
87 Forward_IVROverlay_SetGamepadFocusOverlay_020();
88 Forward_IVROverlay_SetOverlayNeighbor_020();
89 Forward_IVROverlay_MoveGamepadFocusToNeighbor_020();
90 Forward_IVROverlay_SetOverlayTexture_028();
91 Forward_IVROverlay_ClearOverlayTexture_028();
92 Forward_IVROverlay_SetOverlayRaw_021();
93 Forward_IVROverlay_SetOverlayFromFile_028();
94
95 EVROverlayError
96 GetOverlayTexture(VROverlayHandle_t ulOverlayHandle,
97 void **pNativeTextureHandle,
98 void *pNativeTextureRef,
99 uint32_t *pWidth,
100 uint32_t *pHeight,
101 uint32_t *pNativeFormat,
102 EGraphicsAPIConvention *pAPI,
103 EColorSpace *pColorSpace) override
104 {
105 openvr_logger logger;
106 OPENVR_LOGGER_INIT(logger);
107
109 logger,
110 "GetOverlayTexture(ulOverlayHandle=%llu, pNativeTextureHandle=%p, pNativeTextureRef=%p, pWidth=%p, "
111 "pHeight=%p, pNativeFormat=%p, pAPI=%p, pColorSpace=%p) -> VROverlayError_None",
112 EVROverlayError::VROverlayError_None, static_cast<unsigned long long>(ulOverlayHandle),
113 static_cast<const void *>(pNativeTextureHandle), static_cast<const void *>(pNativeTextureRef),
114 static_cast<const void *>(pWidth), static_cast<const void *>(pHeight),
115 static_cast<const void *>(pNativeFormat), static_cast<const void *>(pAPI),
116 static_cast<const void *>(pColorSpace));
117 }
118
119 Forward_IVROverlay_ReleaseNativeOverlayHandle();
120 Forward_IVROverlay_GetOverlayTextureSize();
121 Forward_IVROverlay_CreateDashboardOverlay_028();
122 Forward_IVROverlay_IsDashboardVisible();
123 Forward_IVROverlay_IsActiveDashboardOverlay();
124 Forward_IVROverlay_SetDashboardOverlaySceneProcess_028();
125 Forward_IVROverlay_GetDashboardOverlaySceneProcess_028();
126 Forward_IVROverlay_ShowDashboard();
127 Forward_IVROverlay_GetPrimaryDashboardDevice();
128 Forward_IVROverlay_ShowKeyboard_022();
129 Forward_IVROverlay_ShowKeyboardForOverlay_022();
130 Forward_IVROverlay_GetKeyboardText();
131 Forward_IVROverlay_HideKeyboard();
132 Forward_IVROverlay_SetKeyboardTransformAbsolute();
133 Forward_IVROverlay_SetKeyboardPositionForOverlay();
134 Forward_IVROverlay_SetOverlayIntersectionMask();
135};
136
137}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVROverlay_028 interface version.
Implementation of the IVROverlay interface version 017.
Definition XRTVRClientCore.hpp:152
Definition XRTVROverlay_013.hpp:27
Definition XRTVROverlay_017.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