Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRControlPanel.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 latest IVRControlPanel_001 interface version.
6 *
7 * @author Beyley Cardellio <ep1cm1n10n123@gmail.com>
8 * @ingroup openvr_interfaces
9 */
10
11#pragma once
12
13#include "openvr_interfaces_unified.h"
14#include "openvr_forward_macros.h"
15
16#include "XRTVRClientCore.hpp"
17
18
19namespace xrt::state_trackers::openvr {
20
21using namespace vr;
22
23class XRTVRControlPanel_001 : public vr::IVRControlPanel_001
24{
25private:
27
28public:
30
31 virtual ~XRTVRControlPanel_001() = default;
32
33 void *
34 getFnTable()
35 {
36 // Unsupported.
37 return nullptr;
38 }
39
40 uint32_t
41 GetDriverCount() override;
42
43 uint32_t
44 GetDriverId(uint32_t unDriverIndex, char *pchBuffer, uint32_t unBufferLen) override;
45
46 uint32_t
47 GetDriverDisplayCount(const char *pchDriverId) override;
48
49 uint32_t
50 GetDriverDisplayId(const char *pchDriverId,
51 uint32_t unDisplayIndex,
52 char *pchBuffer,
53 uint32_t unBufferLen) override;
54
55 uint32_t
56 GetDriverDisplayModelNumber(const char *pchDriverId,
57 const char *pchDisplayId,
58 char *pchBuffer,
59 uint32_t unBufferLen) override;
60
61 uint32_t
62 GetDriverDisplaySerialNumber(const char *pchDriverId,
63 const char *pchDisplayId,
64 char *pchBuffer,
65 uint32_t unBufferLen) override;
66
67 class IVRSystem *
68 GetCurrentDisplayInterface(const char *pchHmdInterfaceVersion) override;
69
70 uint32_t
71 LoadSharedResource(const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen) override;
72
73 float
74 GetIPD() override;
75
76 void
77 SetIPD(float fIPD) override;
78
79 class vr::IVRCompositor *
80 GetCurrentCompositorInterface(const char *pchInterfaceVersion) override;
81
82 bool
83 QuitProcess(uint32_t pidProcessToQuit) override;
84
85 uint32_t
86 StartVRProcess(const char *pchExecutable,
87 const char **pchArguments,
88 uint32_t unArgumentCount,
89 const char *pchWorkingDirectory) override;
90
91 void
92 SetMasterProcessToThis() override;
93
94 void
95 StartAutolaunchOverlays() override;
96
97 bool
98 ForceQuitProcess(uint32_t pidProcessToQuit) override;
99
100 void
101 AbortTransition() override;
102};
103
104} // namespace xrt::state_trackers::openvr
Implementation of the latest IVRClientCore interface version.
Definition XRTVRClientCore.hpp:152
Definition XRTVRControlPanel.hpp:24
Definitions missing from C++ header, present in C.
Definition blockqueue.hpp:15